যদিও প্রোটোটাইপিং প্রোগ্রামিং ল্যাঙ্গুয়েজের জন্য তাদের ফ্রেমওয়ার্কগুলি তৈরি করা হয়েছে (তাদের শব্দার্থবিজ্ঞান, টাইপ সিস্টেম, মূল্যায়ন, পাশাপাশি সেগুলির বৈশিষ্ট্য যাচাই সহ) তবে সেরা পছন্দটি আপনার নির্দিষ্ট কেস এবং নির্দিষ্ট প্রয়োজনের উপর নির্ভর করে।
এটি বলার পরেও, আপনি নিতে পারেন একাধিক (সম্ভবত এত স্বতন্ত্র নয়) বিকল্প রয়েছে (যার মধ্যে আপনি ইতিমধ্যে উল্লেখ করেছেন এমনগুলি অন্তর্ভুক্ত রয়েছে):
- নতুন ভাষা তৈরি ও প্রোটোটাইপ করার জন্য ডিজাইন করা একটি নির্দিষ্ট ভাষা / কাঠামো ব্যবহার করে: উদাহরণস্বরূপ, রেডেক্স [1], প্রোগ্রামিং ভাষার সিমেন্টিকস নির্দিষ্টকরণ এবং পরীক্ষা করার জন্য র্যাকেটে এম্বেড করা একটি ডোমেন-নির্দিষ্ট ভাষা, যা একটি সংজ্ঞা দেওয়া হয়েছে ভাষা, টাইপসেটিং (লেটেক্সে), হ্রাসের চিহ্নগুলি নিরীক্ষণ, ইউনিট পরীক্ষা এবং র্যান্ডম টেস্টিং (যেমন টাইপিং পরীক্ষা করার জন্য যেমন) এর মতো সহজ কাজগুলির পরিচালনা করে hand
- সাধারণ মডেলিংয়ের ভাষাগুলি ব্যবহার করা যা নির্দিষ্ট বিশ্লেষণ সহজেই সংজ্ঞায়িত এবং সম্পাদন করে, যতক্ষণ না তারা প্রয়োজনীয় নির্দিষ্ট পরিমাণে হাতে নির্দিষ্ট ভাষা গ্রহণ করতে পারে; অ্যালোয় [২] এই জাতীয় পদ্ধতির উদাহরণ: বেশ সাধারণ এবং নমনীয় সত্ত্বেও, ভাষাগুলিকে রাষ্ট্রগুলির মধ্যে সম্পর্ক হিসাবে মডেল করা যায়, যখন শব্দার্থবিজ্ঞানের সাথে শব্দার্থ প্রকাশের পরে মডেল চেকিংয়ের (যেমন ভাষার মধ্যে মূল্যায়ন) সমর্থন বিনামূল্যে পাওয়া যায় a সম্পর্ক মডেল (উদাহরণস্বরূপ কোনও ভাষার মডেলিংয়ের শব্দার্থবিজ্ঞানের জন্য কিছু ধারণা পাওয়া যায় [3])
- একটি উপপাদ্য প্রবাদটি ব্যবহার করে ভাষাটির বৈশিষ্ট্যগুলি পরীক্ষা করতে এম্বেড করা; কোক [৪] এর প্রুফ সিস্টেমে এম্বেড করে ভাষা এবং এর শব্দার্থবিজ্ঞানের উদাহরণ উদাহরণ হিসাবে দেখা যায় (এই পদ্ধতির আরও বিশদ পাশাপাশি কোক-এ গভীর এবং অগভীর এম্বেডিংয়ের মধ্যে পার্থক্য সম্পর্কে আলোচনা এবং প্রদর্শন] [ 5])
- অট্ট ব্যবহার করে (যেমন ইতিমধ্যে উল্লিখিত হয়েছে, রেডেক্সের মতো আত্মার সাথে একইভাবে, তবে এম্বেড হওয়ার পরিবর্তে একটি নতুন সংজ্ঞা ভাষা সরবরাহ করছে); ওট আপনাকে একটি সুবিধাজনক স্বরলিপিতে প্রোগ্রামিং ভাষা সংজ্ঞায়িত করতে এবং প্রুফ সিস্টেমে টাইপসেটিং এবং সংজ্ঞা তৈরি করতে দেয় (সাধারণত গভীর এমবেডিং সহ), যেখানে বেশিরভাগ চেকিং (যেমন প্রমাণ) ম্যানুয়ালি সঞ্চালনের প্রয়োজন হয়
- ভাষা এবং এর শব্দার্থবিজ্ঞানের পাশাপাশি যথাযথ চেকগুলি (যেমন পরীক্ষা হিসাবে) একটি সাধারণ উদ্দেশ্যমূলক প্রোগ্রামিং ভাষায় "স্ক্র্যাচ থেকে" এবং প্রয়োজনে অন্যান্য সিস্টেমে অনুবাদ করার প্রয়োজন হয় (কিছু ভাষা যেমন লিওন []], অন্তর্নির্মিত ভেরিফায়ারগুলি অন্তর্ভুক্ত করুন, যা কিছু বৈশিষ্ট্য স্বয়ংক্রিয়ভাবে প্রমাণ করতে দেয় এবং এই পদ্ধতিকে একটি প্রমাণ সিস্টেমে এম্বেড করার অনুরূপ করে তোলে)
নোট করুন যে কাঠামো / সরঞ্জাম (যেমন কাগজে বা লেটেক্সে সংজ্ঞা স্থাপনের মতো সহজ) এবং ভাষা সম্পর্কে বৈশিষ্ট্যগুলি পরীক্ষা করার পদ্ধতিগুলি কতটা শক্তিশালী (উদাহরণস্বরূপ এম্বেড করা) এর মধ্যে বাণিজ্য-বন্ধ রয়েছে between একটি উপপাদ্য প্রবাদে ভাষা খুব বিস্তৃত বৈশিষ্ট্যগুলি পরীক্ষা করার অনুমতি দিতে পারে)।
[১] ক্যাসি ক্লেইন, জন ক্লিমেটস, ক্রিস্টোস ডিমোলাস, কার্ল ইস্টলুন্ড, ম্যাথিয়াস ফেলেলিসেন, ম্যাথু ফ্ল্যাট, জে এ। ম্যাকার্থি, জন র্যাফকিন্ড, স্যাম টোবিন-হচস্টাডেট এবং রবার্ট ব্রুস ফাইন্ডার। আপনার গবেষণা চালান: লাইটওয়েট যান্ত্রিকীকরণ কার্যকারিতা উপর। পিওপিএল, ২০১২।
[2] ড্যানিয়েল জ্যাকসন। মিশ্রণ: একটি হালকা ওজনের অবজেক্ট মডেলিং স্বরলিপি। তোসেম, 2002
[3] গ্রেগ ডেনিস, ফেলিক্স চ্যাং, ড্যানিয়েল জ্যাকসন। স্যাট সহ কোডটির মডুলার যাচাইকরণ। আইএসএসটিএ, 2006
[৪] কোক ফর্মাল প্রুফ ম্যানেজমেন্ট সিস্টেম
[5] প্রোগ্রাম সম্পর্কে আনুষ্ঠানিক যুক্তি। অ্যাডাম চ্লিপালা, 2016
[]] ফাংশনাল স্কালাল প্রোগ্রামগুলি যাচাই, মেরামত এবং সংশ্লেষনের জন্য লিওন স্বয়ংক্রিয় ব্যবস্থা