[দ্রষ্টব্য: এই অনুচ্ছেদগুলি এখন পুরানো]] আপনার প্রশ্নের শিরোনামে একটি অযাচিত অনুমিতি রয়েছে, যথা প্রোগ্রামিং ভাষা "গণিতের ভিত্তিতে"। সাধারণত এটি হয় না, যদিও দুটি ক্ষেত্রের গুরুত্বপূর্ণ সম্পর্ক রয়েছে। আরও সঠিক বিবৃতিটি হ'ল (কয়েকটি) প্রোগ্রামিং ল্যাঙ্গুয়েজগুলি ফাউন্ডেশনাল কৌশলগুলি ব্যবহার করে ডিজাইন করা হয়েছিল। আরও ভাল প্রশ্ন জিজ্ঞাসা করা হবে "প্রোগ্রামিং ভাষা এবং গণিতের ভিত্তি কীভাবে সম্পর্কিত?"
সর্বাধিক সাধারণ সংযোগটি স্লোগান প্রমাণ-হিসাবে-প্রোগ্রামগুলিতে মূর্ত থাকে , যা বিভিন্ন উপায়ে কাজ করা যায়। কারি-হাওয়ার্ড চিঠিপত্রের সবচেয়ে বড় অন্যতম। এটির সাথে আমরা একবারে তত্ত্ব, যুক্তি এবং প্রোগ্রামিং টাইপ করি। তবে এটি জোর দেওয়া উচিত যে সাধারণ পুনরাবৃত্তির উপস্থিতিতে কারি-হাওয়ার্ডের চিঠিপত্র খুব ভাল কাজ করে না (কারণ প্রতিটি ধরণের লোকেরা বাস করে), যা প্রতিটি সাধারণ উদ্দেশ্যমূলক প্রোগ্রামিং ভাষা সমর্থন করে।
স্লোগান প্রমাণ হিসাবে প্রোগ্রাম হিসাবে কাজ করার একটি সূক্ষ্ম উপায় হ'ল বাস্তবায়ন । এখানেও আমরা প্রমাণ এবং প্রোগ্রামগুলি সম্পর্কিত, কিন্তু এখন দিকটি প্রমাণ থেকে শুরু করে প্রোগ্রামগুলিতে চলে যায়: প্রতিটি প্রমাণ একটি প্রোগ্রাম দেয় তবে প্রতিটি প্রোগ্রাম অগত্যা একটি প্রমাণ হয় না।
একটি প্রোগ্রামিং একটি ভিত্তি উপর ভিত্তি করে ভাষা প্রধান উদাহরণ Agda , যা কেবল হয় নির্ভরশীল টাইপ তত্ত্বের একটি বাস্তবায়ন। তবে আগদা কোনও সাধারণ-উদ্দেশ্যে প্রোগ্রামিং ভাষা নয় কারণ এটি সাধারণ পুনরাবৃত্তি সমর্থন করে না। আগদার প্রতিটি ফাংশন মোট, এবং সেখানে গণনাযোগ্য ফাংশন রয়েছে যা আগদে প্রয়োগ করা যায় না। অনুশীলনে প্রোগ্রামাররা এটি লক্ষ্য করবে না, তবে তারা লক্ষ্য করবে যে আগদা অপরিজ্ঞাত মানগুলিকে অনুমতি দেয় না, উদাহরণস্বরূপ অসীম লুপগুলি।
মোরগ হয় না একটি প্রোগ্রামিং ভাষা বরং প্রমাণ সহায়ক। যাইহোক, এটিরও নিষ্কাশন ক্ষমতা রয়েছে যা প্রমাণগুলি থেকে প্রোগ্রাম দেয়। প্রুফ সহকারী এবং প্রোগ্রামিং ভাষা একে অপরের সাথে বিভ্রান্ত হওয়া উচিত নয়।
আমাদের ভুলে যাওয়া উচিত নয় যে প্রোলগ এবং অন্যান্য লজিক প্রোগ্রামিং ভাষাগুলি অনুপ্রেরণা এই ধারণা থেকে তাদের অনুপ্রেরণা গ্রহণ করে যে গণনা প্রমাণ অনুসন্ধান । এটি অবশ্যই তাদের যুক্তির সাথে ঘনিষ্ঠভাবে সম্পর্কিত করে।
হাস্কেল একটি সাধারণ উদ্দেশ্যে প্রোগ্রামিং ভাষা যা ডোমেন তত্ত্বের ভিত্তিতে তৈরি । এটি বলার জন্য, এর শব্দার্থবিজ্ঞানটি ডোমেন-তাত্ত্বিক কারণ এটি আংশিক ফাংশন এবং পুনরাবৃত্তির জন্য অ্যাকাউন্ট করতে হবে account হাস্কেল সম্প্রদায় বিভাগের তত্ত্ব দ্বারা অনুপ্রাণিত হয়ে অনেকগুলি কৌশল উদ্ভাবন করেছে, যার মধ্যে মনাদ সর্বাধিক পরিচিত তবে মনাদের সাথে বিভ্রান্ত হওয়া উচিত নয় । আরও সাধারণভাবে, উন্নত প্রোগ্রামিং বৈশিষ্ট্যগুলি সাধারণত ডোমেন তত্ত্ব এবং বিভাগের তত্ত্বের সংমিশ্রণে চিকিত্সা করা হয়, তবে রাস্তায় হাস্কেল প্রোগ্রামার এতে পারদর্শী এমন কিছু নয়। হাস্কেল প্রকারের তথাকথিত "সিনট্যাকটিক বিভাগ" হ্যাশকেল এবং বিভাগের তত্ত্ব একে অপরের সাথে কীভাবে সামঞ্জস্য হয় সে সম্পর্কে একটি সাধারণ লোকের দৃষ্টিভঙ্গি।
সেট থিওরি (শাস্ত্রীয় বা গঠনমূলক) মনে হয় প্রোগ্রামিং ভাষায় কিছুটা হলেও ধারণাগুলি অনুপ্রাণিত করে। অবশ্যই, গঠনমূলক সেট তত্ত্বের গঠনমূলক যুক্তির মাধ্যমে প্রোগ্রামিংয়ের সাথে এর সংযোগ রয়েছে। প্রোগ্রামিং ভাষাগুলিতে স্বজ্ঞাত সেট তত্ত্বের একটি গুরুত্বপূর্ণ প্রয়োগটি আলেক্স সিম্পসন দিয়েছিলেন যিনি এটি সিন্থেটিক ডোমেন তত্ত্বের কাজ করতে ব্যবহার করেছিলেন। তবে এটি বেশ উন্নত জিনিস, সম্ভবত এই স্লাইডগুলি দেখুন । জিন-লুই ক্রাইভাইন ক্লাসিকাল সেট তত্ত্বের জন্য উপলব্ধিযোগ্যতার একটি খুব আকর্ষণীয় ব্র্যান্ড তৈরি করেছেন। এটি ক্লাসিকাল সেট তত্ত্ব এবং প্রোগ্রামিং সম্পর্কিত একটি ভাল উপায় বলে মনে হচ্ছে।
সংক্ষেপে, প্রোগ্রামিং ভাষার তত্ত্বটি মূল কৌশলগুলি ব্যবহার করে। এটি আশ্চর্যজনক নয়, কারণ আমরা গণনাটিকে একটি মৌলিক ধারণা হিসাবে বিবেচনা করি। তবে এটি বলা খুব নিষ্পাপ যে প্রোগ্রামিং ভাষাগুলি একটি নির্দিষ্ট ভিত্তির উপর "ভিত্তিক" হয়। আসলে, ভিত্তিগুলির ট্রাইকোটমি "সেট থিওরি - টাইপ থিওরি - ক্যাটাগরি থিয়োরি" আবার একটি দরকারী উচ্চ-স্তরের পর্যবেক্ষণ যা বিভিন্নভাবে গাণিতিকভাবে সুনির্দিষ্ট করা যেতে পারে, তবে এ সম্পর্কে প্রয়োজনীয় কিছুই নেই। এটি একটি historicতিহাসিক দুর্ঘটনা।