मैं यहां लेख पढ़ रहा था: http://www.paulgraham.com/avg.html और "ब्लब विरोधाभास" के बारे में विशेष रूप से दिलचस्प था। जैसा कि कोई है जो मुख्य रूप से सी ++ में कोड करता है, लेकिन अन्य भाषाओं (ज्यादातर हास्केल) के संपर्क में है, मुझे इन भाषाओं में कुछ उपयोगी चीजों के बारे में पता है जो कि सी ++ में दोहराने के लिए कठिन हैं। यह सवाल मुख्य रूप से उन लोगों के लिए है जो सी ++ और कुछ अन्य भाषा दोनों में कुशल हैं, क्या कोई शक्तिशाली भाषा विशेषता या मुहावरा है जिसे आप ऐसी भाषा में उपयोग करते हैं जो केवल सी ++ में लिख रहे थे, पर विचार करना या लागू करना कठिन होगा?
विशेष रूप से इस उद्धरण ने मेरा ध्यान आकर्षित किया:
प्रेरण द्वारा, विभिन्न भाषाओं के बीच सत्ता में सभी अंतरों को देखने की स्थिति में एकमात्र प्रोग्रामर वे हैं जो सबसे शक्तिशाली एक को समझते हैं। (यह शायद एरिक रेमंड का मतलब है कि लिस्प आपको बेहतर प्रोग्रामर बनाने के बारे में है।) ब्लूब विरोधाभास के कारण आप दूसरों की राय पर भरोसा नहीं कर सकते हैं: वे जिस भी भाषा का उपयोग करते हैं उससे संतुष्ट हैं, क्योंकि यह तय करता है जिस तरह से वे कार्यक्रमों के बारे में सोचते हैं।
यदि यह पता चलता है कि मैं c ++ का उपयोग करके "ब्लब" प्रोग्रामर के बराबर हूं, तो यह निम्नलिखित प्रश्न उठाता है: क्या आपके पास कोई ऐसी उपयोगी अवधारणा या तकनीक है, जिसका आपने अन्य भाषाओं में सामना किया है, जिसे समझ पाना आपके लिए मुश्किल था। सी ++ में लेखन या "सोच" रहा है?
उदाहरण के लिए प्रोलॉग और मरकरी जैसी भाषाओं में देखे जाने वाले लॉजिक प्रोग्रामिंग प्रतिमान को c ++ में कैस्टर लाइब्रेरी का उपयोग करके लागू किया जा सकता है, लेकिन अंततः मुझे पता चलता है कि मैं प्रोलॉग कोड के संदर्भ में सोच रहा हूं और इसका उपयोग करते समय c ++ समकक्ष में अनुवाद कर रहा हूं। अपने प्रोग्रामिंग ज्ञान को व्यापक बनाने के एक तरीके के रूप में मैं यह पता लगाने की कोशिश कर रहा हूं कि क्या उपयोगी / शक्तिशाली मुहावरों के अन्य समान उदाहरण हैं जो अन्य भाषाओं में अधिक कुशलता से व्यक्त किए जाते हैं कि मैं एक c ++ डेवलपर के रूप में जागरूक नहीं हो सकता हूं। एक और उदाहरण जो दिमाग में आता है वह है लिस्प में मैक्रो सिस्टम, प्रोग्राम के भीतर से प्रोग्राम कोड उत्पन्न करना कुछ समस्याओं के लिए कई फायदे हैं। यह लागू करने के लिए कठिन लगता है और सी + + के बारे में से लगता है।
यह प्रश्न "सी ++ बनाम लिस्प" बहस या किसी भी प्रकार की भाषा-युद्ध प्रकार की बहस का इरादा नहीं है। इस तरह से एक प्रश्न पूछना एकमात्र तरीका है जिससे मैं उन चीजों के बारे में पता लगा सकता हूं जो मुझे नहीं पता कि मुझे नहीं पता है।
there are things that other languages can do that Lisp can't
- पूरी तरह से, चूंकि लिस्प ट्यूरिंग-पूर्ण है। शायद आपके कहने का मतलब है कि कुछ चीजें हैं जो लिस्प में करने के लिए व्यावहारिक नहीं हैं ? मैं किसी भी प्रोग्रामिंग भाषा के बारे में एक ही बात कह सकता हूं ।