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