এসএমএল এবং ওক্যামেলের মধ্যে পার্থক্যগুলি কী কী? [বন্ধ]


100

দুটি এমএল উপভাষাকে কী আলাদা করে দেয়?


4
সিনট্যাকটিক তুলনা: adam.chlipala.net/MLcomp
নওফাল

উত্তর:


158

প্রচুর পার্থক্য রয়েছে, কিছু প্রযুক্তিগত, কিছু আর্থ-সামাজিক ol আমি আরও গুরুত্বপূর্ণ পার্থক্য প্রথমে রাখার চেষ্টা করেছি।

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

  • এসএমএলের অনেকগুলি বাস্তবায়ন রয়েছে; ক্যামেলের একটি মাত্র আছে।

  • অবজেক্টিভ ক্যামেলের বেশ কয়েকটি অতিরিক্ত বৈশিষ্ট্য রয়েছে, যার মধ্যে সর্বাধিক বিশিষ্ট সম্ভবত বস্তু এবং পলিমারফিক ভেরিয়েন্টগুলি রয়েছে।

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

  • বেশ কয়েকটি সিনথেটিক পার্থক্য রয়েছে।

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

  • প্রকারের সিস্টেমগুলি সুস্পষ্টভাবে পৃথক: ক্যামলে, টাইপটির সাথে e : tyটাইপটি ty একত্রিত হলে ক্যামেরায় একটি অভিব্যক্তিতে একটি প্রকারের টীকা গ্রহণ করা হয় e। SML সালে e : tyগৃহীত শুধুমাত্র যদি টাইপ tyএকটি হল উদাহরণস্বরূপ প্রকার e। এই পার্থক্যটি অনুশীলনে কমলে কমেন্টে টীকাগুলি রেন্ডার করে, কারণ কোনও অভিব্যক্তি বহুকর্মীয় বলে জোর দেওয়ার জন্য কোনও প্রকার টীকাকে ব্যবহার করা অসম্ভব।

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

  • এসএমএলে, গাণিতিক অপারেটরগুলি ভাসমান-পয়েন্ট এবং পূর্ণসংখ্যা উভয় ডেটাতেই প্রয়োগ করতে ওভারলোড হয়। ক্যামলে, অপারেটরগুলি অতিরিক্ত লোড হয় না; ভাসমান-পয়েন্ট অপারেটরগুলি অতিরিক্ত ডট দিয়ে চিহ্নিত হয়।

  • এসএমএলে প্রোগ্রামার ইনফিক্স অপারেটরগুলির অগ্রাধিকার এবং সাহচর্য নিয়ন্ত্রণ করতে পারে। ক্যামলে, এগুলি অপারেটরের নামের প্রথম অক্ষর দ্বারা নির্ধারিত হয়। এই বিধিনিষেধটি আপনার নিজের ইনফিক্স স্বরলিপিটি সংজ্ঞায়িত করতে সক্ষম হওয়ার সুবিধাকে সীমাবদ্ধ করে।

সম্পাদকীয় মন্তব্য সহ আরও বিশদ বিশ্লেষণের জন্য, আপনি অ্যাডাম চ্লিপালার তুলনা পৃষ্ঠাটিও দেখতে পারেন


4
আপনি সমতা ভুলে গেছেন (ওসিএএমএল বনাম সুরক্ষিত তবে এসএমএলে সীমাবদ্ধ সমতা প্রকারভেদ), অ-জেনারেলাইজড টাইপ ভেরিয়েবল ('ওএ ক্যামএল-এ' _এ), প্রিন্টফ, ওসিএএমএল-তে মডিউল নাম হিসাবে ফাইলের নাম ব্যাখ্যা, ওসিএএমএল এর স্ট্যাডলিব-এ আরও অনেক বেশি কারিগরি করা forgot আপনি যখন দ্বিতীয়বার অন্য কিছু বোঝাতে চেয়েছিলেন (বাস্তবায়ন?) তখন আপনি দুবার ইন্টারফেস লিখেছিলেন।
জেডি

4
এবং OCaml এর বা-নিদর্শন এবং প্যাটার্ন ম্যাচে গার্ড।
জেডি

4
নোট করুন যে প্রকারের টীকাগুলির উপযোগিতার সীমাবদ্ধতাটি 3.12 তে কিছুটা হ্রাস করা হয়েছে, যেখানে টীকা দেওয়া e : 'a . ty(a)সম্ভব এবং অর্থবোধক।

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

4
আপনার তৃতীয় পয়েন্ট সম্পর্কে, রেকর্ড নামগুলির ওসিএএমএলে আর স্বাতন্ত্র্যের প্রয়োজন নেই।
প্যাটজে

-3

ওসিএএমএল অবজেক্ট-ওরিয়েন্টেশন বৈশিষ্ট্যগুলি যুক্ত করে এবং এতে কিছুটা ছোট ছোট সিনট্যাক্স পার্থক্য রয়েছে।

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