হাস্কেলকে ঘিরে প্রচুর হাইপ রয়েছে, তবে এটি বাস্তব বিশ্বের অ্যাপ্লিকেশনগুলিতে কীভাবে ব্যবহৃত হয় সে সম্পর্কে তথ্য পাওয়া শক্ত। হাস্কেলের সর্বাধিক জনপ্রিয় প্রকল্পগুলি / ব্যবহারগুলি কী এবং এটি কেন এই সমস্যাগুলি সমাধানে শ্রেষ্ঠ?
হাস্কেলকে ঘিরে প্রচুর হাইপ রয়েছে, তবে এটি বাস্তব বিশ্বের অ্যাপ্লিকেশনগুলিতে কীভাবে ব্যবহৃত হয় সে সম্পর্কে তথ্য পাওয়া শক্ত। হাস্কেলের সর্বাধিক জনপ্রিয় প্রকল্পগুলি / ব্যবহারগুলি কী এবং এটি কেন এই সমস্যাগুলি সমাধানে শ্রেষ্ঠ?
উত্তর:
এই ভাষার জন্য কিছু সাধারণ ব্যবহার কি?
রেপিড এপ্লিকেশন ডেভেলপমেন্ট.
আপনি যদি "কেন হাস্কেল?" জানতে চান, তবে আপনাকে কার্যকরী প্রোগ্রামিং ভাষার সুবিধা বিবেচনা করতে হবে ( https://c2.com/cgi/wiki?AvantagesOfFunctionalProgramming থেকে নেওয়া ):
কার্যকরী প্রোগ্রামগুলি তাদের ইম্পেরটিভ ল্যাঙ্গুয়েজ অংশগুলির তুলনায় অনেক বেশি সংশ্লেষিত হতে থাকে। প্রায়শই এটি বর্ধিত প্রোগ্রামার উত্পাদনশীলতার দিকে পরিচালিত করে
এফপি দ্রুত প্রোটোটাইপিংকে উত্সাহ দেয়। এর মতো, আমি মনে করি এটি এক্সট্রিমপ্রগ্রামের জন্য সেরা সফ্টওয়্যার ডিজাইনের দৃষ্টান্ত ... তবে আমি কী জানি?
এফপি কার্যকারিতার মাত্রায় মডুলার, যেখানে অবজেক্ট ওরিয়েন্টডপ্রোগ্রামিং বিভিন্ন উপাদানগুলির মাত্রায় মডুলার।
আপনার পিষ্টক আছে এবং এটি খাওয়ার ক্ষমতা। আপনার একটি জটিল ওও সিস্টেম প্রসেসিং বার্তা রয়েছে তা কল্পনা করুন - প্রতিটি উপাদান বার্তার উপর নির্ভর করে স্থিতি পরিবর্তন করতে পারে এবং তারপরে লিঙ্কযুক্ত কিছু বস্তুতে বার্তাটি ফরোয়ার্ড করতে পারে। কল স্তরক্রমের গভীর কিছু বিষয় যদি বার্তাটি ত্রুটিযুক্ত হয় তবে সিদ্ধান্ত নেওয়া খুব সহজেই প্রতিটি পরিবর্তন সহজেই ফিরিয়ে আনতে সক্ষম হবে না? বিভিন্ন রাজ্যের ইতিহাস কেমন হবে?
আপনার জন্য গৃহীত অনেক গৃহীত কাজ: ডেকনস্ট্রাকচারিং ডেটা স্ট্রাকচার (প্যাটার্নম্যাচিং), ভেরিয়েবল বাইন্ডিংস (ক্লোরার সহ লেক্সিক্যালস্কোপ) সংরক্ষণ করা, শক্ত টাইপিং (টাইপআইফারেন্স), আবর্জনা সংগ্রহ, স্টোরেজ বরাদ্দকরণ, বক্সযুক্ত (পয়েন্টার-টু-ভ্যালু) ব্যবহার করতে হবে বা আনবক্সড (সরাসরি মানটি) ) উপস্থাপনা ...
নিরাপদ মাল্টিথ্রেডিং! অপরিবর্তনীয় ডেটা স্ট্রাকচারগুলি ডেটা রেসের শর্ত সাপেক্ষে নয় এবং ফলস্বরূপ লক দ্বারা সুরক্ষিত হতে হবে না। যদি আপনি সর্বদা নতুন জিনিসগুলি বরাদ্দ করে থাকেন তবে বিদ্যমানগুলি ধ্বংসাত্মকভাবে চালিত করার পরিবর্তে লকিংটি বরাদ্দ এবং আবর্জনা সংগ্রহ পদ্ধতিতে লুকানো যেতে পারে।
এটি বাদে হাস্কেলের নিজস্ব সুবিধা রয়েছে যেমন:
1 / 0
কোনও তালিকার প্রথম আইটেম হিসাবে রাখতে পারেন এবং আপনি কেবলমাত্র দ্বিতীয় আইটেমটি ব্যবহার করলে এটি এখনও কাজ করবে।আপনি নিম্নলিখিত লিঙ্কগুলি পরীক্ষা করে দেখতে পারেন:
x = 5;
গ্যারান্টি দেয় যে এটি কার্যকর করার পরে, x
মানটি অন্তর্ভুক্ত করে 5
।
operator =
called এবং এটির গ্যারান্টি দেয় যদি আপনি কোনওoperator =
আমি মনে করি যে এই পোস্টের লোকেরা যে কারও জন্য কার্যকরী প্রোগ্রামিং ভাষা ব্যবহার করেন নি: আপনার মনকে প্রসারিত করছে তার পক্ষে সবচেয়ে গুরুত্বপূর্ণ পয়েন্টটি অনুপস্থিত। আপনি যদি ক্রিয়ামূলক প্রোগ্রামিংয়ে নতুন হন তবে হাস্কেল আপনাকে আগে কখনও ভাবেনি এমন উপায়ে চিন্তা করতে বাধ্য করে। ফলস্বরূপ অন্যান্য অঞ্চল এবং অন্যান্য ভাষায় আপনার প্রোগ্রামিংয়ের উন্নতি হবে। কত? পরিমাণ নির্ধারণ করা শক্ত।
হাস্কেলের মতো সাধারণ উদ্দেশ্য ভাষা যেটির জন্য ভাল তা জন্য একটি উত্তরের উত্তর রয়েছে: সাধারণভাবে প্রোগ্রাম লেখার জন্য।
এটি বাস্তবে যা ব্যবহৃত হয় তার জন্য, এটি প্রতিষ্ঠার জন্য আমার তিনটি পদ্ধতি রয়েছে:
ইঙ্গিত করে যে এটি গ্রাফিক্স, নেটওয়ার্কিং, সিস্টেম প্রোগ্রামিং, ডেটা স্ট্রাকচার, ডাটাবেস, উন্নয়ন, পাঠ্য প্রক্রিয়াকরণের জন্য ভাল ...
এবং পরিশেষে, এ সম্পর্কে সত্যই শক্তিশালী সম্পর্কে আমার মতামত:
আমি আশা করি যে এটি আপনার নির্দিষ্টতার সাথে যদি উত্তর দেওয়া হয় তবে আপনার প্রশ্নটি কতটা বিস্তৃত তা সম্পর্কে একটি ধারণা দেয়।
থেকে Haskell, উইকি :
ওয়েব স্টার্টআপস, হার্ডওয়্যার ডিজাইন সংস্থাগুলি এবং লনমওয়ার উত্পাদনকারীদের অর্থায়নের জন্য, এ্যাসোস্পেস এবং প্রতিরক্ষা থেকে শুরু করে বাণিজ্যিকভাবে বাণিজ্যিকভাবে হেস্কেলের বিস্তৃত ব্যবহার রয়েছে। এই পৃষ্ঠাটি হাস্কেলের শিল্প ব্যবহারের উপর সম্পদ সংগ্রহ করে।
উইকিপিডিয়া অনুসারে, বিদ্যমান ফাংশনাল ভাষাগুলি একটি সাধারণ ভাষায় একীভূত করার প্রয়োজনীয়তার জন্য হাস্কেল ভাষা তৈরি করা হয়েছিল যা ভবিষ্যতে গবেষণামূলকভাবে কার্যকরী ভাষার নকশায় ব্যবহার করা যেতে পারে।
এটি উপলব্ধ তথ্যের ভিত্তিতে স্পষ্ট যে এটি এর মূল উদ্দেশ্যটি ছড়িয়ে পড়েছে এবং এটি গবেষণার চেয়ে অনেক বেশি ব্যবহৃত হয়। এটি এখন একটি সাধারণ উদ্দেশ্যে কার্যকরী প্রোগ্রামিং ভাষা হিসাবে বিবেচিত হয়।
যদি আপনি এখনও নিজেকে জিজ্ঞাসা করছেন, "আমি এটি কেন ব্যবহার করব?", তবে কেন এটি ব্যবহার করবেন? হাস্কেল উইকি প্রবর্তনের অংশ।
হাস্কেল একটি সাধারণ উদ্দেশ্য প্রোগ্রামিং ভাষা। এটি আপনি অন্য কোনও ভাষা ব্যবহার করার জন্য ব্যবহার করতে পারেন। আপনি নিজের কল্পনা ছাড়া কিছুই সীমাবদ্ধ নন। এটি কি জন্য উপযুক্ত? বেশ, বেশ কিছু। কয়েকটি কাজ রয়েছে যাতে কার্যকরী ভাষা এক্সেল করে না।
এবং হ্যাঁ, আমি ড্রিমিনকোড থেকে রেইন। :)
আমি আরও উল্লেখ করতে চাই, আপনি উইকিপিডিয়া পৃষ্ঠাটি না পড়লে, ফাংশনাল প্রোগ্রামিং হ'ল অবজেক্ট অরিয়েন্টেড প্রোগ্রামিংয়ের উদাহরণ হিসাবে। শুধু আপনি যদি জানেন না। হাস্কেল এই অর্থে কার্যকর হয় যে এটি কাজ করে; এটি এটি বেশ ভাল কাজ করে।
একটি ভাষা কেবল একটি অবজেক্ট ওরিয়েন্টেড ভাষা নয় এর অর্থ এই নয় যে ভাষা কোনও কিছুর দ্বারা সীমাবদ্ধ। হাস্কেল একটি সাধারণ-উদ্দেশ্য প্রোগ্রামিং ভাষা এবং এটি জাভা হিসাবে সাধারণ উদ্দেশ্য।
আমার কাছে একটি দুর্দান্ত, ফেসবুক পিএইচপি কোড পুনর্লিখনের জন্য একটি স্বয়ংক্রিয় সরঞ্জাম তৈরি করেছে। তারা উত্সটি একটি বিমূর্ত সিনট্যাক্স ট্রিে পার্স করে, কিছু রূপান্তর করে:
if ($f == false) -> if (false == $f)
কেন জানি না, তবে এটি তাদের নির্দিষ্ট স্টাইল বলে মনে হয় এবং তারপরে তারা এটি প্রিন্ট করে।
https://github.com/facebook/lex-pass
আমরা ছোট ডোমেন নির্দিষ্ট ভাষা তৈরির জন্য হ্যাশেল ব্যবহার করি। বিপুল পরিমাণে ডেটা প্রক্রিয়াকরণ। ওয়েব ডেভেলপমেন্ট. ওয়েব মাকড়সা। অ্যাপ্লিকেশন পরীক্ষা করা হচ্ছে। রচনা সিস্টেম প্রশাসনের স্ক্রিপ্টগুলি। ব্যাকএন্ড স্ক্রিপ্টগুলি, যা অন্যান্য দলের সাথে যোগাযোগ করে। মনিটরিং স্ক্রিপ্টগুলি (আমাদের কাছে একটি ডিএসএল রয়েছে যা মুনিনের সাথে একসাথে ভালভাবে কাজ করে, আপনার অ্যাপ্লিকেশনগুলির জন্য সঠিক মনিটরের কোড লিখতে এটি আরও সহজ করে তোলে))
আসলে সব ধরণের স্টাফ। আপনি যদি কিছুটা গাণিতিকভাবে ঝুঁকে থাকেন তবে এটি খুব শক্তিশালী এবং দরকারী বৈশিষ্ট্যযুক্ত একটি দৈনন্দিন সাধারণ উদ্দেশ্য ভাষা।
false
বামে লেখার সুবিধাটি দেখছি, তবে এটি স্বয়ংক্রিয়ভাবে করার জন্য কোনও সরঞ্জাম ব্যবহার করার বিন্দুটি আমি দেখতে পাচ্ছি না: যদি আপনি ইতিমধ্যে একটি ==
অপারেটর পেয়ে থাকেন তবে আপনি ইতিমধ্যে জেনে ফেলেছেন যে আপনার যে অংশটি রয়েছে সেটির ত্রুটি নেই লেক্স-পাস ধরা মানে, এবং যদি আপনি =
এর পরিবর্তে পেয়ে থাকেন তবে এটি ইচ্ছাকৃতভাবে এর মতো কিনা তা বলার কোনও সঠিক উপায় নেই।
হাস্কেল থেকে :
হাস্কেল হ'ল একটি স্ট্যান্ডার্ডাইজড, সাধারণ-উদ্দেশ্য বিশুদ্ধরূপে কার্যকরী প্রোগ্রামিং ল্যাঙ্গুয়েজ সহ, অ-কঠোর শব্দার্থবিজ্ঞান এবং শক্ত স্ট্যাটিক টাইপিং সহ। এটি যুক্তিবিদ হাস্কেল কারির নামে নামকরণ করা হয়েছে।
মূলত হ্যাস্কেলকে আপনি সাধারণত অন্যান্য সাধারণ-উদ্দেশ্যমূলক ভাষাগুলি (যেমন সি #, জাভা, সি, সি ++ ইত্যাদি) ব্যবহার করে যা কিছু তৈরি করতে পারেন তা তৈরি করতে ব্যবহার করা যেতে পারে।
এটি হাস্কেল এবং এর ব্যবহার সম্পর্কে তথ্যের জন্য একটি দুর্দান্ত উত্স: