Loading...

लिसप की जड़ें

Original

मई 2001

(मैंने यह लेख खुद को समझने में मदद करने के लिए लिखा था कि वास्तव में मैककार्थी ने क्या खोजा। लिसप में प्रोग्राम करने के लिए आपको यह सब जानने की ज़रूरत नहीं है, लेकिन यह किसी भी व्यक्ति के लिए मददगार होना चाहिए जो लिसप के सार को समझना चाहता है - इसके उद्भव और इसके सिमेंटिक कोर दोनों के अर्थ में। यह तथ्य कि इसका ऐसा कोर है लिसप की विशिष्ट विशेषताओं में से एक है, और यही कारण है कि, अन्य भाषाओं के विपरीत, लिसप के बोलीभाषाएँ हैं।)

1960 में, जॉन मैककार्थी ने एक उल्लेखनीय पेपर प्रकाशित किया जिसमें उन्होंने प्रोग्रामिंग के लिए कुछ ऐसा किया जो यूक्लिड ने ज्यामिति के लिए किया था। उन्होंने दिखाया कि कैसे, कुछ सरल ऑपरेटरों और कार्यों के लिए एक संकेतन दिए जाने पर, आप एक पूरी प्रोग्रामिंग भाषा बना सकते हैं। उन्होंने इस भाषा को लिसप कहा, "लिस्ट प्रोसेसिंग" के लिए, क्योंकि उनके प्रमुख विचारों में से एक एक सरल का उपयोग करना था सूची नामक डेटा संरचना दोनों के लिए कोड और डेटा।

मैककार्थी ने जो खोजा उसे समझना ​​​​महत्वपूर्ण है, न केवल कंप्यूटर के इतिहास में एक मील का पत्थर के रूप में, बल्कि एक के रूप में मॉडल के लिए कि प्रोग्रामिंग हमारे अपने समय में क्या बन रही है। ऐसा लगता है कि मेरे लिए अब तक प्रोग्रामिंग के दो वास्तव में साफ, सुसंगत मॉडल रहे हैं: C मॉडल और लिसप मॉडल। ये दोनों उच्च भूमि के बिंदु प्रतीत होते हैं, जिनके बीच दलदली निचले इलाके हैं। जैसे-जैसे कंप्यूटर अधिक शक्तिशाली होते गए हैं, विकसित की जा रही नई भाषाएँ स्थिर रूप से चल रही हैं लिसप मॉडल की ओर। एक लोकप्रिय नुस्खा पिछले 20 वर्षों में नई प्रोग्रामिंग भाषाओं के लिए C मॉडल की गणना लेना और जोड़ना है इसमें, टुकड़े-टुकड़े, लिसप मॉडल से लिए गए भाग, जैसे रनटाइम टाइपिंग और कचरा संग्रह।

इस लेख में मैं सबसे सरल में समझाने की कोशिश करने जा रहा हूँ संभव शब्दों में मैककार्थी ने क्या खोजा। बिंदु केवल एक दिलचस्प के बारे में जानने के लिए नहीं है सैद्धांतिक परिणाम जो किसी ने चालीस साल पहले निकाला था, लेकिन यह दिखाने के लिए कि भाषाएँ कहाँ जा रही हैं। लिसप के बारे में असामान्य बात - वास्तव में, लिसप की परिभाषित गुणवत्ता - यह है कि इसे स्वयं में लिखा जा सकता है। यह समझने के लिए कि मैककार्थी का क्या मतलब था, हम उसके चरणों का पता लगाने जा रहे हैं, उसके गणितीय संकेतन का अनुवाद चल रहे कॉमन लिसप कोड में किया गया है।