क्या किसी को नई भाषाएँ सीखनी चाहिए या केवल उन भाषाओं पर ध्यान केंद्रित करना चाहिए जिन्हें आप पहले से जानते हैं और इसके बारे में अपना ज्ञान बढ़ाते हैं? [बन्द है]


22

कौन सा तरीका अधिक फायदेमंद और उत्पादक है?


1
क्या यह काम और परियोजनाओं के प्रकार पर निर्भर नहीं करता है? यदि आप एक बड़े निगम के लिए काम करते हैं, तो आप शायद बहुत बार प्रौद्योगिकियों को स्थानांतरित नहीं कर रहे हैं, यदि आप स्वतंत्र हैं तो आपके पास विकल्प है।
क्रिस

@Chris: सुझाव, "भाषा और फ़्रेमवर्क", डेवलपर्स के सबसे केवल एक कमांड लाइन संकलक, और एक पाठ संपादक, लेकिन पुस्तकालयों, आईडीई, बीडी के साथ अब काम नहीं करेंगे, तीसरे पक्ष के उपकरणों, ... ;-)
umlcat

1
ऊपर वोट गिनती से परखने के बाद, इस सवाल है कई की राय में रचनात्मक। मुझे लगता है कि मार्क ट्रैप वास्तव में प्रश्नों को बंद करने के लिए लिखा गया एक कंप्यूटर प्रोग्राम है।
टी। वेबस्टर

जवाबों:


18

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

इसलिए, अपना अधिकांश समय अपने चुने हुए प्रवीणता में बेहतर होने में बिताएं और अपना कुछ समय कुछ नया सीखने में व्यतीत करें।


4
+1 यह जानने के लिए कि आपके "हथौड़ा" का उपयोग कैसे किया जाए, लेकिन यह भी कि "स्क्रूड्राइवर्स", "आरी" और "चिपचिपा कील" जैसी चीजें मौजूद हैं।
रयान हेस

1
और ज्यादातर बार एक नई भाषा सीखने से आप एक डिज़ाइन पैटर्न या ऐसी चीज़ को उजागर कर सकते हैं जो ऐसी उपयोगी होती है जो आपने अपनी भाषाओं के उपयोग के बारे में कभी नहीं सोचा था।
अटैकिंगहोबा

8

किसी ने कहा "एक भाषा जो प्रोग्रामिंग के बारे में आपके सोचने के तरीके को नहीं बदलती है वह सीखने लायक नहीं है"।

इसलिए, यदि आप जावा को जानते हैं, तो C # (या इसके विपरीत) सीखने में थोड़ा लाभ है। यदि व्यावहारिक कारणों के लिए नहीं (यानी, आपको एक समस्या को हल करने के लिए इसकी आवश्यकता है), तो मैं सुझाव दूंगा कि प्रति भाषा एक प्रतिमान, और आपका कार्यक्रम अभी भी पर्याप्त है;)।

दूसरी ओर, विशेषज्ञता, मेरे अनुभव में 'फील्ड में' हासिल की है, यानी जब किसी प्रोजेक्ट पर काम कर रहे होते हैं, तो यह स्वाभाविक रूप से आता है।


1
जावा डेवलपर्स के लिए C # दिलचस्प नई सुविधाएँ प्रदान करता है। लिनक और लैम्ब्डा भाव अपनी आँखें एक नई दुनिया में खोल सकते हैं।
कर्रा

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

+1 मैंने .NET में शुरू किया और वास्तव में ऑब्जेक्टिव सी और जावास्क्रिप्ट के साथ अपने डबब्लिंग्स से बहुत कुछ सीखा है।
ट्रेवर

@ करारा: मुझे इस बात की जानकारी नहीं थी (जावा 1.5 के चालू होने पर, दोनों के साथ गहराई से मेरा आखिरी अनुभव था)। क्या आपके अनुभव में, दोनों को सीखने के लिए सिफारिश करने के लिए उन्हें अलग-अलग करने के लिए पर्याप्त बड़ा हो गया है (एक 'अकादमिक दृष्टिकोण से)?
कीपला

आप शायद अभी भी एक और एक कार्यात्मक भाषा सीखने के लिए बेहतर हैं। तो कुल मिलाकर मैं आपसे सहमत हूं।
Carra

3

दोनों पक्षों में बहुत अच्छे तर्क हैं। कई साल पहले मुझे उस सटीक प्रश्न के साथ प्रस्तुत किया गया था ... अपनी प्राथमिक भाषा पर ध्यान केंद्रित करें और एक "विशेषज्ञ" बनने का प्रयास करें या एक नई भाषा चुनें और अपनी मार्केटिंग को व्यापक बनाएं। मैंने एक भाषा पर ध्यान केंद्रित करना चुना।

वास्तव में गलत उत्तर नहीं होगा। दोनों में योग्यता है, यह वास्तव में उबलने वाला है कि कौन आपके लिए बेहतर है और आप अपने कैरियर को कहां तक ​​जाना चाहते हैं।


2

नई भाषाएँ सीखना ज्यादातर नई अवधारणाओं को प्राप्त करने और प्रोग्रामिंग के साथ अपनी दक्षता बढ़ाने का एक साधन है। प्रोग्रामिंग सीखना अपने आप में प्रोग्राम करने के लिए एक नई भाषा सीखने से बहुत अलग है।

आपको अपने कार्यक्रमों को बेहतर बनाने पर ध्यान केंद्रित करना चाहिए (और यह मापने के लिए बहुत सारे मेट्रिक्स हैं, कई व्यक्तिपरक हैं; कोई फर्क नहीं पड़ता, मैट्रिक्स पर अपनी पिक लें और उन्हें समय के साथ परिष्कृत करें, उन्हें अपनी शिक्षा के लिए उपयोग करें)।

यह कहने के बाद, Pythonअपनी पुरानी सूची (जैसे, ' C' और कई ऐसे) पर 'नई' भाषाएँ (कहना ) सीखना, आपको अधिक कुशलता से सोचने में मदद करेगा और उन मुख्य अवधारणाओं पर ध्यान केंद्रित करना चाहिए जिन्हें बेहतर बनाया जाना चाहिए। उदाहरण को आगे बढ़ाते हुए, यह तुरंत प्रकट नहीं हो सकता है, लेकिन हो सकता है कि आपको अपनी Cप्रोग्रामिंग बेहतर लगे क्योंकि आप पायथन में सोच रहे हैं। आप इसके लिए psudo-code के बजाय Python लिखना भी शुरू कर सकते हैं C। अब, यह अधिक पठनीय और सत्यापन योग्य छंद-संहिता है।

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


1

एक प्रोग्रामिंग फ्रेमवर्क (और संबंधित भाषा) को हावी करें, और दूसरे के लिए कुछ खाली समय छोड़ दें, अधिमानतः अलग "डोमेन"। उदाहरण: C ++ क्लाइंट-सर्वर, वेब पर रूबी


1

एक नई भाषा सीखना

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

वर्तमान भाषा में गहरा ज्ञान

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

  1. आपने X में कितने प्रोग्राम लिखे हैं?
  2. यदि आप स्टैक ओवरफ्लो पर जाते हैं और एक्स टैग किए गए प्रश्नों को देखते हैं, तो आप उनमें से कितने को उत्तर देने में सहज महसूस करेंगे?
  3. क्या लोग आपके पास भाषा X की सहायता के लिए आते हैं?

यदि आपके इन सवालों के जवाब कहीं "बहुत", "उनमें से अधिकांश", और "हाँ, और यह गुस्सा हो रहा है" की तर्ज पर हैं, तो यह एक अच्छा संकेत है कि आपको भाषा में महारत हासिल है और किसी चीज़ पर आगे बढ़ना चाहिए नया।


0

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

भाषाओं के अलावा वहाँ चौखटे, पैटर्न हैं ... एक फ्रेमवर्क सीखने के लिए आपको एक भाषा पता होनी चाहिए, इसलिए बहुत ही समान भाषाओं के लिए उन्हें सीखने से कुछ नहीं मिलता है जो इतना मज़ेदार है।

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

कम से कम आप जो भाषा जानते हैं उसकी संख्या बढ़ाने के लिए एक नई भाषा न सीखें।

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