आपको कई भाषाओं को सीखने के मौके कैसे मिले हैं? [बन्द है]


9

मैंने पढ़ा कि एक प्रोग्रामर को कम से कम कितनी भाषाओं पर ध्यान केंद्रित करना चाहिए? , और मुझे पता चला कि मुझे पहले उत्तर की संख्या 2, 3 में भाषाएँ नहीं आती हैं। मैं अपने ज्ञान और प्रोग्रामिंग कौशल को बढ़ाने के लिए अधिक भाषाएँ सीखना चाहता हूं। हालांकि, आमतौर पर कंपनियों में वे निश्चित ढांचे और भाषाओं का उपयोग करते हैं और शायद ही कभी बदलते हैं। इसलिए मुझे यकीन नहीं है कि मुझे उन भाषाओं को सीखने का मौका मिल सकता है और मुझे लगता है कि यह अन्य प्रोग्रामर्स के लिए भी ऐसा ही होगा।

हालाँकि, मैंने कई डेवलपर्स देखे हैं, जो यहाँ कई भाषाओं को जानते हैं। आपको कई भाषाएँ सीखने के मौके कैसे मिलते हैं?

अपडेट करें

मुझे लगता है, ऐसे कई लोग हैं जो असहज महसूस करते हैं क्योंकि ऐसा लगता है कि मैं अपने खाली समय में पढ़ाई बिल्कुल नहीं करना चाहता। वास्तव में, यह सच नहीं है। :) मैं एक उत्साही प्रोग्रामर हूं और इसीलिए मैंने इस तरह का सवाल यहां पोस्ट किया है। मैं अपने खाली समय में अध्ययन करता हूं लेकिन मुझे लगा कि भाषाओं में निपुण होना पर्याप्त नहीं होगा। वैसे भी, सभी उत्तर के लिए धन्यवाद!


7
बस, अपने खाली समय में नया सामान सीखें।
जोनास

1
यार, वह जवाब एक 39 यो प्रोग्रामर द्वारा पोस्ट किया गया है। मुझे लगता है कि यह एक अच्छी सूची है, लेकिन इस पर खुद को मत मारो।
नौकरी

7
आप "मौका" नहीं मिलता है। आप संभावना बनाते हैं। यदि आप अधिक भाषाएँ सीखना चाहते हैं, तो बाहर जाएँ और इसे करें। आप के लिए आने के लिए कुछ पौराणिक नौकरी की जिम्मेदारी का इंतजार न करें।
जोएल एथरटन

जवाबों:


10

मुझे किसी भाषा को सीखने का सबसे अच्छा तरीका यह लगता है कि इसका तुरंत उपयोग करके कुछ उपयोगी बनाया जा सके या जिसकी आपको आवश्यकता हो

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

कुछ दिनों में मेरे पास मेरा उपकरण था और चल रहा था, फिर अपने खाली समय में मैंने भाषा के बारे में नई चीजें सीखीं और इसमें और अधिक कार्यक्षमताएँ जोड़ दीं।


एक और बढ़िया विकल्प जो दिमाग में आता है वह है: यदि आपको अपनी पसंद की भाषा नहीं मिलती, या आपको लगता है कि आपकी ज़रूरतें पूरी तरह से ठीक नहीं हैं, तब भी आप अपनी भाषा बना सकते हैं

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

परिणाम? विकास अब बहुत तेज हो गया है और कोड स्वयं अधिक वर्णनात्मक है क्योंकि यह एक डोमेन विशिष्ट भाषा है। मैंने कुछ उपयोगी लिंक के साथ कुछ सप्ताह पहले इस विषय से संबंधित एक प्रश्न पूछा था।

PHP के साथ भी नया बनाने के लिए आप किसी भी स्क्रिप्टिंग भाषा का उपयोग कर सकते हैं।


मुझे नहीं पता था कि मैं पर्ल के साथ अपनी भाषा बना सकता हूं। क्या आप इसे विस्तृत कर सकते हैं या मुझे कुछ संदर्भ दे सकते हैं?
सांग्युन ली

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

8

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

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


3

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


2

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


1

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

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

1

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

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


1
  • मैं मानता हूं कि मेरी नौकरी का कुछ हिस्सा "शोध" है। 1998 के शोध में Y2K बग को ठीक करने का मतलब था। पिछले महीने पुनर्विचार का अर्थ था तोड़फोड़ सीखना। मैं 40 साल से रिसर्च कर रहा हूं। जब मैं भाषाओं को सूचीबद्ध करता हूं तो मुझे उन्हें वर्णमाला क्रम में सूचीबद्ध करना चाहिए।

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

  • व्यावहारिक शोध में सामान्य भाषाएं शामिल हैं, जैसे C # और पास्कल। उन्नत शोध में LISP और FORTH जैसी अजीब भाषाएं शामिल हैं। आप शायद कभी भी LISP का पेशेवर उपयोग नहीं करेंगे, लेकिन इसे सीखना आपके दिमाग को काफी व्यापक बनाता है।

  • बेशक, मेरे वातावरण में, मुझे समय के लिए भुगतान नहीं किया जाता है, मुझे डिलीवरी के लिए भुगतान किया जाता है। यदि मैं दो सप्ताह में वितरित कर सकता हूं, तो प्रति दिन छह घंटे का उपयोग करके, मैं अन्य तीन का उपयोग अनुसंधान के लिए कर सकता हूं। अगर दिन में बारह घंटे लगते हैं, ठीक है, तो कोई शोध नहीं।

  • सभी शोध, निश्चित रूप से, मुझे भुगतान करने वाले के लिए कुछ संभावित उपयोगिता होनी चाहिए। छोटी उपयोगिताएँ अच्छी हैं; अगली बार जब आप अपने C स्रोत कोड को संसाधित करना चाहते हैं, तो इसे पायथन में आज़माएं। (नहीं, मैं अजगर को नहीं जानता, लेकिन मैंने सुना है कि यह स्ट्रिंग हेरफेर के लिए अच्छा है।)


0

कभी-कभी आपके लिए रोजगार के अवसर आते हैं। इस प्रकार के अवसर के लिए आमतौर पर तीन ड्राइवरों में से एक होता है।

  1. यह बिल्कुल नई तकनीक है। उदाहरण के लिए, कई कंपनियों ने .NET जारी होने के बाद पहले दो या तीन वर्षों में अपने डेवलपर्स के लिए C # प्रशिक्षण के लिए भुगतान किया।

  2. यह सीखना आसान है। उदाहरण के लिए, एक linux shop में, आप को .bash स्क्रिप्ट लिखने की आवश्यकता होगी। यदि आप टर्मिनल सत्रों आदि का उपयोग कर रहे हैं, और अन्य डेवलपर्स हैं जिनके पास उन्हें लिखने का अनुभव है, तो आपको इस कौशल को प्राप्त करने में सक्षम होना चाहिए, यदि केवल अपने स्वयं के कुछ कार्यों को स्वचालित करने के लिए।

  3. यह असामान्य रूप से तकनीकी कौशल का उपयोग किया जाता है, और आपकी कंपनी काम करने के लिए एक सलाहकार खोजने के समय और खर्च से नहीं गुजरना चाहती है। उदाहरण के लिए, मैंने सीखा कि कैसे XSLT लिखना है क्योंकि हमें प्रदर्शन के लिए कुछ XML (लॉग) फ़ाइलों को बदलने का एक आसान तरीका चाहिए।

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


0

आपके प्रश्न का उत्तर देना, अपने स्वयं के अनुभव से (मैं उद्योग में काफी नया हूं, इसलिए इसमें बहुत कुछ नहीं है) मुझे यह देखने के लिए कुछ शोध करके नई भाषाएँ सीखने को मिलती हैं कि कौन सी भाषा मेरी आवश्यकताओं के लिए सबसे उपयुक्त है। कॉलेज में, मेरे पास क्रिप्टोग्राफी में एक प्रोजेट था जिसमें बड़े इंटेगर के उपयोग की आवश्यकता थी। यह C ++ में काफी कम्फ़र्टेबल हो रहा था इसलिए मैंने Java की ओर रुख किया क्योंकि इसमें BigInteger क्लास दी गई थी। अपनी वर्तमान नौकरी में, मैं देख सकता था कि शेल स्क्रिप्टिंग मेरी समस्या को पूरी तरह से हल किए बिना सक्षम नहीं थी इसलिए मैंने पर्ल सीखा। मक्खी पर जानें एक सलाह के रूप में मेरी सलाह है। बेशक, अगर आप खुद को ऊब गए हैं, तो भाषाओं की एक पूरी दुनिया की खोज की जानी है।

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