मैं जिस चीज़ के बारे में नफरत करता हूं, वह है "मैं जो कुछ भाषा के बारे में नफरत करता हूं" सूची के बारे में पांच चीजें? : डी
5- नारंगी लाल रंग से पेंट करना एक सेब नहीं है।
जब कोई भाषा डिज़ाइन की जाती है, तो डिज़ाइनर आमतौर पर यह ध्यान में रखते हैं कि यह किसके लिए उपयोगी है। पूरी तरह से अलग चीज के लिए इसका उपयोग करना काम कर सकता है , लेकिन जब यह ठीक नहीं है तो शिकायत करना। अजगर को ले लो। मुझे यकीन है कि या तो किसी के पास है या किसी दिन पायथन कोड से एक्सई बनाने के लिए एक उपयोगिता बना देगा। परमेश्वर की धरती पर आप ऐसा क्यों करना चाहेंगे ? यह साफ-सुथरा होगा-मुझे गलत मत समझो-लेकिन इसका कोई उपयोग नहीं है। तो इसके बारे में शिकायत करना बंद करो!
एक अच्छी तरह से डिज़ाइन की गई परियोजना में कई भाषाओं के कोड होंगे। यह कहना है कि आप केवल एक भाषा के साथ एक परियोजना को पूरा नहीं कर सकते। कुछ परियोजनाएं आप जो भी भाषा का उपयोग कर रहे हैं उसकी क्षमताओं के भीतर अच्छी तरह से हो सकता है।
4- क्या आप लकड़ी के पैरों पर खड़े हैं?
मंच भाषा का क्या कर सकता है इसका एक बड़ा प्रभाव हो सकता है। आजकल के कचरा बीनने वाले, या अच्छी तरह से "कचरा संग्रह" के शुरुआती प्रयास में पास्कल के साथ, स्मृति फीका करने में मदद कर सकते हैं (शायद मैलोक अधिक राम ??)। कंप्यूटर तेज हैं और इसलिए, हम अपनी भाषाओं से अधिक उम्मीद करते हैं। और काफी स्पष्ट रूप से, हमें शायद ऐसा करना चाहिए। हालांकि, हैश टेबल या तार या कई अन्य अवधारणाओं को बनाने के लिए संकलक की सुविधा के लिए भुगतान करने के लिए एक बड़ी कीमत है। हो सकता है कि इन चीजों को उस प्लेटफॉर्म से विरासत में न मिला हो, जिसका वे इस्तेमाल करते हैं। यह कहने के लिए कि उन्हें एक भाषा में शामिल करना आसान है बस मुझे बताता है कि आपके पास खड़े होने के लिए एक पैर नहीं हो सकता है।
3- यह वास्तव में किसका दोष है?
कीड़े। तुम्हे पता हैं। मुझे कीड़े पसंद हैं। मुझे कीड़े क्यों पसंद हैं क्योंकि इसका मतलब है कि मुझे अपना काम रखना है। बग के बिना, कई बंद पिज्जा की दुकानें होंगी। हालांकि, उपयोगकर्ता बग से नफरत करते हैं। लेकिन यहाँ ठंडे पानी का थोड़ा छींटा है। हर बग है प्रोग्रामर गलती। भाषा की नहीं। इस तरह के एक सख्त वाक्यविन्यास के साथ एक भाषा जो काफी कम हो जाएगी कि कितने कीड़े उत्पन्न करने के लिए संभव थे, एक पूरी तरह से बेकार भाषा होगी। यह क्षमता शायद एक हाथ पर गिना जा सकता है। आप लचीलापन या शक्ति चाहते हैं? आपको कीड़े लग गए हैं। क्यों? क्योंकि आप सही नहीं हैं, और आप गलतियाँ करते हैं। C में वास्तव में पहचाने जाने योग्य उदाहरण लें:
int a[10];
for (int idx = 0; idx < 15; idx++) a[idx] = 10;
हम सभी जानते हैं कि यह क्या करने जा रहा है। हालाँकि, शायद हम में से कुछ को एहसास नहीं है कि कार्यक्षमता बहुत फायदेमंद हो सकती है। आप जो कर रहे हैं उसके आधार पर। बफ़र ओवररन उस कार्यक्षमता की लागत हैं। वह कोड ऊपर। अगर मैं वास्तव में जनता के लिए जारी किया है। वो फिर से .. इसे मेरे साथ कहो .. "मेरी गलती"। मुझे ऐसा करने की अनुमति नहीं है।
2- क्या हमें उसको रीसायकल बिन में नहीं डालना चाहिए?
किसी भाषा में एक सुविधा को इंगित करना बहुत आसान है जिसे हम नहीं समझते हैं क्योंकि हम अक्सर इसका उपयोग नहीं करते हैं और इसे बेवकूफ कहते हैं। शिकायत है कि यह वहाँ है आदि गोटो हमेशा मेरा मनोरंजन करते हैं। लोग हमेशा गोटो के भाषा में होने की शिकायत करते हैं। फिर भी मैं शर्त लगाता हूं कि आपके अंतिम कार्यक्रम में एक प्रकार का गोटो शामिल था यदि आपने कभी ब्रेक या जारी रखा है, तो आपने एक गोटो का उपयोग किया है। यह वही है। दी, यह एक "सुरक्षित" गोटो है, लेकिन यह वही है जो यह है। गोटो के अपने उपयोग हैं। क्या जारी या विराम की तरह "निहित" गोटो का उपयोग किया जाता है या स्पष्ट गोटो (जो भी भाषा के लिए वास्तविक कीवर्ड "गोटो" का उपयोग किया जाता है)। ऐसा नहीं है कि भाषा डेवलपर निर्दोष हैं, लेकिन आमतौर पर ... यदि कार्यक्षमता समय की सुबह से (उस भाषा के लिए) अस्तित्व में है। संभवतः वह पहलू उस भाषा का एक परिभाषित गुण है। मतलब .. यह ' एस का उपयोग किया जा रहा है और संभवत: पीछे की ओर संगतता के कारण चारों ओर लटका नहीं है। आज इसका उपयोग किया जा रहा है। जैसा कि 5 मिनट पहले हुआ था। और ठीक से इस्तेमाल किया। खैर .. यकीनन कोई इसका अनुचित तरीके से उपयोग कर रहा है, लेकिन यह मेरी सूची में # 3 से संबंधित है।
1. - सब कुछ एक वस्तु है।
ठीक है .. यह वास्तव में # 2 का सबसेट है। लेकिन यह अब तक की सबसे ज्यादा परेशान करने वाली शिकायत है, जिसे मैं घृणा सूची में देखता हूं। सब कुछ एक वस्तु नहीं है। ऐसी बहुत सी अवधारणाएँ हैं जो वस्तुओं के होने या होने की आवश्यकता नहीं हैं। उन चीजों को रखना जहां वे नहीं हैं, बस बदसूरत हैं और एक कार्यक्रम की दक्षता कम कर सकते हैं। ज़रूर। शायद भाषा के आधार पर ज्यादा नहीं। यह भी # 5 से संबंधित है। इसका मतलब है ... हाँ। वैश्विक ठीक हैं। स्टैटिक मेथड्स के अनुसार फंक्शंस ठीक हैं। वैश्विक कार्यों के साथ OO प्रोग्रामिंग का संयोजन ठीक है। अब .. इसका मतलब यह नहीं है कि हम सभी को बाहर जाना चाहिए और हमारे कोड को ऑब्जेक्ट मॉडल से "फ्री" करना चाहिए। कोड के एक खंड या एक पूरी परियोजना को डिजाइन करते समय, पर्दे के पीछे क्या होता है चाहिएइसे एक साथ रखने पर विचार किया जाए। इतना ही नहीं जहां यह अवधारणा रहती है और कई अन्य कारक हैं। वर्गों या नाम अंतरिक्ष अवधारणाओं के भीतर वैश्विक कार्यों को क्यों लपेटें यदि यह कोई उद्देश्य नहीं है? स्थिर सदस्य चर ले लो। यह मुझे बहुत अचंभित करता है क्योंकि .. अच्छी तरह से .. भाषा और पाठ्यक्रम के कार्यान्वयन पर निर्भर है, लेकिन आम तौर पर बोल रहा हूँ, आपने सिर्फ एक वैश्विक घोषित किया है। हां, इन गैर-OO अवधारणाओं को OO रैपर में लपेटने के कुछ कारण हैं। एक स्वयं दस्तावेज कोड होने के नाते। यह समझ में आ सकता है। तो .. जैसा मैं कहता हूं। बाहर मत जाओ और अपने कोड "मुक्त"। लेकिन किसी भी अच्छी आधुनिक भाषा में इसके OO मॉडलिंग के बाहर एक वैश्विक अवधारणा होगी। हां, मैं विशेष रूप से यह कहना चाहता हूं कि वैश्विक अवधारणा के बिना एक ओओ प्रोग्रामिंग भाषा की सबसे अधिक संभावना एक गंभीर डिजाइन दोष है। फिर भी .. भाषा के इरादे और डिजाइन पर निर्भर करता है इसलिए मैं किसी भी विशिष्ट भाषा को चुनने की कोशिश नहीं कर रहा हूं और अभी भी बहुत से लोग यहां विश्लेषण कर रहे हैं। Anywho, विचार करें कि कोड कहां रहना चाहिए और सबसे प्रभावी होना चाहिए। किसी चीज को भड़काना, जो कार्यक्षमता या समर्थन को नहीं जोड़ता है, बस कीबोर्ड को तेजी से पहनता है। यह किसी का भला नहीं करता। खैर .. जब तक आप उस व्यक्ति से ब्राउनी पॉइंट पसंद नहीं करते हैं, जिसने आपको गलत तरीके से सिखाया है कि सब कुछ एक वस्तु है।
संक्षेप में, प्रोग्रामिंग सिर्फ कीबोर्ड पर माइंडलेस टैपिंग नहीं है। किसी भी परियोजना के लिए कई डिजाइन विचार हैं। मुझे पता है कि यह क्लिच है, लेकिन आपको इसे हर कोण से देखना होगा। आजकल की सुरक्षित भाषाओं के साथ भी। आप कोड को केवल चक नहीं करते हैं और यह अच्छी तरह से काम करने की उम्मीद करते हैं। ज़रूर .. यह काम कर सकता है, लेकिन यह इसके बारे में जाने का सही तरीका नहीं हो सकता है। कुल मिलाकर, विशिष्ट कार्य और पर्यावरण के लिए सबसे उपयुक्त भाषा और प्रारूप चुनें। लेकिन कोई भी भाषा इसके पीछे की सोच को दूर नहीं ले जाती है। अगर आप नहीं सोच रहे हैं .. आप सिर्फ टाइप कर रहे हैं।