मैं एक C ++ प्रोग्रामर हूं जो कॉमन लिस्प सीखने की कोशिश कर रहा हूं। मैंने लैंड ऑफ लिस्प जैसी कुछ पुस्तकों को देखा है और लिस्प के विभिन्न गुणों के बारे में कई ऑनलाइन लेख पढ़े हैं। हालांकि, मुझे कुछ सलाह की जरूरत है।
कॉमन लिस्प के बारे में लगभग सब कुछ मैंने पढ़ा है कि यह कितना अद्भुत है और आप आश्चर्यजनक रूप से कितनी तेजी से इसके साथ सामान प्राप्त कर सकते हैं और यह कैसे 30 साल पहले आधुनिक प्रोग्रामिंग भाषाओं के साथ कई समस्याओं को हल करता है। यह भी कि कैसे अद्भुत मैक्रोज़ हैं, और कैसे हर प्रोग्रामिंग प्रतिमान (OO, कार्यात्मक, अभिनेता आधारित या जो कुछ भी, आदि) का उपयोग लिस्प में किया जा सकता है, और सूची कैसे अंतिम डेटा संरचना है। मूल रूप से लिस्प को एक शोध भाषा की तरह मानते हैं और कहते हैं कि यह कितना अलग और क्रांतिकारी है।
और यह सब सामान शायद सच है, लेकिन समस्या यह है कि मैंने बहुत अधिक सामान नहीं देखा है कि कैसे व्यावहारिक चीजों की तरह एक फ़ाइल को पढ़ा जाए और उसे शब्दों में विभाजित किया जाए और उस पर कुछ प्रसंस्करण किया जाए। मुझे कॉमन लिस्प सीखने के लिए कॉमन लिस्प सीखने में कोई दिलचस्पी नहीं है, लेकिन जिस चीज के लिए मैं सी ++ में काम करता था वह तेजी से और कम त्रुटियों के साथ किया जाता है।
तो मेरा सवाल यह है कि सबसे अच्छा संसाधन क्या है (यह एक वेबसाइट, पुस्तक, कुछ भी हो) जो आम प्रोग्रामिंग कार्यों को करने के लिए कॉमन लिस्प का उपयोग करने के लिए शिक्षण पर केंद्रित है।
- फाइलें कैसे पढ़ें
- किसी फ़ाइल को कैसे पढ़ें, फ़ाइल में शब्दों को बदलें, और परिणाम को फ़ाइल में वापस लिखें
- एक निर्देशिका और अन्य फाइलसिस्टम सामान में फ़ाइलों को मिटाएँ
- SQL db के साथ सहभागिता करें
- सॉकेट पर संचार करें
- वेबसर्वर की तरह सामान के लिए थ्रेडिंग
- GUIs बनाएँ
- बाइनरी फ़ाइलों पर कार्रवाई करें
- एक पार्सर लिखें (लिस्प में लिस्प के लिए एक दुभाषिया नहीं, जिसे मैं समझता हूं कि लिस्प की 5 पंक्तियों की तरह है)
- ऑपरेटिंग सिस्टम (यानी C या C ++ में लिखे गए सामान) के साथ इंटरेक्ट करने के लिए लिस्प मूल रूप से नहीं कर सकते
- सी में लिस्प एक्सटेंशन कैसे लिखें (क्या यह संभव है?)
- एक लुआ दुभाषिए को एम्बेड करें (क्या यह संभव है?)
और यह भी एक कम तुरंत व्यावहारिक नोट पर, लिस्प में आम डेटा संरचनाओं को कैसे लागू किया जाए जैसे कि ढेर, ढेर, बाइनरी सर्च ट्री, आदि। हालांकि यह लिस्प की सूची संचालन जैसे car
और cdr
सही तरीके से उपयोग कर सकता है । मुझे नहीं पता।
मुझे बहुत संदेह है कि इसमें से कोई भी (सूची में अंतिम दो के अप्रत्याशित अपवाद के साथ) लिस्प के साथ असंभव है या लोग इसे इतना पसंद नहीं करेंगे। और उपर्युक्त सामान जो मैंने पढ़ा है, उसमें बहुत सारे वास्तविक विश्व सॉफ्टवेयर का उल्लेख है जो लिस्प में लिखा गया है (याहू-वेब स्टोर दिमाग में आता है)।
हालाँकि, इससे पहले ( इन? ) अनिवार्य भाषा में प्रोग्रामिंग होने से, मैं वास्तविक दुनिया के अनुप्रयोगों को लिखने के लिए जो नया ज्ञान प्राप्त करता हूं उसका उपयोग करने के लिए उत्सुक हूं। तो लिस्प के साथ व्यावहारिक सॉफ्टवेयर लिखना सीखने का सबसे तेज़ तरीका क्या है?
वैसे, मैंने पीटर सीबेल के प्रैक्टिकल कॉमन लिस्प को देखा है , लेकिन टीओसी को देखते हुए, यह केवल उन कुछ चीजों को छूता है, जो मैं लिस्प का उपयोग करना सीखना चाहता हूं।
एक और सवाल अगर मुझे हो सकता है (क्षमा करें यदि यह दो प्रश्नों को एक में जोड़ रहा है), तो मुझे लिस्प के कार्यों और सामान का संदर्भ कहां मिल सकता है?
और मैं वास्तव में लिस्प को पसंद करना चाहता हूं ।