হাস্কেল থেকে প্রাপ্ত জ্ঞান এবং দক্ষতা রফতানি করতে সবচেয়ে উপযুক্ত, বহুল ব্যবহৃত উত্পাদনের ভাষা কোনটি?


14

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

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

উত্তর:


21

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

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

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

নিজের পক্ষে কথা বলতে গিয়ে, এই দাবিটি অস্বীকার করে যে কার্যকরী প্রোগ্রামিংয়ের সাথে আমার প্রথম অভিজ্ঞতাটি স্কিমে ছিল, আমি সম্ভবত ক্লোজারের দিকে ঝুঁকছি, সম্ভবত ওক্যামল সম্ভবত দ্বিতীয় পছন্দ।


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

4

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


3

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

পরীক্ষা করে দেখুন প্রধান সাইট


3

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

কী ক্লোজার বৈশিষ্ট্যগুলি যা হাস্কেল ব্যবহারকারীরা পরিচিত এবং আকর্ষণীয় খুঁজে পেতে পারে:

  • মূল ভাষাটি নিখুঁতভাবে কার্যকরী - পার্শ্ব প্রতিক্রিয়াগুলি সম্ভব হওয়ার পরেও সেগুলি নির্দিষ্ট স্থানে দাফন করা হয় (উদাঃ এসটিএম রেফারেন্স, আইও ফাংশন, জাভা ইন্টারঅ্যাপেরিবিলিটি)
  • সমস্ত ডেটা স্ট্রাকচার অপরিবর্তনীয় এবং অবিচল
  • অলসতা - ক্লোজারের সর্বব্যাপী অলস ক্রমগুলির মাধ্যমে মূলত অর্জিত, এটি হাস্কেল ব্যবহারকারীদের কাছে খুব পরিচিত বোধ করবে। অসীম অলস ক্রমগুলি ঠিক আছে।
  • সফটওয়্যার ট্রানজেকশনাল মেমোরি - ক্লোজুরে পরিবর্তনীয় স্থিতি পরিচালনার প্রধান উপায়। : এই চমৎকার ভিডিও যেখানে ধনী হিকি শনাক্ত ও রাজ্য Clojure এর পদক্ষেপ ব্যাখ্যা পর্যবেক্ষক ভাল মূল্য http://www.infoq.com/presentations/Value-Identity-State-Rich-Hickey

মূল পার্থক্য (আপনার দৃষ্টিভঙ্গির উপর নির্ভর করে ইতিবাচক বা নেতিবাচক হতে পারে):

  • এটি অপরিষ্কার - যদিও আমার পর্যবেক্ষণ হ'ল প্রতিমাসূচক ক্লোজার শৈলীটি যেখানেই সম্ভব খাঁটি ফাংশনগুলি রক্ষা করা।
  • স্ট্যাটিক টাইপিংয়ের চেয়ে গতিশীল (যদিও স্ট্যাটিক টাইপের ইঙ্গিতগুলি পারফরম্যান্স অপটিমাইজেশনের জন্য বিকল্পভাবে ব্যবহার করা যেতে পারে)
  • এটি পুরো জাভা লাইব্রেরি বাস্তুতন্ত্রের সহজে অ্যাক্সেস সহ একটি জেভিএম ল্যাঙ্গুয়েজ - এটি আমার মতে বাস্তব বিশ্বের প্রয়োগের ক্ষেত্রে সবচেয়ে বড় সুবিধা
  • লিসপ সিনট্যাক্স। সুতরাং আপনি হোমসাইকনিসিটির সমস্ত সুবিধা পান , সমস্ত বন্ধনী মাধ্যমে দেখতে শেখার ব্যয়ে :-)

ব্যক্তিগত দৃষ্টিভঙ্গি: ক্লোজুরের আগে আমি হাসেলকে শিখেছি এবং হাস্কেলকে এটি কমনীয়তা এবং গাণিতিক বিশুদ্ধতার জন্য পছন্দ করতাম। Clojure অনেক অনুপ্রেরণা আকর্ষণ করে এবং হাস্কেলের কাছ থেকে অনেক ভাল বৈশিষ্ট্য ধার নিয়েছে, তবে এটি অনেক বেশি ব্যবহারিক / ব্যবহারিক ল্যাঙ্গেজ। বিশেষত আপনি যখন জাভা গ্রন্থাগার ইকোসিস্টেমটি লাভ করতে সক্ষম হওয়ার বিশাল মূল্য গণনা করেন তবে "জিনিস শেষ হয়ে যাওয়ার" জন্য এটি দুর্দান্ত ভাষা।


1

আপনি যদি হাস্কেল পছন্দ করেন তবে জেভিএমের জন্য কোড তৈরি করতে হবে , ফ্রেজ আপনার জন্য আকর্ষণীয় হতে পারে। এটি হাস্কেল ২০১০ এর কাছাকাছি হওয়ার জন্য ডিজাইন করা হয়েছে, তবে জাভা কোড উত্পন্ন করে code

অবশ্যই, ফ্রিজ নিজেই "বহুল ব্যবহৃত উত্পাদনের ভাষা" এর মতো কিছুই নয় (এটি সম্প্রতি প্রকাশিত হয়েছে) তবে জাভা অবশ্যই।

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