আমি সম্প্রতি মজাদার জন্য এফ # শিখছি (আমি একজন ভিবি.এনইটি / সি# দেব), এবং এটির যা অফার রয়েছে তা আমি সত্যিই পছন্দ করি। তাত্ত্বিকভাবে তা। তবে পরিস্থিতিগুলি ভাবতে আমার সমস্যা হচ্ছে যেখানে আমি সি # এর পরিবর্তে এফ # তে কোড বেছে নেব। কোন ধারনা?
আমি সম্প্রতি মজাদার জন্য এফ # শিখছি (আমি একজন ভিবি.এনইটি / সি# দেব), এবং এটির যা অফার রয়েছে তা আমি সত্যিই পছন্দ করি। তাত্ত্বিকভাবে তা। তবে পরিস্থিতিগুলি ভাবতে আমার সমস্যা হচ্ছে যেখানে আমি সি # এর পরিবর্তে এফ # তে কোড বেছে নেব। কোন ধারনা?
উত্তর:
খাঁটি ফাংশনাল প্রোগ্রামিংয়ের জন্য কয়েকটি যুক্তি:
সম্পূর্ণ চিকিত্সার জন্য, কেন ফাংশনাল প্রোগ্রামিং ম্যাটার এবং কেন ফাংশনাল প্রোগ্রামিং ম্যাটার ম্যাটার ।
আমি সি # এর পরিবর্তে এফ # তে কোড বেছে নেব এমন পরিস্থিতিগুলি ভাবতে আমার সমস্যা হচ্ছে। কোন ধারনা?
থেকে এখানে :
অ্যাসিঙ্ক্রোনাস সার্ভার
ধাতব প্রোগ্রামিং (যেমন পার্সিং)
প্রযুক্তিগত কম্পিউটিং
জিইউআই অ্যাপ্লিকেশন
লজিক প্রোগ্রামিং
পরীক্ষামূলক
কর্মক্ষমতা
inline
ব্যয়-মুক্ত উচ্চ-অর্ডার বিমূর্তনের জন্য।আরও কম বা কম দৈনিক ভিত্তিতে - এর জন্য কার্যকরী শৈলীর প্রোগ্রামিং কী ব্যবহার করে তা এখানে।
আমরা মোটামুটি বড় ডেটাসেটের সাথে প্রচুর পরিসংখ্যান এবং বাস্তবের কাজ করি। ডাটাবেস থেকে প্রাপ্ত তথ্য হ'ল - স্থিতিশীল, অপরিবর্তনীয় বস্তু। পদ্ধতিগুলি সহ কোনও শ্রেণি তৈরি করার কোনও কারণ নেই।
গণনার প্রতিটি পর্যায় কিছু অতিরিক্ত বিশদ যুক্ত করে তবে মূলত অবজেক্টটিকে রূপান্তরিত করে না। পাইপলাইনটির "শেষ" এ আমরা অঙ্কগুলি এবং গুনগুলি এবং অন্যান্য বিষয়গুলি গণনা করার জন্য সত্যই অভিনব কাজটি করি।
এটি কল্পনা করুন.
for data in summarize( enrich( calculate( some_query( criteria() ) ) ) ):
print data
গণনার প্রতিটি "ফেজ" হ'ল একটি কার্যকরী প্রোগ্রামিং লুপ যা সাধারণ পঠন-গণনা-ফলন করে এবং অন্যান্য জিনিস এবং ফলাফলের সংমিশ্রণ বস্তু তৈরি করে।
(আমরা পাইথন ব্যবহার করি, তাই জেনারেটর ফাংশনগুলি ব্যবহার করে ক্রিয়ামূলক প্রোগ্রামিং।
রাজ্যহীন, অপরিবর্তনীয় বস্তু ব্যবহার করা সহজ।
criteria() |> some_query |> calculate |> enrich |> summarize
আমি ফরোয়ার্ড পাইপ অপারেটরটি পরিষ্কার কোডে যেতে পারে তবে আমি ডিগ্রি করি।
map
একই প্রভাব পেতে রচনা ।
প্রযুক্তিগতভাবে, এটি কোনও কার্যকরী প্রোগ্রামিংয়ের অনন্য সম্পত্তি নয় এবং F # একটি খাঁটি কার্যকরী ভাষা নয়। এফ #, এমএল বংশধরদের মধ্যে অন্যতম, একটি দুর্দান্ত প্যাটার্ন মেলানো এবং বীজগণিত সম্পর্কিত ডেটা সরবরাহ করে। সুতরাং, যে কোনও কাজের জন্য জটিল ডেটা স্ট্রাকচার দরকার F # সি # এর চেয়ে অনেক বেশি ভাবপূর্ণ এবং সহজেই ব্যবহারযোগ্য।
সি # এবং এফ # তে একটি সংকলক বাস্তবায়নের কল্পনা করুন - একটি বিমূর্ত সিনট্যাক্স ট্রি উপস্থাপন করে এবং এর উপর রূপান্তর করা যদি আপনার ভাষা এডিটি এবং একটি প্যাটার্ন ম্যাচ সরবরাহ করে তবে এটি আরও সহজ।
আপনি যদি হাস্কেলকে পুরোপুরি কার্যকর করতে চান তবে এরলং এর সম্পর্কে খুব দুর্দান্ত জিনিসও রয়েছে।
সাইমন পেটন-জোনস হাস্কেল সম্পর্কে বলেছেন, তিনি এমন একটি প্রোগ্রাম রাখতে চান যাতে স্পষ্টত কোনও বাগ নেই, বরং কোনও বাগ থাকে না।
(আমি সম্ভবত উদ্ধৃতিটি কিছুটা বন্ধ পেয়েছি, তবে আপনি ধারণাটি পাবেন)
পার্শ্ব প্রতিক্রিয়াগুলিকে সীমাবদ্ধ করে আপনি আপনার কোডটি সঠিক প্রমাণ করতে আরও সহজ করে তুলছেন।
একটি নির্দিষ্ট সুবিধা এটি অনেক সহজেই সমান্তরাল হয় easily
F#
ক্রিয়ামূলক প্রোগ্রামিংয়ের সম্পূর্ণ প্রতিনিধি নয়।Clojure
পরিবর্তে চেষ্টা করুন।