एक साथ कई भाषाएँ सीखना [बंद]


35

नई भाषाओं को सीखते समय, क्या यह बेहतर है कि आप स्वयं को एक भाषा में 100% तक कम करें और जब तक आप एक और पर जाने के लिए "महारत हासिल" न करें, या एक ही समय में अलग-अलग भाषाएं सीखने पर काम न करें?

यदि यह मायने रखता है, तो मैं वर्तमान में C ++ सीख रहा हूं और मैं जावा और पायथन को भी जानना चाहूंगा।


12
100% प्रवाह जैसी कोई चीज अक्सर नहीं होती है। न तो जॉन स्कीट और न ही एरिक लिपर्ट 100% सी # जानते हैं।
जॉब


3
भाषा न सीखें, किसी विशिष्ट कार्यक्रम को लागू करने के लिए भाषा का उपयोग करना सीखें। यानी यदि आप एक प्रोग्रामर हैं तो इससे कोई फर्क नहीं पड़ता कि आप किस भाषा का उपयोग करते हैं, क्योंकि आप एक ही परिणाम प्राप्त कर सकते हैं। इससे भी बदतर, जैसे ही आप एक भाषा को दूसरे को "जानने" के लिए कहते हैं, आप वैसे भी पिछले एक को भूलना शुरू कर देंगे।

जब तक आप वास्तव में दोनों भाषाओं को पढ़ते हैं।
ट्यूलेंस कोर्डोवा

@Maxpm क्या आप बता सकते हैं कि एक साथ मल्टी लैंग सीखने का आपका अनुभव कैसा रहा ...
राहुल पाटिल

जवाबों:


31

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

मैंने पाया है कि जैसा कि मैंने अन्य भाषाओं (और चौखटे) के साथ अधिक से अधिक अनुभव किया है, मैं C # (और ASP.Net) में बेहतर हो गया हूं। इसीलिए मेरा मानना ​​है कि एक समय में कई भाषाएं सीखना बुरी बात नहीं है!


1
मैं पूरी तरह से सहमत हूं और मैंने भी C # से शुरुआत की। उस भाषा में कई ऐसी बातें सामने आईं जिनसे मेरे शुरुआत के नजरिए को समझ पाना बहुत मुश्किल था और अगर मैंने उन्हें समझ लिया होता, तो यह समझना कि वे क्या थे या क्यों इस्तेमाल किए जाते थे, बस उतना ही कठिन था। जब से मैंने कुछ अन्य भाषाओं के बारे में सीखा है और इसने दुनिया में सभी बदलाव किए हैं। खासकर जब से प्रत्येक भाषा अलग है आप प्रत्येक भाषा से प्रोग्रामिंग के विभिन्न पहलुओं को जान सकते हैं।
fender1901

49

यदि यह आपकी पहली भाषा है, तो मुझे लगता है कि प्रोग्रामिंग भाषा कैसे काम करती है, इसे समझने के लिए इसे अच्छी तरह से सीखना बेहतर होगा।

एक बार जब आप अच्छी नींव रखते हैं, तो आप जितने चाहें उतने चुन सकते हैं।


2
+1 मुझे लगता है कि इससे बहुत फर्क पड़ता है कि क्या आप अपनी पहली तीन भाषाओं बनाम अपनी चौथी, पाँचवीं, छठी, आदि को सीख रहे हैं
किठजग्रांट

12

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

आपकी पहली भाषा जो भी हो, अतिरिक्त भाषाओं को सीखने की प्रक्रिया होनी चाहिए:

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

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


1
+1 के लिए "नई भाषा की ताकत की पहचान करें ..."। बहुत अच्छा
Nick Burns

8

समानांतर में भाषा सीखना बहुत सामान्य बात है। उदाहरण के लिए वेब प्रोग्रामिंग। आप कम से कम तीन भाषाओं के साथ काम कर रहे हैं: सर्वर साइड (php, जावा, .net, रूबी, अजगर ...), क्लाइंट कोड (जावा स्क्रिप्ट और html), डेटाबेस (sql)।


htmlही sqlप्रोग्रामिंग लैंग्वेज हैं।
एडी जूल

अक्षर l भाषा के लिए खड़ा है
बोरिस पावलोविले

7

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

आप मूल भाषा के माध्यम से प्राप्त करने के लिए एक भाषा पर ध्यान केंद्रित करना चाहते हैं, ताकि दो भाषाओं को भ्रमित होने से बचा सकें। यदि आप जावा और C # जैसी समान भाषाएँ सीख रहे हैं तो यह विशेष रूप से सच है।


उनके अंतर के आधार पर जावास्क्रिप्ट / पायथन एक अच्छा विकल्प हो सकता है। उदहारण के लिए।
निक नेम

6

मैं कई वर्षों से प्रोग्रामिंग सिखा रहा हूं, इसलिए मैं अपना अनुभव आपके साथ साझा कर सकता हूं। मुझे लगता है कि C # आपकी पहली भाषा है, इसलिए मेरा अनुभव उन लोगों को प्रोग्रामिंग सिखाना है, जो पहले कभी प्रोग्राम नहीं कर सकते थे।

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

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

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

इसलिए, मेरी सिफारिश आपके पहले वर्ष के लिए एक प्रोग्रामिंग भाषा से चिपके रहने की होगी। वैकल्पिक रूप से, एक ही समय में दो भाषाओं को सीखना एक अच्छा विचार हो सकता है जब तक कि वे बहुत भिन्न हों / दिखें। अगर आपकी पहली भाषा C # है, तो मैं C, C ++, ऑब्जेक्टिव C और जावा से निश्चित रूप से दूर रहूंगा; और शायद पायथन, रूबी, और जावास्क्रिप्ट। मैं Haskell, स्कीम, F #, Erlang, Clojure, या शायद Scala जैसी कार्यात्मक भाषा के साथ C # के संयोजन की सिफारिश करूंगा।


5

मुझे लगता है कि एक समय में कई भाषाओं को सीखना वास्तव में एक समय में सीखने से बेहतर है, क्योंकि यदि भाषा पर्याप्त रूप से भिन्न होती है, तो प्रत्येक आपको दूसरे से विराम देता है। एक बार जब आप पिछले एक के "पूर्ण नौसिखिया" चरण के माध्यम से प्राप्त कर लेते हैं, तो आप उन्हें डगमगााने की कोशिश करें; इस तरह आपके पास न केवल उस चीज़ को बनाए रखने का एक बेहतर मौका होगा जो आपने भाषा के बारे में सीखा था बल्कि आपने एक नई भाषा कैसे सीखी। (सामान्यीकृत भाषा सीखने का कौशल कुछ ऐसा है जिसे आप प्रोग्रामिंग जीवन में बाद के लिए बहुत आभारी होंगे।)

उस ने कहा, अपनी पहली भाषा सीखने के लिए समय और ऊर्जा के भारी निवेश की आवश्यकता होती है, और आपके पास इस प्रक्रिया के दौरान किसी अन्य बड़ी परियोजना को लेने का समय नहीं हो सकता है। यदि आप किसी अन्य भाषा को शुरू करने के बारे में सोच रहे हैं क्योंकि आप C ++ से बीमार हैं - नहीं! यह आपको शिथिल करने के लिए प्रोत्साहित करेगा। यदि आप किसी अन्य भाषा को शुरू करने के बारे में सोच रहे हैं क्योंकि आप जावा (लिखा) में लिखे गए प्रोजेक्ट्स का उल्लेख देखते रहते हैं और आप निराश हैं कि आप आसानी से कोड को पढ़ और विश्लेषण नहीं कर सकते - करते हैं! किसी भी समय दूसरी भाषा सीखने का यह एक बड़ा कारण है।


2

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

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

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