[หมายเหตุ: ย่อหน้านี้ล้าสมัยแล้ว] ชื่อคำถามของคุณมีข้อสันนิษฐานที่ไม่ได้รับการรับรองนั่นคือภาษาการเขียนโปรแกรมเป็น "ตามรากฐานของคณิตศาสตร์" โดยทั่วไปจะไม่เป็นเช่นนั้นแม้ว่าทั้งสองพื้นที่จะมีความสัมพันธ์ที่สำคัญ ข้อความที่แม่นยำมากขึ้นคือภาษาการเขียนโปรแกรม (บางภาษา) ได้รับการออกแบบโดยใช้เทคนิคพื้นฐาน คำถามที่ดีกว่าที่จะถามคือ"ภาษาการเขียนโปรแกรมและพื้นฐานของคณิตศาสตร์เกี่ยวข้องกันอย่างไร"
การเชื่อมต่อทั่วไปส่วนใหญ่เป็นตัวเป็นตนในสโลแกนหลักฐานเป็นโปรแกรมซึ่งสามารถทำงานได้หลายวิธี การติดต่อกับCurry-Howardเป็นสิ่งที่ชัดเจนที่สุด ด้วยเหตุนี้เราจึงเชื่อมโยงทฤษฎีชนิดตรรกะและการเขียนโปรแกรมในครั้งเดียว แต่ควรเน้นว่าการติดต่อกับ Curry-Howard นั้นทำงานได้ไม่ดีเมื่อมีการเรียกซ้ำโดยทั่วไป (เพราะทุกประเภทกลายเป็นที่อยู่อาศัย) ซึ่งภาษาการเขียนโปรแกรมสำหรับวัตถุประสงค์ทั่วไปสนับสนุน
วิธีที่ง่ายกว่าในการทำให้งานสโลแกนเป็นโปรแกรมที่ใช้งานได้จริง ที่นี่เราก็เกี่ยวข้องกับการพิสูจน์และโปรแกรม แต่ตอนนี้ทิศทางไปจากการพิสูจน์ไปยังโปรแกรม: ทุกบทพิสูจน์ให้โปรแกรม แต่ไม่ใช่ทุกโปรแกรมที่จำเป็นต้องพิสูจน์
ตัวอย่างหลักของภาษาการเขียนโปรแกรมบนพื้นฐานเป็นAGDAซึ่งก็คือการดำเนินการของทฤษฎีประเภทขึ้นอยู่กับ อย่างไรก็ตาม Agda ไม่ใช่ภาษาการเขียนโปรแกรมทั่วไปเนื่องจากไม่รองรับการเรียกซ้ำทั่วไป ทุกฟังก์ชั่นใน Agda เป็นผลรวมและมีฟังก์ชันที่คำนวณได้ซึ่งไม่สามารถนำมาใช้ใน Agda ได้ ในทางปฏิบัติโปรแกรมเมอร์จะไม่สังเกตเห็นสิ่งนี้ แต่พวกเขาจะสังเกตเห็นว่า Agda ไม่อนุญาตค่าที่ไม่ได้กำหนดตัวอย่างเช่นลูปไม่สิ้นสุด
Coqคือไม่เป็นภาษาโปรแกรม แต่ผู้ช่วยพิสูจน์ อย่างไรก็ตามมันก็มีความสามารถในการแตกไฟล์ซึ่งให้โปรแกรมจากการพิสูจน์ ผู้ช่วยที่พิสูจน์อักษรและภาษาการเขียนโปรแกรมไม่ควรสับสนระหว่างกัน
เราไม่ควรลืมว่าภาษาอารัมภบทและภาษาการเขียนโปรแกรมเชิงตรรกะอื่น ๆใช้แรงบันดาลใจจากแนวคิดที่ว่าการคำนวณเป็นการค้นหาที่พิสูจน์ได้ หลักสูตรนี้เกี่ยวข้องกับพวกเขาอย่างใกล้ชิดกับตรรกะ
Haskell เป็นภาษาโปรแกรมวัตถุประสงค์ทั่วไปซึ่งอยู่บนพื้นฐานทฤษฎีโดเมน กล่าวคือความหมายของมันคือทฤษฎีโดเมนเพราะมันจะต้องมีฟังก์ชั่นบางส่วนและการเรียกซ้ำ ชุมชน Haskell ได้มีการพัฒนาเทคนิคจำนวนหนึ่งแรงบันดาลใจจากทฤษฎีประเภทที่monadsเป็นที่รู้จักกันดีที่สุด แต่ไม่ควรจะสับสนกับmonads โดยทั่วไปคุณสมบัติการเขียนโปรแกรมขั้นสูงมักจะได้รับการปฏิบัติด้วยการผสมผสานระหว่างทฤษฎีโดเมนและทฤษฎีหมวดหมู่ แต่นี่ไม่ใช่สิ่งที่โปรแกรมเมอร์ Haskell ในท้องถนนเชี่ยวชาญ ที่เรียกว่า "หมวดหมู่วากยสัมพันธ์" ของประเภท Haskell เป็นมุมมองของคนทั่วไปเกี่ยวกับวิธีที่ Haskell และทฤษฎีหมวดหมู่สอดคล้องกัน
ทฤษฎีเซต (แบบดั้งเดิมหรือเชิงสร้างสรรค์) ดูเหมือนว่าจะสร้างแรงบันดาลใจความคิดในการเขียนโปรแกรมภาษาในระดับที่น้อยกว่า แน่นอนว่าทฤษฎีเซตเชิงสร้างสรรค์นั้นมีความเชื่อมโยงกับการเขียนโปรแกรมผ่านตรรกะเชิงสร้างสรรค์ แอปพลิเคชั่นที่สำคัญอย่างหนึ่งของทฤษฎีเซต intuitionistic กับภาษาการเขียนโปรแกรมนั้นได้รับจาก Alex Simpson ที่ใช้เพื่อทำให้ทฤษฎีโดเมนสังเคราะห์ทำงาน แต่นี้เป็นสิ่งที่ค่อนข้างสูงอาจจะดูภาพนิ่งเหล่านี้ Jean-Louis Krivine ได้พัฒนาแบรนด์ที่น่าสนใจมากสำหรับ realizability ของทฤษฎีเซตแบบดั้งเดิม นี่เป็นวิธีที่ดีในการเชื่อมโยงทฤษฎีเซตดั้งเดิมและการเขียนโปรแกรม
โดยสรุปทฤษฎีภาษาการเขียนโปรแกรมใช้เทคนิคพื้นฐาน นี่ไม่น่าแปลกใจเพราะเราคิดว่าการคำนวณเป็นแนวคิดพื้นฐาน แต่มันก็ไร้เดียงสาเกินไปที่จะกล่าวว่าภาษาการเขียนโปรแกรมนั้น "อิง" อยู่บนรากฐานที่แน่นอน ในความเป็นจริง trichotomy ของรากฐาน "ทฤษฎีเซต - ทฤษฎีประเภท - ทฤษฎีหมวดหมู่" เป็นเพียงการสังเกตระดับสูงที่มีประโยชน์ที่สามารถทำให้แม่นยำทางคณิตศาสตร์ในรูปแบบต่าง ๆ แต่ไม่มีอะไรจำเป็นเกี่ยวกับมัน มันเป็นอุบัติเหตุประวัติศาสตร์