2010-03-31 12 views
5

एक बार जब आप एक भाषा सीखते हैं तो एक सेकंड सीखना आसान हो जाता है और क्या वहां जोड़े जाने वाले भाषाओं के जोड़े होते हैं? इसके अलावा एक और भाषा सीखना भी एक अच्छा विचार है?एकाधिक भाषाओं को सीखना

उत्तर

19

एक से अधिक भाषा सीखना एक उत्कृष्ट विचार है - न केवल आप शिकार & सी नौकरी में है कि और अधिक लचीलापन देने के लिए, लेकिन यह बस अपने मन, क्या प्रोग्रामिंग है की अपनी दृष्टि का विस्तार है कि बारे में सबकुछ।

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

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

+2

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

+0

यह भी पता है [(क्यों) मुझे एक नई प्रोग्रामिंग भाषा सीखनी चाहिए?] (Http://programmers.stackexchange.com/questions/136133/why-should-i-learn-a-new-programming-भाषा) – stom

3

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

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

हाँ, हाँ, और हाँ।

एक भाषा सीखने में, आप प्रोग्रामिंग के कई बुनियादी सिद्धांतों को सीखते हैं, जैसा कि उस भाषा द्वारा व्यक्त किया गया है। कई भाषाएं समान अवधारणाओं, या यहां तक ​​कि समान ढांचे और मूल संरचना का उपयोग करती हैं। यह एक दूसरी "समान" भाषा सीखना बहुत आसान बना सकता है। उदाहरण के लिए, यदि आप सी # सीखते हैं, तो वीबी.नेट बहुत आसान है, क्योंकि यह समान ढांचे का उपयोग करता है, और समान बुनियादी अवधारणाओं का उपयोग करता है।

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

3

एक से अधिक भाषाओं को जानना बहुत उपयोगी है। वास्तव में, this very good book हर साल एक सीखने की सिफारिश करता है। नई भाषाओं को सीखना आसान हो जाता है क्योंकि उनमें हमेशा ओवरलैपिंग अवधारणाएं होती हैं।

1

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

1

हाँ, एक बार आप समझ कैसे एक समस्या अलग तोड़ने के लिए तो आप समाधान और क्या आम कोड pieceparts हैं कोड कर सकते हैं, तो दूसरी भाषा सीखने में आसान है। कुछ दूसरों की तुलना में कठिन हैं।

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

1

अधिकांश समय हाँ। एक बार जब आप प्रोग्रामिंग के सामान्य विचार को समझ लेते हैं तो आप अलग-अलग भाषाओं में समान पैटर्न चुनना शुरू करते हैं। विशेष रूप से यदि भाषाएं एक ही परिवार से हैं या एक ही प्रकार के हैं (उदाहरण के लिए जब आप सी या सी ++ सीखते हैं तो जावा, जावास्क्रिप्ट, सी #, पीएचपी आदि सीखना बहुत आसान होता है)। बेशक यह संभवतः उन्हें मास्टर करना मुश्किल है, लेकिन आप 90% चीजें जल्दी उठाएंगे।

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

1

विभिन्न भाषाओं को सीखना आपको विभिन्न तरीकों से सोचने के लिए सिखाता है। इन विचारों का पैटर्न आमतौर पर किसी भी भाषा में उपयोग किया जा सकता है, इसलिए हाँ, एक से अधिक भाषा सीखना अच्छा होता है।

कहा जा रहा है कि, 5 भाषाओं को सतही रूप से जानना, कभी भी हड्डी में एक भाषा को जानना उतना अच्छा नहीं होगा। फिर भी अगर आप पहले से ही हड्डी में से एक को जानते हैं, तो 5 और जानकर आपको मज्जा काटने देगा।

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

/B2S

4

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

यहां कुछ ऐसी (गैर-विशिष्ट) श्रेणियां हैं जिन पर आप विचार करना चाहेंगे।

  • संकलित (सी, सी ++, ...)/व्याख्या (पर्ल, रूबी, पायथन, PHP, ...)/JIT (जावा)
  • उच्च स्तर/कम स्तर
  • वस्तु उन्मुख/प्रक्रियात्मक/घोषणात्मक/कार्यात्मक
  • स्थापित/प्रायोगिक
  • जनरल/विशेष प्रयोजन/डोमेन विशिष्ट
  • जोरदार टाइप किया/शिथिल टाइप किया

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

1

अच्छी सलाह के लिए यहां बहुत सारे। यदि मैं यह सब नहीं तो दूसरा सबसे दूसरा होगा।

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

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

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

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

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

बस मेरे दो सेंट। सौभाग्य!

संबंधित मुद्दे