2010-10-26 15 views
15

मैं अपने सीएस प्रमुख के अपने दूसरे वर्ष में हूं, और मेरे पास केवल सी (पहले कोर्स और फिर एक पॉलिमॉर्फिक डेटा स्ट्रक्चर कोर्स), सी ++ (ओओपी फोकस), एमआईपीएस असेंबली, और एक कंपाइलर कोर्स में पाठ्यक्रम हैं। मैंने गर्मियों में WinForms और C# में काम किया। मैंने लिटिल शेमर के माध्यम से काम किया और मैं वास्तव में कुछ प्रकार के LISP सीखने में रूचि रखता हूं।संपादन emacs से अलग LISP कैसे emacs है?

Emacs मेरी पसंद का संपादक है - Emacs LISP को शुरू करने के लिए एक शानदार जगह होना चाहिए।

emacs को अनुकूलित करने के अलावा, मैं emacs LISP का उपयोग कहां से कर सकता हूं? Elisp कोड से निष्पादन योग्य बनाना link text के अनुसार लगभग असंभव लगता है। वहां अन्य सीमाएं क्या हैं?

क्या मुझे इसके बजाय योजना या सामान्य लिस्प सीखना चाहिए?

+2

संभावित रुचि का यह संबंधित प्रश्न हो सकता है - जिसमें उत्तर है जो Emacs lisp और सामान्य lisp के पेशेवरों/विपक्ष पर बहस करता है। http://stackoverflow.com/questions/3840443/how-to-go-about-learning-common-lisp-and-emacs-lisp –

+0

कोई फर्क नहीं पड़ता। एक सीएस प्रमुख के रूप में आपको सीखना सीखना चाहिए। लिस्प के कुछ रूप सीखना बहुत अच्छा है। आप जो भी चुनते हैं वह वास्तव में कोई फर्क नहीं पड़ता। एक से दूसरे में जो सीखते हैं उसे लेना आसान है। – Stefan

उत्तर

11

Emacs एक टेक्स्ट एडिटर है। Emacs Lisp - दिल में - एक पाठ संपादन भाषा है।

आज elisp के शिखर - आईएमओ - ईआरसी, emacs आईआरसी क्लाइंट, और संगठन मोड, बहुत अच्छा आयोजन प्रणाली है। Emacs के लिए एक ईमेल क्लाइंट भी है।

तो टेक्स्ट संपादन प्लगइन बनाने के लिए, मुझे नहीं लगता कि आप elisp/emacs को हरा सकते हैं।

वास्तविक स्टैंडअलोन एप्लिकेशन विकास के लिए, आम लिस्प शायद आपकी सबसे अच्छी शर्त है। मैं सीएलआईएसपी कार्यान्वयन का पक्ष लेता हूं, लेकिन एसबीसीएल भी बहुत लोकप्रिय है। लिस्प कार्यान्वयन की एक बड़ी संख्या है। किसी ने हाल ही में मजाक किया कि लिस्प-उपयोग करने वाली कंपनियों की तुलना में अधिक लिस्प कंपाइलर हैं। : -o

+0

एसबीसीएल इन दिनों सबसे लोकप्रिय प्रतीत होता है, उदाहरण के लिए, ज़ैच के हालिया सर्वेक्षण (जिसमें दोनों मुफ्त और वाणिज्यिक कंपाइलर्स शामिल थे) ने एसबीसीएल का उपयोग करके 80% से अधिक देखा। – Ken

4

यह निश्चित रूप से व्यक्तिपरक है, लेकिन मुझे लगता है कि सामान्य लिस्प या (मानक) योजना सीखना आम तौर पर अधिक उपयोगी है, केवल साधारण तथ्य के लिए कि आप एक संकलक तक सीमित नहीं होंगे। अपने कोड के साथ जो कुछ भी करना चाहते हैं, उसे देखना मुश्किल है, तो खुद को एक कार्यान्वयन में क्यों लॉक करें?

3

Emacs Lisp एक स्क्रिप्टिंग भाषा है जो Emacs पर्यावरण के लिए विशिष्ट है, यह जानने के लिए उपयोगी है कि क्या आप Emacs की समझ में स्टालमैन को प्रतिद्वंद्वी बनाना चाहते हैं या एक्सटेंशन लिखना चाहते हैं।

आम लिस्प लिस्प के लिए वास्तविक तथ्य है। योजना अधिक शैक्षिक है, मुख्य रूप से प्रसिद्ध एमआईटी कक्षा और पुस्तक (एसआईसीपी) के साथ इसके सहयोग के कारण, हालांकि यह अपने आप पर शक्तिशाली है।

हालांकि वे अलग हैं। कुछ संबंधों से योजना योजना सबसे छोटी कंप्यूटर भाषाओं में से एक है (मानक पुस्तकालय के संदर्भ में)। भाषा परिभाषा कुछ छः पेज हैं। कॉमन लिस्प वहां सबसे बड़ी कंप्यूटर भाषाओं में से एक है।

और भी दिलचस्प उदाहरण हैं। कुछ साल पहले मैं एक लिस्प बोली के साथ खेल रहा था जिसमें इनलाइन सी और पायथन कोड के लिए समर्थन था, साथ ही साथ सी और पायथन ऑब्जेक्ट्स का आयात और उपयोग करना और सीधे उनसे कॉल करना। हालांकि, ऐसा लगता है कि यह अस्पष्टता में फीका है क्योंकि मुझे Google पर इसका संदर्भ नहीं मिल रहा है।

5

जैसा कि अन्य ने कहा है, Emacs lisp में टेक्स्ट एडिटर बनाने के लिए कई प्राइमेटिव हैं।

उसने कहा, यह अभी भी लापरवाही है, और लिस्प (Emacs, आम, या योजना) का उपयोग करके आरामदायक हो रहा है।

यदि आप उनका उपयोग करना चाहते हैं तो आप सामान्य लिस्प मैक्रोज़ तक पहुंच प्राप्त करने के लिए common lisp package का उपयोग कर सकते हैं।

आप रुचि स्क्रिप्ट लिखने के लिए Emacs lisp का उपयोग कर सकते हैं (this question देखें), यदि यह ब्याज है। यदि आप अन्य चल रही प्रक्रियाओं से कनेक्ट करना चाहते हैं तो निम्न प्रक्रिया संभाल उपयोगी है (comint देखें)।

प्रोजेक्ट पर आप काम करना चाहते हैं, और उसके बाद अपना निर्णय प्रवाह दें। यदि Emacs lisp अच्छी तरह फिट बैठता है, तो इसका उपयोग करें, यदि सामान्य लिस्प अच्छी तरह से काम करता है, तो इसका उपयोग करें।

3

यदि आप कुछ लिस्प सीखने में रुचि रखते हैं तो मैं चिकन योजना (http://www.call-cc.org) का पुनर्मूल्यांकन करूंगा। यह बहुत अच्छा प्रलेखन है, सक्रिय रूप से विकसित किया गया है, विभिन्न प्लेटफार्मों पर काम करता है और इसमें 'अंडे' नामक एक महान विस्तार प्रणाली है जिसमें एक्टौल कोडिंग के लिए बहुत सी पुस्तकालय शामिल हैं जो योजना सीधे निर्दिष्ट नहीं करती है।

दूसरी ओर, एमएक्स एमएसीएस सीखने के लिए एक महान विकास वातावरण है, जो स्क्रिप्टिंग के लिए बहुत उपयोगी है और (जाहिर है) emacs को अनुकूलित करना। कार्यों और चर के लिए प्रलेखन होने के कारण केवल एक सी-एच एफ, सी-एच वी और सी-एच ए दूर विकास को बहुत आसान बनाता है; एक बार जब आप कुछ अधिक अस्पष्ट नामकरण सम्मेलनों को सीखते हैं जो वर्षों से elisp बनाया गया है।

4

ऐसा लगता है कि आप एक लिस्पी सीख रहे हैं। उस योजना के लिए अक्सर अनुशंसा की जाती है, और आप कहते हैं कि आप लिटिल शेमर पढ़ रहे हैं।

PLT Racket जो पहले पीएलटी योजना थी, एक बहुत अच्छी योजना विकास और सीखने का माहौल था। पीएलटी योजना का मूल प्राथमिक फोकस व्यावहारिक था, योजना से रैकेट का नामकरण एक बुरा पून है, लेकिन यह इंगित करना है कि प्रणाली परिपक्व और उत्पादक "असली दुनिया" उपयोग के लिए पर्याप्त है।

संबंधित मुद्दे