सीखने के लिए "गलत" भाषा चुनने में बहुत डर क्यों लगता है? [बन्द है]


28

शायद यह सिर्फ मेरा है, लेकिन एक वर्तमान सीएस छात्र के रूप में मैं पहले से ही इस साइट पर और कहीं और "न जाने किस भाषा में एक्स के लिए उपयोग करूं?" लेकिन यह भी "क्या कोई अभी भी भाषा वाई का उपयोग करता है?" मेरी पहली सीएस क्लास को स्कीम में पढ़ाया गया था, जो कि, अगर मुझसे गलती नहीं है, तो व्यापक रूप से उपयोग नहीं किया जाता है (जावा, पीएचपी, पायथन, आदि जैसी भाषाओं की तुलना में कम से कम)। मेरे कई सहपाठियों ने एक भाषा सीखने के विचार पर बल दिया, जिसका उपयोग उन्हें फिर कभी नहीं करना पड़ेगा, लेकिन मुझे यह समझ में नहीं आता है कि कम लोकप्रिय भाषाओं को सीखने का इतना डर ​​कहाँ से आता है। नहीं, मैं किसी भी नौकरी में स्कीम का उपयोग नहीं कर सकता हूं, लेकिन मुझे निश्चित रूप से इसका उपयोग करने के बारे में पछतावा नहीं है (बहुत शुरुआत में ही, उस एक सेमेस्टर में बहुत गहराई से नहीं)। मैं इस सेमेस्टर में एक खोज इंजन क्लास ले रहा हूं, जो पर्ल में किया गया है और फिर मैं सहपाठियों को भाषा की पसंद के बारे में शिकायत करते हुए देख रहा हूं। मैं एक पसंदीदा भाषा होने और दूसरों को नापसंद करने के बारे में समझ सकता हूं, लेकिन कुछ पहले स्थान पर इसे सीखने पर क्यों काम करते हैं? क्या आप वास्तव में "गलत" भाषा सीख सकते हैं? यदि कुछ और नहीं तो स्कीम या हास्केल अच्छा मानसिक व्यायाम कुछ भी नहीं सीख रहा है, और समस्याओं को हल करने के विभिन्न तरीकों के संपर्क में कम से कम उपयोगी है?


दिलचस्प बात यह है कि, मेरे पहले दो साल की सीएस शिक्षा में केवल C # और Java शामिल थे, और लगता है कि मैंने अपने पहले सह-ऑप प्लेसमेंट में क्या उपयोग किया? चार अक्षर का शब्द, "P" से शुरू होता है।
आनन।

6
@ शेक्सबॉक्स, आप सही कह रहे हैं, वे गलत हैं, आपको क्रॉस-लर्निंग का लाभ मिलेगा, वे नहीं करेंगे। कहानी का अंत।
ओसोदो

7
वे काम पर रखने प्रबंधकों के साथ एसईओ (खोज इंजन अनुकूलन) कर रहे हैं।
rwong

1
@rwong: और दुर्भाग्यवश हममें से कुछ लोगों को "मैंने एक बार XXX का उपयोग किया था और इसे फिर कभी नहीं छूएगा", क्योंकि कुछ मिलान कीवर्ड पर मेल खाते हैं।

1
@JB: लोगों के 99% दूसरों देखो की तरह वे चुंबन कर रहे हैं।
माइकल के

जवाबों:


27

CS डिग्री की बात यह नहीं है कि आप C # और Java को सिखाएँ, आप उन्हें स्वयं सीख सकते हैं। इसकी प्रोग्रामिंग और कम्प्यूटेशन के बारे में आपको सिखाने के लिए। भाषा सिर्फ एक विस्तार है। प्रोग्रामिंग में करियर के दौरान आप कई भाषाओं का उपयोग करेंगे। आज यह जावा या सी # हो सकता है लेकिन अब से 10 या 15 साल बाद यह एरलांग या कुछ और हो सकता है जिसका अभी तक आविष्कार भी नहीं हुआ है। विभिन्न प्रोग्रामिंग शैलियों और किसी समस्या पर हमला करने के विभिन्न तरीकों को सीखना किसी एक भाषा को सीखने की तुलना में बहुत अधिक महत्वपूर्ण है।


बिल्कुल सही - मेरी डिग्री C ++ से पहले अकेले जावा या C # को बताती है। हालाँकि हमें मुख्य रूप से पास्कल में पढ़ाया जा रहा था लेकिन हमें शुरुआती चरण से ही कई तरह की भाषाओं में समस्याएँ दी जा रही थीं और हमारे दूसरे वर्ष में एक कोर्स था जिसमें "महीने की भाषा" थी, सिमूला (सिमुलेशन करने के लिए प्रयुक्त) मेरी सबसे प्रिय स्मृति बनी हुई है। हालांकि कोई मौका नहीं है कि मैं अब कोई भी सिमूला कोड लिख सकता हूं - ज्यादातर क्योंकि OOP ने मुझे सिखाया (हालांकि मुझे उस समय यह नहीं पता था)
मर्फ़

17

क्योंकि आपकी पहली भाषा आकार देगी कि आप कैसे सोचते हैं, जब तक आप अन्यथा नहीं सीखते।

यदि आप कम्प्यूटेशनल रूप से अनपढ़ (पहली बार प्रोग्रामर) हैं, और आप जो पहली भाषा सीखते हैं, वह बहुत "बेसिक" है, तो आप ऑब्जेक्ट ओरिएंटेशन, मल्टीपल डिस्पैच, इनहेरिटेंस, फर्स्ट क्लास फ़ंक्शंस, मेटा प्रोग्रामिंग इत्यादि जैसी उच्च श्रेणी की अवधारणाओं के बारे में नहीं जानते होंगे।

आपके द्वारा सीखी जाने वाली पहली भाषा आमतौर पर कम्प्यूटेशनल सोच में आपके पहले कदम से जुड़ी होती है। यदि कोई आपसे कहता है, जिमी, आपके सामने दुनिया ए, बी और सी प्रतीकों से संबंधित है, तो आपकी सभी सोचें ए, बी और सी के संदर्भ में होंगी। एक दिन तक, एक्स को न जानने के लिए एक फैंसी बेवकूफ आपके ऊपर झांसा देता है। , वाई, और जेड अवधारणाओं। कोई तरीका नहीं है कि आप इसे केवल एबीसी जानते हुए जानते होंगे।

जो लोग किसी की पहली भाषा के बारे में सबसे अधिक चिंतित हैं, वे शायद प्रबुद्ध प्रोग्रामर हैं जिन्होंने अंधेरे के माध्यम से संघर्ष किया है। ओह, अब मुझे पता है कि प्रथम श्रेणी का कार्य क्या है। यार, काश कि मुझे दो साल पहले विरासत और निर्भरता इंजेक्शन के बारे में पता होता!

आपकी पहली भाषा उतनी महत्वपूर्ण नहीं है जितनी बाद की भाषाओं के संबंध में आपका दृष्टिकोण। यदि आप यह जानने के लिए आपसे बहुत आगे हैं कि मूल / C / Perl / PHP / etc से परे एक दुनिया है, तो आप खेल से बहुत आगे हैं। यही कारण है कि कई लोग कार्यात्मक भाषाओं के लिए कट्टरपंथी हैं क्योंकि कई सक्रिय रूप से विकसित भाषाएं उनकी ओर परिवर्तित हो रही हैं।


1
हम सभी को उन बुनियादी अवधारणाओं पर शुरू करने की आवश्यकता है, हालांकि। जब कोई एक नई अवधारणा सीखता है (उदाहरण के रूप में डिजाइन पैटर्न लेते हैं) तो वे हर जगह थोड़ी देर के लिए इसका इस्तेमाल करते हैं। अगर मैंने पहले 5 साल नहीं बिताए तो मैंने बेसिक लर्निंग प्रोग्राम स्ट्रक्चर में प्रोग्राम किया और प्रोग्रामर की तरह कैसे सोचें, तो जब मैं OO से मिलता, तो मैं प्रक्रियात्मक भाग को सीखने में इतना व्यस्त हो जाता जिस पर मैं ध्यान केंद्रित नहीं कर पाता। ऊ भाग। कहा जा रहा है, 'आपकी पहली भाषा के लिए +1 उतना महत्वपूर्ण नहीं है जितना कि बाद की भाषाओं और अवधारणाओं के संबंध में आपका दृष्टिकोण ।
माइकल के

मैंने उसको जोड़ने के बारे में सोचा। मैं यह नहीं कह रहा था कि बुनियादी भाषाओं में अपनी जगह नहीं है। वास्तव में, वे (प्रारंभिक सीखने के चरणों में) करते हैं। मैंने अभी इसका उल्लेख नहीं किया है।
मार्क कैनल्स

ओह माइकल, आपका संपादन बहुत अधिक उत्तम दर्जे का है, हाहाहा।
मार्क कैनलास

यदि ओपी के सहपाठियों का संबंध है तो योजना सीखने के लिए गलत भाषा है, वे शायद प्रबुद्ध नहीं हैं। :)
डेविड मोल्स

कुछ भाषाओं में जटिल सिंटैक्स होता है, जबकि वास्तव में सरल (सी डेरिवेटिव) होता है, अन्य में सरल सिंटैक्स होता है जबकि वास्तव में जटिल (ग्रूवी) होता है। मेरा मतलब है कि - C / C ++ या ऑब्जेक्टिव-सी में - चीजें किसी भी सक्रिय कोड दायरे में काफी घोषणात्मक और प्रक्रियात्मक हैं, जबकि Groovy जैसी चीजों में बहुत सारी चीजें "हुड के नीचे हो रही हैं" जो कि सिंटेक्स चीनी द्वारा "छिपी" हैं। न्यूबॉइस के लिए मेरा सुझाव आम तौर पर मुश्किल सिंटैक्स भाषाओं के साथ जाना है जो एक दर्पण को अधिक बारीकी से दिखाते हैं कि कंप्यूटर वास्तव में कैसे काम करता है - क्योंकि यह ज्ञान अन्य भाषाओं के उपयोग को सरल करता है।
dcgregorya

11

जब मैं कॉलेज में था, मैं बहुत से ऐसे लोगों को जानता था, जिन्होंने अर्थशास्त्र में प्रमुख होने का फैसला किया था, क्योंकि यह ऐसा कुछ था, जिसमें वे विशेष रूप से रुचि रखते थे या उनके बारे में भावुक थे, लेकिन क्योंकि उन्हें लगा कि इससे उन्हें अच्छी नौकरी मिलेगी।

मैंने ईस्ट एशियन स्टडीज में पढ़ाई की, क्योंकि मैंने साहित्य में अपनी शुरुआती रुचि के साइड इफेक्ट के रूप में लिया। मैं जर्मनी गया क्योंकि मैं एक विनिमय कार्यक्रम करना चाहता था, जहाँ मैंने अपना अधिकांश समय जापान विज्ञान और साइनोलॉजी कार्यक्रमों में बिताया। मैंने उस अध्ययन का अध्ययन किया जिसमें मुझे सबसे अधिक रुचि थी। मैंने कंप्यूटर से संबंधित चीजों का अध्ययन करने के लिए कॉलेज का उपयोग नहीं करने का फैसला किया, क्योंकि मैंने बचपन में एक निष्पक्ष राशि के आसपास पहले ही हैक कर लिया था, लेकिन मैंने समय प्रोग्रामिंग और इंटरनेट को समझने में बिताया, और अंततः, शायद अनुचित तरीके से। , मुझे एक अच्छी नौकरी मिली जो उन सभी हितों को मिलाने में सफल रही।

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

हां, ये कट्टरपंथी हैं, और हर किसी को अपने जुनून के साथ व्यावहारिकता को संतुलित करना होगा, लेकिन यह आवश्यक अंतर है। दी, प्रोग्रामर एस्थेटिक के साथ कोई व्यक्ति भी प्रश्न पूछ सकता है, लेकिन "मेरे समय का सबसे कम उपयोग करने वाला व्यक्ति" के संदर्भ में अधिक। लेकिन मेरा अनुमान है कि यह करियरवादी आवेग है जो यह सवाल पूछ रहा है, क्योंकि कैरियरवादी लर्नर से गलती करने के बारे में अधिक भयभीत है, और लर्नर आम तौर पर एक बेहतर प्रोग्रामर बनाता है क्योंकि लर्नर को गलतियों से डर नहीं लगता है। लर्नर, प्रोग्रामर की तरह, कौशल की खोज में विफलता को गले लगाता है।


9

हां, कार्यात्मक प्रोग्रामिंग की शुरूआत के रूप में स्कीम और हास्केल जैसी कार्यात्मक भाषा सीखना अच्छा है। जहां तक ​​आपके सहपाठियों को पर्ल के बारे में शिकायत है, जबकि पर्ल उतना लोकप्रिय नहीं है जितना कि यह एक बार था, यह निश्चित रूप से व्यापार में एक व्यापक रूप से इस्तेमाल की जाने वाली भाषा है।

मैं आपके सहपाठियों को वास्तविक दुनिया में उपयोग की जाने वाली व्यावहारिक भाषाओं को सीखने के लिए समझ सकता हूं, लेकिन मुझे लगता है कि वे इस बात को याद करते हैं कि एक बार जब आप एक अनुभवी प्रोग्रामर होते हैं और कई प्रोग्रामिंग प्रतिमानों से अवगत होते हैं, तो नई भाषाएँ सीखना ज्यादातर बस लेने की बात है नया वाक्यविन्यास। इस प्रकार, जब तक आप अवधारणाओं के संपर्क में आते हैं, तब तक आप अपने विशेषज्ञ नियोक्ता की भाषा में "विशेषज्ञ" हो सकते हैं, बिना किसी कठिनाई के।


5

शायद इसलिए कि लोग एडर दिजक्स्ट्रा के क्लासिक टुकड़े को ट्रोल करने जैसे बयानों से प्रभावित हुए हैं, "यह उन छात्रों को अच्छी प्रोग्रामिंग सिखाने के लिए व्यावहारिक रूप से असंभव है, जिनका मूल रूप से पूर्व प्रदर्शन था: संभावित प्रोग्रामर के रूप में वे उत्थान की उम्मीद से परे मानसिक रूप से विकृत हैं।" ( लिंक )

यदि आप "गलत" भाषा सीखते हैं तो यह स्थायी मस्तिष्क क्षति का डर है। आपका पर्ल उदाहरण अचंभित करने वाला है, क्योंकि पर्ल उन भाषाओं में से एक है, जो अक्सर इस तरह की आलोचनाओं को अपने दोषियों से आमंत्रित करती है।


5

आपकी पहली भाषा को अवधारणाओं पर ध्यान देना चाहिए, वाक्यविन्यास या मुहावरों पर नहीं। एक दिशानिर्देश के रूप में इसका उपयोग करना:

  • पर्ल का अर्थ है विशेष चर और आर्कियन सिंटैक्स की बहुत सारी खोज
  • PHP का अर्थ है, अपने कार्बनिक विकास के कारण अवधारणाओं का मिश्रण
  • जावा का मतलब थोड़ा भ्रम है क्योंकि सब कुछ वास्तव में एक वस्तु नहीं है
  • असेंबली / C / C ++ का मतलब निम्न-स्तर के सामान का एक टन है, जो कि यदि आप एम्बेडेड सिस्टम डेवलपमेंट करना चाहते हैं, लेकिन उच्च-स्तरीय अवधारणाओं से अलग हैं
  • SQL यह देखने के लिए उपयोगी है कि कोड और डेटा संरचनाओं के लिए प्राकृतिक भाषा कैसे (और नहीं) मैप की जा सकती है
  • अनुप्रयोगों के लिए विज़ुअल बेसिक विशेष उद्देश्य, थ्रो-दूर सामान पर केंद्रित है, और इस तरह से उचित त्रुटि हैंडलिंग और रिफैक्टिंग जैसी महत्वपूर्ण अवधारणाओं को छोड़ना बहुत आसान है।
  • LISP साधारण वाक्यविन्यास की तरह दिखता है, लेकिन इसमें बहुत अधिक आशुलिपिक अभिव्यक्तियाँ हैं जो स्पष्ट रूप से उनके नाम के विस्तृत ज्ञान के बिना अर्थहीन हैं
  • हास्केल अक्सर गणित की तरह दिखता है, लेकिन जल्दी से सिंटैक्स सूप में पतित हो सकता है
  • पायथन ... दरअसल, पायथन एकमात्र ऐसी भाषा है जिसे शुरुआती लोगों के लिए कोई गंभीर आपत्ति नहीं मिल सकती है। शायद सिर्फ इसलिए कि यह आखिरी भाषा है जिसे मैंने सीखा है, और अगली भाषा मुझे मेरे तरीकों की त्रुटि सिखाएगी।

मैंने देखा कि आपने C # या VB.Net के बारे में कुछ नहीं लिखा।
HK1

4

अपने सहपाठियों से पूछें कि वे कैसे जानते हैं कि कोई भाषा "गलत" है यदि उन्होंने इसका उपयोग नहीं किया है। आप केवल विभिन्न भाषाओं का उपयोग करके ही पता लगा सकते हैं कि आपको क्या पसंद है।

मेरे कई सहपाठियों ने एक भाषा सीखने के विचार पर बल दिया, जिसका उपयोग उन्हें फिर कभी नहीं करना पड़ेगा, लेकिन मुझे यह समझ में नहीं आता है कि कम लोकप्रिय भाषाओं को सीखने का इतना डर ​​कहाँ से आता है।

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

मैं इस सेमेस्टर में एक खोज इंजन वर्ग ले रहा हूं, जो कि पर्ल में किया गया है और फिर से मैं सहपाठियों को भाषा की पसंद के बारे में शिकायत करते हुए देख रहा हूं।

पर्ल बहुत शक्तिशाली है और यदि आप इसका उपयोग करना जानते हैं, तो यह आपके जीवन को बहुत आसान बना सकता है। यह पायथन के समान भी है और पायथन का उपयोग सीएस छात्रों के शीर्ष नियोक्ताओं में से एक पर किया जाता है: Google। आपके सहपाठियों को इसे खाना चाहिए। एफडब्ल्यूआईडब्ल्यू, मैं एक मध्यवर्ती स्तर तक पर्ल और पाइथन को जानता हूं (शुरुआती नहीं लेकिन विशेषज्ञ नहीं)।

मैं एक पसंदीदा भाषा होने और दूसरों को नापसंद करने के बारे में समझ सकता हूं, लेकिन कुछ पहले स्थान पर इसे सीखने पर क्यों काम करते हैं?

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

क्या आप वास्तव में "गलत" भाषा सीख सकते हैं? यदि कुछ और नहीं तो स्कीम या हास्केल अच्छा मानसिक व्यायाम कुछ भी नहीं सीख रहा है, और समस्याओं को हल करने के विभिन्न तरीकों के संपर्क में कम से कम उपयोगी है?

पहले वाक्य के लिए: नहीं, लेकिन आप निश्चित रूप से उन भाषाओं को सीख सकते हैं जिन्हें आप पसंद नहीं करेंगे + खांसी + लिस्प + खांसी + =)

बाकी के लिए: हाँ! आपको अपनी पसंद का पता लगाने और अपने क्षितिज का विस्तार करने के लिए जितनी संभव हो उतनी भाषाओं को सीखना चाहिए। उन सभी में महारत हासिल करने की कोई आवश्यकता नहीं है, लेकिन एक कामकाजी ज्ञान हमेशा सहायक होता है। आप कभी नहीं जानते कि आपके द्वारा सोची गई भाषा कब सीखने के काम आएगी।


1
लिस्प के साथ क्या गलत है ?! :)
माइकल के

1
+1 'जितनी संभव हो उतनी भाषाएं सीखें' के लिए। यदि आप विभिन्न भाषाओं को जानते हैं, तो किसी दिए गए कार्य के लिए एक को चुनना तुच्छ हो जाता है।
माइकल के

1
@ मिचेल: इसके अलावा, यह एक नया सीखना आसान बनाता है, क्योंकि आप पहले से ही अधिकांश अवधारणाओं को जान पाएंगे।
डेविड थॉर्नले

@ मिसेल: लिस्प =) के साथ कुछ भी गलत नहीं है। मैं सिर्फ एक कार्यात्मक-प्रोग्रामिंग-भाषा वाला आदमी नहीं हूं। साथ ही, इतने सारे कोष्ठक !! हालांकि, मैंने लिस्प में कार्यान्वित कुछ बहुत ही सुंदर समाधान देखे हैं। योजना और लिस्प गुरु के लिए बहुत सम्मान।
एक्वा

3

चूँकि प्रोग्रामर को काम पर रखना एक ऐसी मनमानी, मितव्ययी प्रक्रिया है, साधारण तथ्य यह है कि यदि आप गलत तकनीक का चयन करते हैं, तो आप खुद को डोडो के रास्ते में जा सकते हैं।

किसी भी समय सामने पृष्ठ पर, आप धार्मिक मान्यताओं के पास इस तरह की मान्यताओं को देखेंगे:

  1. एक अच्छा प्रोग्रामर बनने के लिए कंप्यूटर साइंस में कॉलेज की डिग्री आवश्यक है।
  2. कंप्यूटर विज्ञान में मास्टर डिग्री लोगों को खराब प्रोग्रामर बनाती है।
  3. प्रमाणपत्र आपके कैरियर को आगे बढ़ाने के लिए बिल्कुल आवश्यक हैं।
  4. प्रमाणपत्र एक खराब प्रोग्रामर को इंगित करने वाला लाल झंडा है।
  5. कंप्यूटर विज्ञान के अलावा किसी अन्य क्षेत्र में कॉलेज की डिग्री के परिणामस्वरूप सबसे अच्छा प्रोग्रामर बन जाता है।
  6. जब तक आप शाम और सप्ताहांत पर भी कार्यक्रम नहीं करते, आप एक अच्छे प्रोग्रामर नहीं हैं।
  7. और उस पर चला जाता है।

इसके माध्यम से एक निरंतरता यह है कि 99% कंपनियां चाहती हैं कि आप वाई तकनीक के साथ एक्स वर्षों का अनुभव प्राप्त करें ... और चूंकि एक व्यक्ति के पास केवल इतने ही चक्र उपलब्ध हैं, जो वे उन साइकिलों पर बहुत अधिक खर्च करते हैं।


2

मुझे लगता है कि "गलत" भाषा सीखने के लिए चुनने में भय मुख्य रूप से की वजह से है जानकारी की कमी और मार्गदर्शन की कमी है , जैसे:

  • चांदी की गोली की गिरावट । यह गलत धारणा है कि नौकरी, पर्यावरण या परियोजना के लिए सही भाषा है। और अगर तुम गलत उठाते हो, तो तुम toasted रहे हो।
  • समझ में नहीं आता कि प्रोग्रामिंग भाषाओं को स्थानांतरित करती है । लेखक के लिए भाषा केवल एक उपकरण है, जैसे टाइपराइटर या कंप्यूटर। यह उपकरण (सिंटैक्स) की बारीकियों को सीखने के बारे में नहीं है, लेकिन क्या उपकरण आपको सक्षम बनाता है (अवधारणाओं, अमूर्त, आदि)।

इसलिए उदाहरण के लिए योजना इतनी बड़ी शिक्षण भाषा है। प्रोग्रामिंग दो चीजों के बारे में है: अमूर्त और पुन: उपयोग। योजना में दो विशेषताएं हैं: कार्य अमूर्त और फ़ंक्शन कॉल (यानी पुन: उपयोग)। बिल्ली, यह भी वाक्यविन्यास नहीं है!
Jörg W Mittag

2

हम अधिक राय के संपर्क में हैं।

अतीत में चीजें कैसे हो सकती हैं, इसकी तुलना में, हम अपना समय कैसे व्यतीत कर रहे हैं, इस बारे में अधिक अनुमान लगाया गया है क्योंकि हम अधिक राय के संपर्क में हैं - हर किसी के विचार हैं कि पहली प्रोग्रामिंग भाषा क्या होनी चाहिए और यह कब से है इस तरह का एक छोटा विषय, कोई भी किसी भी चीज़ को सही ठहरा सकता है

हमारी तेज-तर्रार जीवनशैली के कारण, हर किसी को अपना समय बर्बाद करने का जन्मजात डर होता है। गलत भाषा सीखने का कथित डर बस लोगों की राय में आसानी से उजागर होने का एक परिणाम है।


1

यह सीखने की सामान्य नापसंद है जिसमें संदिग्ध उपयोगिता है। मैं देख सकता हूं कि स्टिंग यहां और भी बदतर है क्योंकि यह वह वर्ग है जिसे लोग लेना चाहते हैं और वे अभी भी कुछ सीख रहे हैं जो उन्हें लगता है कि बेकार है। मुझे पता है कि अगर मैं कोलाज करने जा रहा था तो मैं कुछ सीखना चाहूंगा जिसे मैं वास्तविक दुनिया में उपयोग कर सकता हूं।

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


1

यह 'डर' क्यों है? मुझे लगता है कि यह दुश्मनी है जिसे आप चाहते हैं या नहीं लगता है कि यह महत्वपूर्ण है, कुछ खिलाया गया है। कोई भी भाषा गलत नहीं है लेकिन हमारे पास चीजों पर ध्यान केंद्रित करने के लिए सीमित समय है। मुझे अपनी सीएस कक्षाओं को जावा के साथ करना था और इसके बारे में खुश नहीं था। इसलिए नहीं कि मुझे डर था कि जावा गलत भाषा होगी, लेकिन यह वह जगह नहीं थी जहां मेरा करियर फोकस था।

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

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

(पीएस एमआईटी ने स्कीमा पर छोड़ दिया और पायथन में बदल गया)


मित को स्कीम के बारे में बताने से दुखी, SICP एक ऐसी चीज है जिसे हर प्रोग्रामर को पढ़ना चाहिए। मैं हर मौके पर इसे बढ़ावा देता हूं।
ज़ाचरी के

यह मुझे मेरे विश्वविद्यालय के दिनों की याद दिलाता है। मेरे शुरू होने के कुछ साल बाद, सीएस विभाग ने मुख्य शिक्षण भाषा के रूप में C ++ से जावा में स्विच किया। कुछ साल बाद (जब मैं डेटा संरचना ट्यूटोरियल सिखाने का प्रयास कर रहा था), यह स्पष्ट था कि छात्रों में से कोई भी मेमोरी आवंटन के बारे में कुछ भी नहीं समझता था (उदाहरण के लिए, वे स्टैक बनाम हीप पर पूरी तरह से खो गए थे)। नतीजतन, हमने उन्हें सिखाने की कोशिश की डेटा संरचनाओं पर बुनियादी संचालन को पकड़ नहीं पाया। लंबे समय बाद नहीं, C ++ फिर से पसंदीदा भाषा बन गई।
5

व्यवहार में - प्रोग्रामिंग को समझने के बाद नई भाषाओं को सीखना आसान है। लोग C जैसी भाषाओं की सलाह देते हैं क्योंकि इसके लिए आपको पॉइंटर्स घोषित करने और मेमोरी आवंटित करने और अपने पॉइंटर्स तक लिखने की सुरक्षा की आवश्यकता होती है ... जब आप इन शब्दों में सोचते हैं तो बाकी सब कुछ काफी आसान होता है क्योंकि आप पहले से ही इन सभी बातों पर विचार करते हैं। रिवर्स करना कठिन है - एक अधिक अमूर्त भाषा के साथ शुरू करना और फिर उन सभी अंतर्निहित चीजों को समझने के लिए अनुभव का निर्माण करना।
dcgregorya

1

समय सभी का सबसे दुर्लभ वस्तु है, एक बार जब आप वास्तविक दुनिया में निकलते हैं - और कोई भी ऐसे कौशल पर समय बर्बाद नहीं करना चाहता है जो उन्हें कोई वास्तविक लाभ नहीं देगा।

कहा जा रहा है, मुझे नहीं लगता कि सीखने के लिए एक 'गलत' भाषा है - लेकिन मैं चाहता हूं कि मुझे PHP में उन्नत चीजों को करने के साथ संघर्ष करने के बजाय रूबी वर्षों पहले पता चला था ...

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.