2010-03-04 10 views
10

reddit interview with Peter Norvig में, वे कहते हैंलिस्प समुदाय और वेब चौखटे

"विभिन्न कारणों के लिए वेब के सेट लाइब्रेरी या प्रोटोकॉल अन्य भाषाओं में से को धीमी लिस्प में विकसित थे"

और इसके परिणामस्वरूप वेब समुदाय के बीच लिप अप गोद ले गया, और लोग अमीर लाइब्रेरी सेट वाले भाषाओं के बाद गए।

क्या LISP समुदाय द्वारा वेब ढांचे के निर्माण में इस धीमेपन का कोई कारण है?

उत्तर

11

श्री Norvig की टिप्पणी मुझे वर्तमान स्थिति के आकलन से अधिक ऐतिहासिक होने लगती थी। शायद 90 के उत्तरार्ध के मध्य में वेब संबंधित लाइब्रेरी सामान्य लिस्प में जल्द से जल्द दिखाई नहीं दे रहे थे क्योंकि उन्होंने जावा जैसी अन्य भाषाओं में किया था।

लेकिन निश्चित रूप से आज ऐसा नहीं है। मैं अपाचे के लिए मॉड-लिस्प का उल्लेख नहीं करने के लिए, मेरे सिर (सीएल-एचटीटीपी, हुनचेनोट, एस-एचटीटीपी-सर्वर, अरनेडा, एलेग्रोसेव) के शीर्ष से पांच सामान्य लिस्प वेब सर्वरों का नाम नहीं दे सकता। लगभग एक दर्जन विभिन्न वेब ढांचे (केपीएक्स, वेबलॉक्स, असामान्य वेब, एट अल) होना चाहिए। और प्रत्येक वेब संक्षिप्त नाम के लिए सामान्य लिस्पी लाइब्रेरीज़ हैं जिन्हें आप नाम दे सकते हैं: SOAP, XML, XLST, FTP, XML-RPC, S3, AJAX .... विज्ञापन infinitum। और ऐसे उपकरण हैं जिनके पास अन्य भाषाओं में कोई एनालॉग नहीं है, जैसे आश्चर्यजनक आश्चर्य की बात है। http://www.cl-user.net, जिनमें से कई पर http://www.common-lisp.net

5

मुझे नहीं पता कि उसका क्या मतलब है। मेरा अनुमान है कि यह शायद अधिक सामान्य "सामान्य लिस्प पुस्तकालयों की कमी" की शिकायत का एक उदाहरण है (जो मुझे ज्यादातर बंक लगता है, लेकिन जो भी हो)।

यह दिलचस्प है note that रहे हैं:

पहले HTTP 1.1 आज्ञाकारी सर्वर और [एक] W3C द्वारा उपयोग किए गए HTTP 1.1 संदर्भ कार्यान्वयन

डिबग करने के लिए लिस्प में लिखा गया था।

2

"लिस्प समुदाय" एक व्यापक शब्द लगता है। लेकिन आम लिस्प के लिए आपके पास हुनचेनोट है जो बहुत से लोग उपयोग करते हैं। वेब की सुविधा के साथ डॉ योजना जहाजों में बनाया गया।

मेरा पसंदीदा, Clojure बस कुछ उदाहरण है कि दिलचस्प हैं करने के लिए, वेब अनुप्रयोग, Ring, Compojure, Enlive, Clutch के निर्माण के लिए कई शांत सक्रिय रूप से विकसित पुस्तकालयों है।

+0

हुनचेनोट महान है, लेकिन यह टीबीएनएल पर आधारित है और असर्व द्वारा प्रेरित है, जिसका प्रारंभिक चेंजलॉग प्रविष्टि 1 999 है। तुलना में, एओएलएसवर (नी नेवीसेवर) 1 99 4 में सी/टीसीएल का उपयोग कर रहा था। पर्ल, जावा और पीएचपी लोग भी डाल रहे थे। 1 99 0 के दशक के मध्य में वेब पर चीजें। क्लोजर 2007 तक दृश्य पर नहीं पहुंचा था। मुझे लगता है कि "विकसित करने के लिए धीमे" के मानदंडों को पूरा करता है। :-) – Ken

8

मुझे लगता है कि एक प्रमुख कारण पुस्तकालयों थोड़ा धीमा हो कई अन्य भाषाओं की तुलना में लिस्प में विकसित करने के लिए कर सकते हैं बनाए रखा जाता है:

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

लगभग एक साल पहले, मुझे क्लोजर में सीएसवी पढ़ना और लिखना पड़ा। मानक सलाह कई प्रसिद्ध, अच्छी तरह से परीक्षण जावा पुस्तकालयों का उपयोग करना था। मुझे यह पता लगाने में और अधिक मुश्किल लग गई कि कौन सी लाइब्रेरी सबसे उपयुक्त थी और क्लोजर में write my own की तुलना में इसकी एपीआई सीखना था। यह 50 लाइनें है, और यह मेरे इच्छित उपयोग मामले को खूबसूरती से संभालती है।हालांकि यह वास्तव में एक अच्छी सीएसवी पुस्तकालय नहीं है; ऐसे कई मामले हैं जो इसका समर्थन नहीं करते हैं, इसलिए मैंने इसे लाइब्रेरी के रूप में पैक नहीं किया है, इसे Clojars या इसी तरह रखा है। मुझे लगता है कि मैं समस्या का हिस्सा हूं।

वेब पर हाल ही में व्यावहारिक लिस्प ट्यूटोरियल में आधे एचटीएमएल पीढ़ी मैक्रो का एक उदाहरण शामिल है। उनमें से अधिकांश उत्पादन-गुणवत्ता और कोड के स्क्रीनफुल से थोड़ा अधिक हैं। यह मुश्किल से पैकेजिंग के लायक लगता है और पुस्तकालय बुलाता है; यह मामूली कोड है किसी भी सभ्य लिस्प प्रोग्रामर कुछ मिनटों में लिख सकता है। यह लाइब्रेरी के रूप में पैकेजिंग के लायक होने के है, और Edi Weitz ने उन पंक्तियों के साथ कोड का एक गुच्छा जारी किया है।

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