ফাংশনাল প্রোগ্রামিংয়ের পরিচিতির জন্য স্কিম বনাম হাস্কেল?


36

আমি সি এবং সি # তে প্রোগ্রামিংয়ে স্বাচ্ছন্দ্য বোধ করি এবং ভবিষ্যতে সি ++ অন্বেষণ করব। আমি ভিন্ন প্রোগ্রামিং দৃষ্টান্ত হিসাবে ফাংশনাল প্রোগ্রামিং অন্বেষণে আগ্রহী হতে পারি। আমি এটি মজা করার জন্য করছি, আমার কাজটি কম্পিউটার প্রোগ্রামিংয়ের সাথে জড়িত নয় এবং কিছুটা কার্যকরী প্রোগ্রামিংয়ের মাধ্যমে অনুপ্রাণিত হয়েছে, কলেজের কম্পিউটার সায়েন্স কোর্সে মোটামুটি শিখিয়ে দেওয়া হয়। ল্যাম্বদা ক্যালকুলাস অবশ্যই আমার গাণিতিক দক্ষতার বাইরে, তবে আমি মনে করি যে আমি কার্যকরী প্রোগ্রামিং পরিচালনা করতে পারি।

হাস্কেল বা স্কিমগুলির মধ্যে কোনটি কার্যকরী প্রোগ্রামিংয়ের জন্য ভাল ভূমিকা হিসাবে কাজ করবে? আমি আমার পাঠ্য সম্পাদক হিসাবে ইম্যাক্স ব্যবহার করি এবং ভবিষ্যতে এটি আরও সহজেই কনফিগার করতে সক্ষম হতে চাই যা ইমাস লিস্প শিখতে বাধ্য। আমার বোধগম্যতাটি হ'ল, যে ইমাস লিস্প স্কিম থেকে মোটামুটি আলাদা এবং কার্যক্ষমতার বিপরীতে আরও প্রক্রিয়াগত।

আমি সম্ভবত "দ্য লিটল স্কিমার" বইটি ব্যবহার করব, যা আমি ইতিমধ্যে কিনেছি, যদি আমি স্কিমটি অনুসরণ করি (এর মাধ্যমে আমার সীমিত পাতাগুলি থেকে আমাকে কিছুটা অদ্ভুত মনে হয়)। বা যদি আমি হাস্কেলকে অনুসরণ করি তবে "গ্রেট ইউ অ্যা হাস্কেল ফর গ্রেট গুড" ব্যবহার করুন। আমি চ্যানেল 9 এ ডাঃ এরিক মাইজারের ইন্ট্রো টু হাস্কেল ভিডিওগুলিও দেখতে চাই।

কোনও পরামর্শ, প্রতিক্রিয়া বা ইনপুট প্রশংসিত।

ধন্যবাদ।

পিএস বিটিডাব্লুতে আমার কাছে ভিজুয়াল স্টুডিও ২০১০ সাল থেকে আমি এফ # তে অ্যাক্সেসও পেয়েছি যা আমি সি # বিকাশের জন্য ব্যবহার করি, তবে আমি মনে করি না যে এটি ভাষা নির্বাচনের ক্ষেত্রে আমার প্রধান মানদণ্ড হওয়া উচিত।


3
ভুলবেন নাReal World Haskell
বিকল্প

15
ছোট দিকের মন্তব্য: ল্যাম্বডা ক্যালকুলাস একটি অসাধারণ সহজ সিস্টেম; এটি সম্পর্কে শীতল জিনিস এটি জটিল নয়, তবে বিপরীত; আপনি যেমন চান তেমন একটি সাধারণ সিস্টেমে যা যা চান তা প্রকাশ করতে পারেন। একটি প্রোগ্রামিং ভাষা দিয়ে শুরু করুন; এখন বর্জন সবকিছু পরিবর্তনশীল রেফারেন্স, ফাংশন সংজ্ঞা, এবং ফাংশন কল ব্যতীত। ভাল খবর! ল্যাম্বদা ক্যালকুলাস।


9
আমি আপনাকে পাঁচ মিনিটের মধ্যে ল্যাম্বদা ক্যালকুলাস শিখিয়ে দিতে পারি। এখন, আপনি যা শিখলেন তার পরিণতি বুঝতে আজীবন সময় লাগে। :)

5
আমি হাস্কেল ওভার স্কিমটি মূলত এটি বেছে নিয়েছি কারণ এতে এতগুলি ডার্নড প্রথম বন্ধনী নেই!
জোয়ে অ্যাডামস

উত্তর:


27

আমি OCaml সুপারিশ করব।

আমার ব্যক্তিগত দৃষ্টিতে আধুনিক ¹ ক্রিয়ামূলক প্রোগ্রামিংয়ের মূল ভিত্তি হ'ল অর্ডার ফাংশন, একটি স্ট্যাটিক টাইপ সিস্টেম এবং বীজগণিত ডেটাটাইপ এবং প্যাটার্ন মিল matching

একটি স্কিম, একটি এমএল এবং একটি হাস্কেলের মধ্যে, আমি এমএলটি বেছে নেব কারণ আমি মনে করি এটি এই সংজ্ঞাটির সাথে সবচেয়ে প্রাসঙ্গিক। স্কিমের স্ট্যাটিক টাইপিং নেই (টাইপড র‌্যাকেট রয়েছে, তবে এটি স্কিম শুরুর জন্য নয়), এবং হাস্কেলের কাছে আরও অনেক জিনিস রয়েছে (মনডস, অলস মূল্যায়ন ...) যা আকর্ষণীয় হলেও গুরুত্বপূর্ণ ভিত্তি থেকে মনোযোগ সরিয়ে ফেলতে পারে ।

এসএমএল এবং ওক্যামেল সমান আকর্ষণীয়; আমি ওসিএএমএল এর সাথে বেশি অভ্যস্ত, এবং এটির আরও একটি "ব্যবহারিক" অনুভূতি রয়েছে যা দুর্দান্ত (তবে আপনি যদি নিজের প্রাণ হারানোর ঝুঁকিতে সত্যই "ব্যবহারিক" চান তবে আপনি এফ # বাছাই করতে পারেন)।

স্কিম এবং হাস্কেলও খুব আকর্ষণীয় ভাষা। ম্যাক্রোগুলির উপর স্কীমের জোর আকর্ষণীয়, তবে সরাসরি কার্যকরী প্রোগ্রামিংয়ের সাথে সম্পর্কিত নয় (এটি বিশ্বের আরও কিছু জিনিস যা আপনার অবশ্যই চেষ্টা করা উচিত, পাশাপাশি লজিক প্রোগ্রামিং, স্ট্যাক-ভিত্তিক ভাষা এবং দক্ষতা-ভিত্তিক ই)।

হাস্কেল অবশ্যই একটি দুর্দান্ত ভাষা এবং আমি মনে করি, কার্যকরী প্রোগ্রামিংয়ের উচ্চাভিলাষী গুরুদের জন্য একটি বাধ্যতামূলক বিষয় point তবে ওসিএএমএল এবং হাস্কেলের মূল ভাষাগুলি যেমন খুব একই রকম হয় (অলস মূল্যায়ন বাদে যে শিক্ষানবিশদের জন্য বিভ্রান্ত করছে) তাই ওস ক্যামেলের প্রাথমিক কথাগুলি জানতে পারলে হাস্কেল শিখতে সহজ। বা বরং, আপনি অদ্ভুত স্টাফ উপর মনোনিবেশ করতে পারেন, এবং আপনাকে একই সময়ে বেসিকগুলি একীকরণ করতে হবে না।

একইভাবে, একবার আপনি ওসিএএমএল এবং সম্ভবত হাস্কেলও দেখেছেন এবং এখনও আরও শিখতে চান, আপনার কক বা আগদার দিকে নজর দেওয়া উচিত। তবুও কয়েকজন ফাংশনাল প্রোগ্রামিংয়ের প্রথম পরিচিতির জন্য কক বা আগদার সুপারিশ করবেন ...

আমার বক্তব্য পরিষ্কার করার জন্য: আমি মনে করি যে ওসিএএমএল (বা এসএমএল) শেখার পরে হাস্কেল আপনাকে সরাসরি হ্যাস্কেল শেখার মতো কার্যকরী প্রোগ্রামার হিসাবে গড়ে তুলবে, তবে আরও সহজে (বা কম বেদনাদায়ক)।
এছাড়াও ওসি ক্যামেল এবং হাস্কেল দুজনেরই আলাদা আলাদা জিনিস রয়েছে এবং এটি উভয়ের উন্নত বৈশিষ্ট্যগুলি সম্পর্কে জানতে আগ্রহী । হাস্কেলকে কেবল শিখাই সেই দিক থেকে দরিদ্র (যদিও আপনি হাসকলের পরে ওসিএএমএল শিখতে পারেন; আমি মনে করি এটি কম যুক্তিসঙ্গত এবং আপনাকে আরও হতাশ করে তুলবে)।

ওসিএএমএল শেখার জন্য আমি জেসন হিকির বইয়ের খসড়া (পিডিএফ) সুপারিশ করব

Definition এই সংজ্ঞাটি বিতর্কিত। কিছু স্কিম লোকেরা দাবি করবে যে স্ট্যাটিক টাইপিংয়ের সাথে ফাংশনাল প্রোগ্রামিংয়ের কোনও সম্পর্ক নেই। কিছু হাস্কেল লোকেরা দাবী করবেন যে তাদের শুদ্ধতার সংজ্ঞা ("হাস্কেল যা করেন, তবে আর কিছুই করেন না") একটি কার্যকরী ভাষা হওয়ার জন্য একটি শর্তহীন শর্ত। আমি দ্বিমত পোষণ করতে রাজি।


3
আমাকে ওক্যামেলের দিকে ঠেলে দেওয়ার জন্য ধন্যবাদ, এবং হ্যাঁ আমি আমার আত্মাকে ঝুঁকিপূর্ণ করব এবং এফ # এক্সপ্লোর করব। আমি লিনাক্স, ম্যাক ওএস এক্স এবং উইন্ডোজ (মূলত পূর্ববর্তী) এর জন্য বিকাশ করি তবে এফএসআই আমি তিনটি প্ল্যাটফর্ম (লিনাক্স এবং ম্যাক ওএস এক্সে মনো চলমান) এর জন্য উপলব্ধ বলে মনে করি যা আমি ইতিমধ্যে করেছি। মাইক্রোসফ্টের সম্পূর্ণ ওজন একটি কার্যকরী প্রোগ্রামিং ভাষার পিছনে রয়েছে ("অপরিষ্কার" এক হলেও), কার্যকরী প্রোগ্রামিংয়ের অনুরাগীদের ডিক্রিয়ার পরিবর্তে স্বাগত জানানো উচিত।
হাজিজ

এসএমএল মারা গেছে,
9:30 এ

1
এমএল জন্য +1; এটি হাস্কেলের চেয়ে আরও স্পষ্ট।
m3th0dman

এসএমএল বা ওসিএএমএল, তারপরে হাস্কেল (+1) শিখতেও আমি এটি একটি ভাল ধারণা পেয়েছি। এই ভাষাগুলি জানার পরে, অন্য একটি বাছাই করা (উদাহরণস্বরূপ স্কালা) খুব সহজ। গতিশীল ভাষাগুলির অনুভূতি পেতে অতিরিক্তভাবে স্কিম, কমন লিস্প এবং ক্লোজার (এই ক্রমে) সন্ধান করতে পারে।
জর্জিও

@ হাজিজ: এমনকি তারা যখন ভাল সফ্টওয়্যার তৈরি করে, মাইক্রোসফ্ট (বা, এই বিষয়টির জন্য, ওরাকল ইত্যাদি) একচেটিয়াবাদী হিসাবে রয়ে গেছে, এতে গ্রাহক লক-ইন, বেমানান ফর্ম্যাটগুলি, বেমানান বাস্তবায়ন ইত্যাদির মতো সমস্ত খারাপ অভ্যাস রয়েছে
জর্জিও

26

যদি আপনি কার্যক্ষম প্রোগ্রামিংয়ে আরও উন্নত ধারণাগুলিতে আগ্রহী হন, তবে হাস্কেলের সাথে যান। একটি যথাযথ টাইপ সিস্টেম এবং মিউটেশন বিরুদ্ধে কঠোর নিষেধাজ্ঞা আছে। তবুও, হাস্কেল হতাশ-হৃদয়ের পক্ষে নয়।

আপনি যদি কেবল কার্যকরী নকশার পরিচিতি চান তবে স্কিমের সাথে যান। বাক্য গঠন শিখতে এবং পড়তে অনেক সহজ। এটি পদ্ধতিগত প্রোগ্রামিংকে মঞ্জুরি দেয় তবে কেবলমাত্র !নামের শেষে কোনও পদ্ধতি ব্যবহার না করার জন্য নিজেকে শৃঙ্খলাবদ্ধ করে।

স্কিমের সাহায্যে আপনি কম্পিউটার প্রোগ্রামগুলির স্ট্রাকচার এবং ব্যাখ্যার বিবরণও পড়তে পারেন যা প্রোগ্রামিং প্যারাডাইমগুলির সর্বোত্তম ভূমিকা হ'ল। বইটিতে এমআইটি এবং বার্কলে উভয়ের বক্তৃতা রয়েছে ।


4
"বাক্য গঠনটি শিখতে এবং পড়তে অনেক সহজ" খুব বিষয়গত।

6
@ লুকি: সত্য। সম্ভবত 'নিয়মিত' আরও ভাল শব্দ। কোনও ব্যাকটিকস, ইনফিক্সস, অগ্রাধিকার, বা সাহচর্য বিষয়গুলি নেই --- কেবল প্রথম বন্ধনী, প্রচুর নরক, মূর্খ বন্ধনী।
হোয়া লং ট্যাম

17

সঠিক উত্তরটি অবশ্যই, উভয়ই! সুতরাং কোন ভাষাটি প্রথমে মোকাবেলা করা উচিত তা কেবল একটি প্রশ্ন। আমার অবস্থা আপনার মত। আমি সত্যিই লিটল স্কিমারকে প্রচুর উপভোগ করেছি। এটির পরে আপনি কার্যকরী প্রোগ্রামিংয়ের প্রাথমিক গঠনগুলি অবশ্যই বুঝতে পারবেন (এবং আপনার জেলি দাগ দেওয়ার মতো জায়গা রয়েছে!)

লার্ন ইউ এ হ্যাস্কেল ফর গ্রেট সাইডের প্রায় এক চতুর্থাংশ আমি। আমি এটি বেশ খানিকটা উপভোগ করছি তবে বই দুটি আলাদা হতে পারে না। আপনি শিখুন একটি হাস্কেলের একটি নির্দিষ্ট ভাষা শেখানোর জন্য একটি প্রচলিত পদ্ধতি রয়েছে। লিটল স্কিমার স্পষ্টতই স্কিমের সাথে সুনির্দিষ্ট, তবে স্কিমের ভাষা নয়, ফাংশনাল প্রোগ্রামিংয়ের মূল বিষয়গুলি শেখানোর সাথে আরও বেশি উদ্বিগ্ন।

আমি অবশ্যই লিটল স্কিমার দিয়ে শুরু করার পরামর্শ দিচ্ছি। এটি কম ব্যবহারিক, তবে আরও মৌলিক।


17

ফাংশনাল প্রোগ্রামিংয়ের প্রতি আমার দুটি সেন্ট হ'ল কোনও নির্দিষ্ট ভাষার উপর ঝাঁপিয়ে পড়ার কথা নয়, তবে ফাংশনাল প্রোগ্রামিংয়ের মূল ধারণাগুলি শিখতে হবে। আমি একটি প্রকল্পে হেডফার্স্ট টস করে ফাংশনাল প্রোগ্রামিং শিখলাম, যেখানে আমার বস জোর দিয়েছিলেন যে সমস্ত উন্নয়ন এপিএলে করা হবে। এপিএল হ'ল একটি কার্যকরী অ্যারে প্রক্রিয়াকরণ ভাষা এবং এলআইএসপি, হাস্কেল, বা অন্য যে কোনও মূলধারার প্রোগ্রামিং ল্যাঙ্গুয়েজ থেকে আপনারা যতটা দূরে থাকেন। আসল বেতনটি যখন আমি জানতে পেরেছিলাম যে একবার আমি ফাংশনাল প্রোগ্রামিং দৃষ্টান্তটি "ছাঁটাই" করেছিলাম এবং মানসিকভাবে কীভাবে কোনও কার্যকরী প্রোগ্রামে কোনও সমস্যা স্বয়ংক্রিয়ভাবে জড়িত করতে শিখেছি, তখন আমি হাস্কেলের মতো অন্যান্য কার্যকরী ভাষার মুশকিল দিকগুলিতে আর ভয় পাইনি was ওসিএএমএল, স্কিম, স্কেলা এবং ক্লোজার আমি '

যদি আমি প্রথম কার্যকরী ভাষা চয়ন করি তবে আমি সম্ভবত হাস্কেল বা ইস্পাত ব্যাংক কমন লিস্প (এসবিসিএল) বেছে নেব। হাস্কেলের জন্য, আমি শিখি আপনি একটি হাস্কেল ... , রিয়েল ওয়ার্ল্ড হাস্কেল , হাস্কেল রোড টু লজিক, ম্যাথস অ্যান্ড প্রোগ্রামিং এবং ফাংশনাল অ্যালগরিদম ডিজাইনের মুক্তা পড়তেন । সিএল-এর জন্য আমি ল্যান্ড অফ লিসপ , কৃত্রিম বুদ্ধিমত্তা প্রোগ্রামিংয়ের প্যারাডিজম এবং (যদি আপনি সত্যিই খুব কঠিন হন) ল্যাম্বডায় পড়ুন । ব্যবহারিক ক্রিয়ামূলক প্রোগ্রামিং পদ্ধতির এবং ধারণাগুলির একটি বিস্তৃত ওভারভিউ পেতে আপনি এই সমস্ত বইগুলিকে মিশ্রিত করতে এবং মেলাতে পারেন।

আমি ক্লোজার এবং স্কেলা শেখার বিষয়টিও বিবেচনা করব, কারণ এগুলি উভয়ই তাদের নিজস্বভাবে খুব ভাল এবং খুব ভাবপূর্ণ কার্যকর ভাষাগুলি রয়েছে (এফপি পিউরিস্ট যা বলতে পারে তা সত্ত্বেও)।


6

আমি "উভয় শিখুন" পয়েন্টের সাথে একমত, তবে আরও কয়েকটি পয়েন্ট রয়েছে যা এখনও অবধি উল্লেখ করা হয়নি। প্রথমত, যদি আপনি কার্যনির্বাহী প্রোগ্রামিংয়ে নতুন হন এবং আপনি হাসকলের সাথে যান তবে আপনাকে এফপি ছাড়াও বেশ কয়েকটি নতুন জিনিসের মুখোমুখি হতে হবে: একটি অলস পরিবেশে কীভাবে বাঁচতে হবে যা আপনাকে যথেষ্ট প্রচেষ্টা নিতে পারে, এবং আপনার প্রয়োজন "রিয়েল" টাইপ সিস্টেমের সাথে ডিল করতে যা আপনি সি বা সি # তে যা ব্যবহার করেন তার থেকে অনেক দূরে হতে পারে।

স্কিমে, ওটিওএইচ-তে একটি বিদেশী চেহারা সিনট্যাক্স রয়েছে, তবে শিখার জন্য কোনও স্থির ধরণের সিস্টেম নেই এবং এটি একটি কঠোর ভাষা যাতে জিনিসগুলি আরও পরিচিত হয় are তদতিরিক্ত, স্কিম বাস্তবায়নগুলি খুব মারাত্মক হতে থাকে - উদাহরণস্বরূপ, র্যাকেট এটিকে চূড়ান্তভাবে নিয়ে যায় এবং একটি অলস রূপ এবং একটি স্ট্যাটিকভাবে টাইপযুক্ত সরবরাহ করে। এর অর্থ হ'ল আপনি "সহজ" স্টাফ দিয়ে শুরু করতে পারেন এবং একটি কার্যকরী ভাষা ব্যবহারের হ্যাং পেতে পারেন এবং পরে আপনি নিজের বিকাশ করতে পারেন এবং টাইপিত রূপটি এবং আলস্য ব্যবহার করতে পারেন। এগুলি এখন আরও সহজ হওয়া উচিত, যেহেতু আপনি একবারে একটি বৈশিষ্ট্য নিয়ে কাজ করতে পারেন। পরিষ্কার হতে, ধারণাসিনট্যাকটিক সমস্যাটি ছোটখাটো এবং বেশিরভাগ অপ্রাসঙ্গিক হতে চলেছে এমন যথেষ্ট নতুন হতে চলেছে। অন্য কথায়, একবার আপনি নতুন ধারণাগুলি পেতে শুরু করলে, আপনি যথেষ্ট ব্যস্ত থাকবেন যে বাক্য গঠনটি কেবল অদৃশ্য হয়ে যাবে। (এবং যদি আপনি সত্যিই সিনট্যাক্স সম্পর্কে চিন্তা করেন তবে হাস্কেলের সিনট্যাক্স এমন একটি বিষয় যা আমি ব্যক্তিগতভাবে খুব মার্জিত হিসাবে বিবেচনা করি - তবে এটি কারণ আপনার গড় সি / সি # / সি ++ বাক্য গঠন থেকেও অনেক দূরে))

তবে এই সমস্ত কথা বলার পরেও, আমি মনে করি যে এফ # এর জন্য একটি ভাল পয়েন্টও রয়েছে - আপনি বলছেন যে আপনি এটি একটি পার্শ্ব জিনিস হিসাবে করেন তবে আপনি যখন এফপি শিখেন আপনি শীঘ্রই সেই সমস্ত ভাল জিনিস ব্যবহার করতে চাইবেন। এফ # ব্যবহারের অর্থ হ'ল আপনি আরও "প্রকৃত" জিনিসগুলি করতে পারেন যেহেতু আপনি নিজের দিনের কাজের ক্ষেত্রে একই ধরণের সমস্যা মোকাবেলা করা সহজ easy আদর্শভাবে, আপনি এমন একটি পয়েন্টে পৌঁছে যাবেন যেখানে আপনি এই ওভারটি ব্যবহার করার সুবিধাটি দেখতে পাবেন, বলুন, সি # - এবং এটি কোনও প্রকল্পে ব্যবহার করুন। সুতরাং আপনি কেবল F # নির্বাচন না করার ক্ষেত্রে সঠিক কারণ কেবল অ্যাক্সেস করা আপনার পক্ষে সহজ, আপনি ব্যবহার করা উচিত কারণ যেহেতু আসলে ব্যবহারের চেয়ে ভাল আর কিছুই নেইএই নতুন ধারণা। বিপরীতে, আপনি যদি স্কিম বা হাস্কেল ব্যবহার করেন এবং এটিকে আপনার উদ্দেশ্যে একটি খেলনা ভাষা হিসাবে বিবেচনা করেন (এমনকি যদি আপনি জানেন যে কিছু লোক এটি সত্যিকারের অ্যাপ্লিকেশনগুলির জন্য ব্যবহার করে) তবে আপনি কখনই পুরো এফপিটিকে খুব বেশি গুরুত্ব সহকারে নেবেন না। [তবে ওয়াইএমএমভি, এটি বেশিরভাগ বিষয়ভিত্তিক পর্যবেক্ষণের উপর ভিত্তি করে এবং এক ব্যক্তি থেকে অন্য ব্যক্তির কাছে অনেকগুলি পরিবর্তিত হতে পারে]]


6

এমএল আপনার বিকল্পগুলির মধ্যে একটি না হওয়ার কোনও কারণ আছে কি? বই এবং কোর্স হ্যান্ডআউট সহ মোটামুটি প্রচলনমূলক উপাদান উপলব্ধ। আপনি যদি লিটল স্কিমার পছন্দ করেন তবে আপনি সম্ভবত লিটল এমএলও উপভোগ করতে পারেন। অবশেষে, আপনি সহজেই পরে এফ # তে রূপান্তরটি করতে পারেন। (এমন নয় যে আমি হাস্কেল বা স্কিম ঠক দিচ্ছি - তিনটিই আদর্শভাবে শিখুন)।

এছাড়াও, ইমাস লিস্প সম্পর্কে সতর্কতার একটি শব্দ। আমি মনে করি না যে হাস্কেল বা এমএল এটির জন্য আপনাকে প্রস্তুত করবে। স্কিমের মতো একটি লিস্পি ভাষা সহায়তা করবে তবে এখনও প্রধান পার্থক্য রয়েছে যেমন। গতিশীল স্কোপযুক্ত ভেরিয়েবলগুলি। ইমাকস এক্সটেনশনগুলি তাদের প্রকৃতি অনুসারে ক্রিয়ামূলক চেয়ে বেশি জরুরী হতে থাকে - এগুলি সবই সম্পাদকের অবস্থার পরিবর্তন করার বিষয়ে।


আমাকে এমএল / ওক্যামেলের দিকে ঠেলে দেওয়ার জন্য ধন্যবাদ, এবং হ্যাঁ আমি "আমার প্রাণকে ঝুঁকিপূর্ণ" করব এবং এফ # এক্সপ্লোর করব। আমি লিনাক্স, ম্যাক ওএস এক্স এবং উইন্ডোজ (মূলত পূর্ববর্তী) এর জন্য বিকাশ করি তবে এফএসআই আমি তিনটি প্ল্যাটফর্ম (লিনাক্স এবং ম্যাক ওএস এক্সে মনো চলমান) এর জন্য উপলব্ধ বলে মনে করি যা আমি ইতিমধ্যে করেছি। মাইক্রোসফ্টের সম্পূর্ণ ওজন একটি কার্যকরী প্রোগ্রামিং ভাষার পিছনে রয়েছে ("অপরিষ্কার" এক হলেও), কার্যকরী প্রোগ্রামিংয়ের অনুরাগীদের ডিক্রিয়ার পরিবর্তে স্বাগত জানানো উচিত।
হাজিজ

বিটিডাব্লু আমি অ্যামাজন থেকে লিটল এমলারের অর্ডার দিয়েছি এবং ইতিমধ্যে এটি পেয়েছি এবং আমার যাত্রা শুরু করেছি। আমি আমার লাইব্রেরিতে সবেমাত্র লার্নিং এফ # যুক্ত করেছি। আরও মূলধারার শিক্ষাদান গাইড বলে মনে হচ্ছে, যা আমি লিটল এমএলারের সাথে পরিপূরক হিসাবে ব্যবহার করব।
হিজিজ

6

নিজেকে 48 ঘন্টা ( স্ক্রিনে ) একটি স্কিম লিখুন

আমি সত্যিই এটি সুপারিশ। আপনি আসল এবং আকর্ষণীয় সমস্যাটি ব্যবহার করে হাসেলকে শিখতে পারবেন এবং আপনার তৈরি দোভাষী দিয়ে খেলা থেকে আপনি স্কিমের সেরা পাঠ শিখবেন। আপনি যদি এই রুটে যান তবে চারপাশে কয়েকটি ভাল হাস্কেল পরিচয় রাখুন। আপনার যদি সমস্যা সমাধানের সমস্যা হয় তবে আপনি সেগুলি আরও ভাল করে বুঝতে পারবেন।


আমি আসলে এই উইকি / পিডিএফটি হাস্কেল শিখতে এবং আমার ওসিএএমএল দক্ষতা (ব্র্যাশিয়াল হাস্কেলকে ওসিএএমএলে অনুবাদ করে) ব্যবহার করতে ব্যবহার করেছি। যদি কেউ এই উপাদানটি গ্রহণ করতে এবং বেশ কয়েকটি কার্যকরী ভাষার জন্য "কাঁটাচামচ" করতে পারে তবে এটি দুর্দান্ত। একটি দুর্দান্ত শীতল কার্যকরী ভাষা শুটআউট জন্য ভিত্তি হতে পারে!
মার্ক

1
এর সাথে প্রধান সমস্যাটি হ'ল এটি সোনাদির পরিচয় না দিয়ে পার্সেকের পরিচয় দেয়।
বিকল্প

@ অল্টারনেটিভ পার্সেকের একটি মোনাডিক ইন্টারফেস রয়েছে, তবে এটিতে একটি প্রয়োগমূলক ইন্টারফেসও রয়েছে, অন্য অসংখ্য কার্যকারিতা উল্লেখ না করে। মোনাডিক জেনারালাইজেশনের আগে পার্সেকের পরিচয় করানো এতটা অযৌক্তিক নয়
ফিলিপ জেএফ

4

আমি হাস্কেলের সাথে যেতাম। পরিকল্পনায় আপনাকে প্রক্রিয়াজাতীয় জিনিসগুলি করতে চাপ দেওয়া যেতে পারে এবং এর ধরণের সিস্টেমটি হ্যাস্কেলের মতো কার্যকরী নয়, এটি একটি শিক্ষানবিশের পক্ষে দুর্দান্ত কারণ এটি আপনার কোডটি সংকলন করার সময় সঠিকভাবে পরীক্ষা করে দেখেছে।


3
"আপনার কোডটি সঠিক কিনা তা বেশ চেক করে" খুব ভুল। কোনও টাইপ সিস্টেম এটি করতে পারে না। (যদি না আপনার টাইপ সিস্টেমটি একটি সত্য উপপাদ্য প্রবাদ না হয়))
এলি বারজিলে

4
এলি, আপনি কি হাস্কেল ব্যবহার করেছেন? যদিও তাত্ত্বিকভাবে এই বক্তব্যটি স্পষ্টতই মিথ্যা, বাস্তবে আমি এটি যথাযথ বলে মনে করি, কমপক্ষে আমি যে অন্য ভাষার ব্যবহার করেছি তার তুলনায়। এটি বলেছিল যে, আমি আসলেই একমত নই যে এটি কোনও শিক্ষানবিশের জন্য ভাল সম্পত্তি। আমি যখন দড়িগুলি শিখছি তখন আমি বিশেষত আমার কোডটি কী ভুল করেছে তা স্পষ্টভাবে দেখতে চাইছি, তার চেয়ে আমার সংকলকটি চিৎকার করে বলেছিল যে এটি ভুল হয়েছে এবং যখন আমি শব্দভান্ডারটি ত্রুটি বার্তাগুলি ব্যবহার করে না জানি তখন এটির সাথে লড়াই করতে হবে।

1
@ এলি "বেশ অনেকগুলি" এখানে মূল শব্দটি। হাসকেলে আপনি কীভাবে এটি বাস্তবায়ন করবেন সে সম্পর্কে চিন্তাভাবনায় আরও সময় ব্যয় করেন, তারপরে বাস্তবায়নটি খুব সহজেই আসে। তারপরে আপনার মানচিত্র, ভাঁজ ইত্যাদি বুদ্ধিমান তা নিশ্চিত করার জন্য আপনি এটি টাইপ করে রেখেছেন he
বিকল্প

@ এলি বারজিলে: হাস্কেলের টাইপ সিস্টেমটি নিশ্চিত মনে হচ্ছে এটি একটি উপপাদ্য প্রবাদ হওয়ার খুব কাছাকাছি। এটি অবশ্যই এমন একটি পরিবেশ তৈরি করেছে যেখানে উপপাদ্য প্রবাদগুলি অন্যান্য সরঞ্জামগুলির চেয়ে প্রায় সাধারণ বলে মনে হয় । (এমন নয় যে আমি একটি কার্যকরী সম্পর্ককে
বোঝাচ্ছি

@ লুচি - হ্যাঁ, আমি এটি ব্যবহার করেছি; না, এটি বাস্তবে এবং তত্ত্ব উভয় ক্ষেত্রেই একটি মিথ্যা বিবৃতি। এটি এমন কিছু নয় যা হাস্কেলের কাছে অনন্য।
এলি বারজিলে

1

আমি মনে করি ভাষা সম্পর্কে বিতর্কিত হওয়া সহজ, এবং বিষয়টিটি মিস করি miss যে কেউ কেবল এফপি কী সম্পর্কে জানতে চান, তার জন্য ওকামল / এমএল / স্কিম / হাস্কেলের মধ্যে পার্থক্যগুলি আপনি যে উপাদানটি (বই, ভিডিও, সরঞ্জাম) ব্যবহার করছেন তা শিখতে আপনার আরামের চেয়ে অর্ধেকটা গুরুত্বপূর্ণ নয়। এবং আপনার নির্দিষ্ট বন্ধু ভাষা শিখতে সাহায্য করার জন্য আপনার কোনও বন্ধু রয়েছে বা না অন্য কিছুকে ট্রাম্প করে।


0

যদি এটি খাঁটি না হয় তবে আপনি পাশাপাশি একটি অত্যাবশ্যকীয় ভাষাও ব্যবহার করতে পারেন, সুতরাং হাস্কেল।


0

আপনি আপনার প্রশ্নের যে উত্তর পেয়েছেন তার একটিতে আমি এই লিঙ্কটি বেশ আকর্ষণীয় পেয়েছি কারণ এটি আপনাকে হাস্কেল এবং স্কিমের স্বাদ দেয়।

সেই নিফটি লিঙ্কটি ছাড়াও, আপনার প্রশ্নটি সম্পর্কে আমি এখানে আছি।

যদি আপনি একটি অত্যাবশ্যক প্রোগ্রামিং ব্যাকগ্রাউন্ড থেকে এসেছেন তবে আপনি কার্যকরী প্রোগ্রামিং শেখার ক্ষেত্রে প্রচুর প্রচেষ্টা চালিয়ে যেতে পারেন। আমি নিশ্চিত করব যে শেখার অভিজ্ঞতাটি খালি নয়। এটি হ'ল আপনি এটি আপনার বর্তমান বা পরবর্তী চাকরিতে প্রয়োগ করতে পারেন বা এটি আপনাকে অন্য কোনও উপায়ে সহায়তা করবে।

সেখানে অনেক ভাল ভাষা আছে। ক্লোজার এবং সিএল লোকেরা যেমন স্কেলার লোকেরা তাদের ভাষার প্রশংসা করত। এমনকি পাইথনিস্টরা অলসতার দাবি করে। আপনার উত্তর দেওয়া অন্যান্য ব্যক্তিরা এমএল প্রস্তাব করেছিলেন। অমিত রাঠোর যিনি ক্লোজার ইন অ্যাকশন লিখেছিলেন তারা এমনকি আপনাকে হাসেলকে শেখার পরামর্শ দিতে পারে।

আপনি উইন্ডোজ এবং এফ # উল্লেখ করেছেন। এটি কি আপনার বর্তমান অবস্থানে সহায়তা করবে? আমি এফ # সম্পর্কে কিছুই জানি না। এটি কি যথেষ্ট কার্যকর? আমি এটি জিজ্ঞাসা করি, কারণ আইএমএইচও পাইথনের কার্যকরী গঠন রয়েছে তবে এটি ক্লোজুরে প্রোগ্রামিংয়ের মতো নয়।

সংক্ষিপ্তসার হিসাবে, একটি কার্যকরী ভাষা শিখুন যা "সত্যই" কার্যকরী এবং এটি করা আপনার পরিস্থিতির পক্ষে সর্বোত্তম ধারণা দেয়।


-2

কোনও আপেক্ষিক শুরুর দিকের দৃষ্টিকোণ থেকে, আমি পরামর্শ দিচ্ছি যে আপনি যদি স্কিমে সিদ্ধান্ত নেন তবে এসআইসিপি দিয়ে শুরু না করা, যদি না আপনার গণিত যথেষ্ট পরিপক্ক হয়। বই এবং ভিডিওগুলি সূক্ষ্মতায় পূর্ণ এবং কারও কাছে এটি শুরু করার জন্য মোটেই স্বজ্ঞাত নয়।

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.