[नोट: यह पैराग्राफ अब पुराना हो चुका है।] आपके प्रश्न के शीर्षक में एक अनुचित धारणा है, जिसका अर्थ है कि प्रोग्रामिंग भाषाएं "गणित की नींव पर आधारित" हैं। यह आमतौर पर मामला नहीं है, हालांकि दोनों क्षेत्रों में महत्वपूर्ण संबंध हैं। एक अधिक सटीक कथन यह होगा कि (कुछ) प्रोग्रामिंग भाषाओं को मूलभूत तकनीकों का उपयोग करके डिजाइन किया गया था। यह पूछने के लिए एक बेहतर प्रश्न होगा कि "प्रोग्रामिंग भाषाएं और गणित की नींव कैसे संबंधित हैं?"
स्लोगन प्रूफ- ए -प्रोग्राम्स में सबसे सामान्य कनेक्शन सन्निहित है , जिसे कई तरह से काम किया जा सकता है। करी-हावर्ड पत्राचार सबसे स्पष्ट एक है। इसके साथ हम एक बार टाइप थ्योरी, लॉजिक और प्रोग्रामिंग से संबंधित हैं। लेकिन यह जोर दिया जाना चाहिए कि करी-हावर्ड पत्राचार सामान्य पुनरावृत्ति (क्योंकि हर प्रकार का निवास बन जाता है) की उपस्थिति में बहुत अच्छी तरह से काम नहीं करता है, जो हर सामान्य-उद्देश्य प्रोग्रामिंग भाषा का समर्थन करता है।
स्लोगन प्रूफ-ए-प्रोग्राम्स काम करने का एक सूक्ष्म तरीका वास्तविकता का उपयोग करना है । यहां भी हम प्रमाणों और कार्यक्रमों से संबंधित हैं, लेकिन अब दिशा प्रमाणों से कार्यक्रमों तक जाती है: प्रत्येक प्रमाण एक कार्यक्रम देता है, लेकिन प्रत्येक कार्यक्रम जरूरी नहीं कि एक प्रमाण हो।
एक प्रोग्रामिंग एक नींव के आधार पर भाषा के मुख्य उदाहरण है AGDA , जो केवल है निर्भर प्रकार सिद्धांत का एक कार्यान्वयन। हालांकि, Agda एक सामान्य-प्रयोजन प्रोग्रामिंग भाषा नहीं है क्योंकि यह सामान्य पुनरावृत्ति का समर्थन नहीं करता है। अगाडा में हर फंक्शन कुल होता है, और ऐसे कंप्यूटेबल फंक्शन होते हैं जिन्हें अगाडा में लागू नहीं किया जा सकता। व्यवहार में प्रोग्रामर इसे नोटिस नहीं करेंगे, लेकिन वे नोटिस करेंगे कि एजडा अपरिभाषित मूल्यों की अनुमति नहीं देता है, उदाहरण के लिए अनंत लूप।
Coq है नहीं एक प्रोग्रामिंग भाषा बल्कि एक प्रमाण सहायक। हालाँकि, इसमें निष्कर्षण क्षमताएं भी हैं जो प्रमाणों से कार्यक्रम देते हैं। सबूत सहायकों और प्रोग्रामिंग भाषाओं को एक दूसरे के साथ भ्रमित नहीं होना चाहिए।
हमें यह नहीं भूलना चाहिए कि प्रोलॉग और अन्य लॉजिक प्रोग्रामिंग भाषाएं इस विचार से अपनी प्रेरणा लेती हैं कि गणना प्रूफ खोज है । यह बेशक उन्हें तर्क के साथ निकटता से जोड़ता है।
हास्केल एक सामान्य-प्रयोजन प्रोग्रामिंग भाषा है जो डोमेन सिद्धांत पर आधारित है । यह कहना है, इसका शब्दार्थ डोमेन-सिद्धांत है क्योंकि इसमें आंशिक कार्यों और पुनरावृत्ति के लिए खाता है। हास्केल समुदाय ने श्रेणी सिद्धांत से प्रेरित कई तकनीकों का विकास किया है, जिनमें से भिक्षुओं को सबसे अच्छी तरह से जाना जाता है लेकिन उन्हें भिक्षुओं के साथ भ्रमित नहीं होना चाहिए । अधिक सामान्य रूप से, उन्नत प्रोग्रामिंग सुविधाओं को आमतौर पर डोमेन सिद्धांत और श्रेणी सिद्धांत के संयोजन के साथ व्यवहार किया जाता है, लेकिन यह ऐसा कुछ नहीं है जो गली में हास्केल प्रोग्रामर पर निपुण है। हास्केल प्रकारों के तथाकथित "सिंटैक्टिक श्रेणी", एक व्यक्ति का दृष्टिकोण है कि हास्केल और श्रेणी सिद्धांत एक दूसरे के साथ कैसे मेल खाते हैं।
सेट सिद्धांत (शास्त्रीय या रचनात्मक) प्रोग्रामिंग भाषा में विचारों को कुछ हद तक प्रेरित करने के लिए लगता है। बेशक, रचनात्मक सेट थ्योरी का रचनात्मक तर्क के माध्यम से प्रोग्रामिंग से जुड़ाव है। प्रोग्रामिंग भाषाओं के लिए अंतर्ज्ञानवादी सिद्धांत का एक महत्वपूर्ण अनुप्रयोग एलेक्स सिम्पसन द्वारा दिया गया था, जिन्होंने इसका उपयोग सिंथेटिक डोमेन सिद्धांत काम करने के लिए किया था। लेकिन यह काफी उन्नत सामान है, शायद इन स्लाइड्स को देखें । जीन-लुई क्रिविन ने शास्त्रीय सेट सिद्धांत के लिए वास्तविकता का एक बहुत ही दिलचस्प ब्रांड विकसित किया है। यह शास्त्रीय सेट सिद्धांत और प्रोग्रामिंग से संबंधित है।
सारांश में, प्रोग्रामिंग भाषाओं का सिद्धांत मूलभूत तकनीकों का उपयोग करता है। यह आश्चर्यजनक नहीं है, क्योंकि हम गणना को एक मौलिक अवधारणा मानते हैं। लेकिन यह कहना बहुत आसान है कि प्रोग्रामिंग भाषाएं एक निश्चित नींव पर "आधारित" हैं। वास्तव में, नींव का त्रिकोटमी "सेट सिद्धांत - प्रकार सिद्धांत - श्रेणी सिद्धांत" फिर से केवल एक उपयोगी उच्च-स्तरीय अवलोकन है जिसे गणितीय रूप से विभिन्न तरीकों से सटीक बनाया जा सकता है, लेकिन इसके बारे में कुछ भी आवश्यक नहीं है। यह एक ऐतिहासिक दुर्घटना है।