एक प्रोग्रामर को कम से कम कितनी भाषाओं पर ध्यान केंद्रित करना चाहिए? [बन्द है]


21

मेरे लिए मैं C # और Java व्यक्ति हूं। मुझे लगता है कि ये 2 भाषाएँ काफी समान हैं इसलिए मेरे लिए एक दूसरे को क्रॉसओवर करना आसान है। मुझे यकीन नहीं है कि इसका अच्छा विचार अन्य विभिन्न भाषाओं को लेने के लिए है। कोई विचार?


क्या आप पूछ रहे हैं क्योंकि फिर से शुरू करने की प्रक्रिया फिर से शुरू करने के लिए खोजशब्दों की तलाश करते हैं?
ब्रायन

@ 0A0D नहीं वास्तव में, यह व्यक्तिगत हित के लिए था। Im एक प्रोग्रामर भी :)
डिजिटल ड्यूड

जवाबों:


43

मैं एक भाषा सीखने के लिए कम से कम पांच कारणों के बारे में सोच सकता हूं, और ऐसा लगता है कि आपको अंततः इनमें से प्रत्येक के लिए एक सीखना चाहिए।

  1. अपनी पहली नौकरी पाने के लिए एक भाषा - संभवतः जावा / सी # / सी ++
  2. चीजों को प्राप्त करने के लिए एक भाषा - संभावना बैश / पर्ल / पायथन / रूबी
  3. अपने मन को मोड़ने के लिए एक भाषा - संभावना हास्केल / क्लोजर / स्काला / एफ #
  4. डोमेन विशिष्ट कारणों के लिए एक भाषा - संभावना जावास्क्रिप्ट / उद्देश्य सी
  5. अपने हाथों को गंदा करने के लिए एक भाषा - संभावना सी / विधानसभा

17
कौन सी भाषा उन सब पर राज करती है?
Tester101

4
विधानसभा उन सभी पर शासन करती है। यह अंतिम क्यों सूचीबद्ध है। पिछले के लिए सबसे अच्छा बचाया।
वर्नरसीडी

9
Tester101: अंग्रेजी? ; ओ)
जॉन फिशर

6
बेशक, यह कोई आश्चर्य नहीं होना चाहिए कि आपकी पहली नौकरी पाने के लिए भाषा वह भाषा नहीं है जिसका उपयोग आप चीजों को प्राप्त करने के लिए करते हैं।

4
... और अंधेरे में, उन्हें बांधो!
tchrist

53

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

यदि आप C # जानते हैं, तो आप शायद जावा सीखकर बहुत कुछ नया नहीं सीखेंगे। लेकिन आप हास्केल सीखेंगे।

इसलिए जब आप सीखने के लिए एक नई भाषा चुनते हैं, तो कुछ ऐसा चुनें जो आपको ऐसी अवधारणाएँ सिखाएगा जो आप पहले से नहीं जानते हैं।


23
+1 "एक भाषा जो प्रोग्रामिंग के बारे में आपके सोचने के तरीके को प्रभावित नहीं करती है, वह जानने लायक नहीं है" -अलन पर्लिस
इनामाथी

20
@ इमानाथी: जब तक यह पता नहीं चलता बिलों का भुगतान करने में मदद मिलती है।
क्रामिनी

5
बस एक ध्यान दें: मैंने Haskell को बिना किसी कारण के सुझाव दिया कि यह मौलिक रूप से C # से भिन्न है। मुझ पर एस्बेस्टस पहने हुए चालबाज कहना चाहता था "लोट्टॉक सीखो ताकि आप ऊ सीख सकें"!
फ्रैंक शीयर

10
@ दिगील डूड: तथ्य यह है कि यह कठिन है। आपके माथे के पीछे का दर्द कोई बुरी बात नहीं है - यह संकेत है कि आपका मस्तिष्क बढ़ रहा है। यदि आप बस एक ही चीज को बार-बार सीखते रहना चाहते हैं, तो जावा सीखें, फिर C #, फिर रूबी, फिर C ++ (वू, नो कचरा कलेक्टर - डरावना!), फिर C (कोई वर्ग नहीं - डरावना-डरावना!), तब हो सकता है। वास्तव में पागल हो जाओ और उद्देश्य सी की कोशिश करो! (ऊओह - दो दिन पहले मैं मैक वर्तनी नहीं कर सकता था और अब मैं एक कार्यक्रम कर सकता हूं!) मेरी बात - यदि आप कुछ नया सीखना चाहते हैं तो आपको कुछ अलग करना होगा। उसी सड़क का अनुसरण करने से आप उसी स्थान पर पहुँच जाते हैं।
बॉब जार्विस -

4
@Kramii @ इमानाथी अहा, लेकिन एक भाषा जो आपको बिलों का भुगतान करने में मदद करती है, वह आपके प्रोग्रामिंग के बारे में सोचने के तरीके को प्रभावित करती है
19

22

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

1) स्क्रिप्टिंग भाषाओं की श्रेणी के लिए पायथन और पर्ल

2) C ++ को "फ्रेमवर्क" भाषा के रूप में

3) मोबाइल एप्लिकेशन के लिए जावा

4) विरासत कोड की बड़ी राशि के लिए सी

5) कुछ अप्रचलित भाषाएं जिन्हें मैं जानता था कि जब मैं छोटा था (बेसिक, पास्कल, क्लिपर आदि)

मैं कहूंगा कि आपको कम से कम एक मुख्य भाषा और एक स्क्रिप्टिंग की आवश्यकता है। C # जानने के बाद मैं आपको पायथन या पर्ल या रूबी सीखने की आवश्यकता होगी। (मैं अजगर के साथ जाऊंगा, लेकिन यह सिर्फ वरीयता का मामला है)।


1
मैं भी आपसे सहमत हूँ कि एक एक प्रोग्रामर जो एक भाषा जानता है, उसे इसके साथ काम करने के लिए कम से कम स्क्रिप्टिंग भाषा सीखने की आवश्यकता है। मुझे लगता है कि जब आप कुछ परीक्षण करना चाहते हैं तो यह बहुत महत्वपूर्ण + उपयोगी है। विशेष रूप से खेल विकास। मुझे लगता है मैं अपनी अतिरिक्त भाषा के रूप में अजगर को उठाऊंगा :)
डिजिटल ड्यूड

2
तेजी से सीखने की क्षमता के लिए कर्म
आयुष गोयल

स्क्रिप्टिंग भाषा के अलावा, कभी-कभी शेल स्क्रिप्टिंग भाषा जानने से भी बड़ी मदद मिल सकती है। सिस्टम पर कुछ सामान्य काम शेल्फ़ भाषा में हल करना आसान होता है, यहां तक ​​कि पायथन जैसी स्क्रिप्टिंग भाषा में भी।
कोडेक्सआर्कनम

C # जानना उस भाषा का विशेषज्ञ होने से अलग है
ब्रायन

1
पास्कल शायद ही एक अप्रचलित भाषा है; इन दिनों डेल्फी में एक टन सामान विकसित किया जा रहा है।
मेसन व्हीलर

8

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


धन्यवाद! मैं यहाँ और वहाँ का एक सा पता है, लेकिन मुझे एहसास हुआ कि मैं वास्तव में पूरी तरह से एक भाषा में महारत हासिल नहीं कर सकता। हमेशा नई चीजें चलती रहती हैं: .. /
डिजिटल ड्यूड

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

8

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


7

किसी पर ध्यान न दें। स्वच्छ कोड सीखने और लिखने पर ध्यान केंद्रित करना; स्पष्ट, अभिव्यंजक, सरल और, सबसे महत्वपूर्ण, डुप्लिकेट नहीं।

उस प्रकार के प्रोग्रामिंग के सिद्धांतों के लिए जाएं, मूल बातें (उदाहरण के लिए, ओओपी के लिए एनकैप्सुलेशन; इसका अर्थ क्या है और इसका क्या अर्थ है) और कुछ सिद्धांत सीखें

यह सामान आपके काम को आसान बना देगा। यह उन लोगों के लिए भी आसान बना देगा जो आपके या आपके बाद काम करते हैं।

फिर, आपको सिंटैक्स को भी अच्छी तरह से जानना होगा। लेकिन यह कुछ ऐसा नहीं है जो आपका ध्यान लंबे समय तक ले जाए

और फिर, आपको बहुत अच्छी तरह से समझ में आने वाली तकनीकों को भी समझना चाहिए। लेकिन जिन्हें आपके व्यवसाय के लिए आवश्यक जटिलता के स्तर के अनुसार प्राथमिकता दी जा सकती है।

अंतिम दो मुख्य फ़ोकस के नहीं हैं, बल्कि कुछ फ़ोकस के हैं


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

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

6

एक प्रोग्रामर को प्रोग्रामिंग पर नहीं बल्कि एक सहज भाषा / शब्द पर विचार करना होगा।


6

अपना काम करने के लिए जितने की जरूरत है।

लेकिन C # और Java यूके इंग्लिश और यूएस इंग्लिश के जितने करीब हैं। आप फिनिश या नवाजो के लिए जाकर कुछ नया सीख सकते हैं ।


1
या! Xów: en.wikipedia.org/wiki/Taa_language (अफ्रीकी "भाषा" पर क्लिक करें)।
जेरेड अपडेटेड

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

1
@ जेरेड, मुझे लगता है कि सिर्फ अपना नाम कहने के लिए एक भाषा की कटिंग और पेस्ट करना, शुरू से अवांछनीय आदतों को प्रोत्साहित कर सकता है ...

5

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

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

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


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

3

C # और Java जैसी लोकप्रिय प्रोग्रामिंग लैंग्वेज आपको ज़्यादा से ज़्यादा जगहों पर काम पर रखेंगी, लेकिन समस्याओं को सुलझाने के नए तरीके सीखने के लिए दोनों एक-दूसरे से अलग नहीं हैं। मुझे लगता है कि कुछ ऐसी भाषाएं हैं जिन्हें आप खाते हैं (जिनका उपयोग आप अपनी नौकरी करने के लिए करते हैं), और अन्य जो आप खेलते हैं। दोनों के अपने उद्देश्य हैं।

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

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

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

अंततः जावा लिस्प और स्मालटॉक के रास्ते पर जाएगा, और सी # सूट का पालन करेगा। उनकी जगह लेने के लिए वहाँ क्या होगा देखा जाना बाकी है। दिन के अंत में, यदि आप जानते हैं कि समस्याओं को कैसे हल किया जाए, और आपके पास समस्या को हल करने और बर्बाद करने के लिए कई तरीके हैं, तो आप नौकरी खोजने में सक्षम होंगे और इसके लिए आपको जिस भी भाषा की आवश्यकता होगी, उठा सकते हैं।


2

जब कौशल रखने की बात आती है, और लचीला होता है, तो मुझे लगता है कि आपको हर 6 महीने में कम से कम एक पूरी तरह से नई प्रोग्रामिंग भाषा सीखने की कोशिश करनी चाहिए। और मेरा मतलब एक ऐसी भाषा से है जो बहुत अलग है।

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

यदि आपने कभी C नहीं सीखा है, तो हालांकि यह सिंटैक्स जावा में लाया गया है, मानसिकता काफी भिन्न हो सकती है। यह जानने योग्य है, गहराई से, और इससे भी बेहतर, यह समझना कि इस भाषा में ओओ कोड कैसे लिखा जा सकता है जो केवल प्रक्रियात्मक लगता है।

मैं ब्रूस टेट की पुस्तक "बियॉन्ड जावा" को पढ़ने की सलाह देता हूं, जो केवल एक भाषा पर होने के खतरों को बहुत अच्छी तरह से उजागर करती है, सी ++ के उदय और पतन को ध्यान में रखते हुए। हालाँकि C ++ अभी तक मृतकों से दूर है और दशकों बाकी हैं, यह केवल उन स्थितियों में उपयोग करने के लिए अधिक से अधिक प्रतिबंधित हो रहा है जो अन्य भाषाओं में उत्पादकता लाभ से लाभ नहीं उठा सकते हैं। इसके विपरीत, सिनात्रा, एक रूबी फ्रेमवर्क, आपको कोड की लगभग 6/7 पंक्तियों में एक साधारण वेब सेवा बनाने की अनुमति देता है, सी ++ समकक्ष इस से बड़ा परिमाण का एक आदेश हो सकता है।


1

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

प्रोग्रामिंग भाषा सीखने के लिए सभी अच्छी सामग्री (किताबें, लेख, कोड आदि) अंग्रेजी में लिखी जाती हैं।


1

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

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

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

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

{} स्निप

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

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

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

http://www.paulgraham.com/avg.html

हमारे द्वारा शिप किए गए अधिकांश एप्लिकेशन C # या VB में लिखे गए हैं। जब हमें किसी एप्लिकेशन में स्क्रिप्टिंग जोड़ने की जरूरत पड़ी, तो हमने पायथन को चुना (Lua रनर-अप पसंद था)। हम F # सीख रहे हैं क्योंकि वह कुछ बालों वाली नई चीजें कर सकता है, जिन्हें समझना और समझना मुश्किल है, अगर सभी को पता है कि C # / Java / VB है।


0

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

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

बेहतर या बदतर के लिए आप संभवतः कुछ बिंदु पर भी सी # और / या जावा में भाग लेंगे, वे काफी व्यापक हैं।

किसी भी मामले में, अपने आप को कृत्रिम रूप से सीमित न करें। उन कोडर्स को मैं जानता हूं जो स्पष्ट रूप से दिलचस्प टूल लेने से बचते हैं, लगता है कि क्लोइस्टेड वर्ल्डव्यू और सीमित प्रभाव है।


0

यह एक और विशेषज्ञ बनाम सामान्यवादी बहस एक अर्थ में बन सकता है। कुछ लोग एक भाषा को बहुत गहराई तक जानने में लंबा समय लगा सकते हैं जो उनके लिए ठीक काम करता है। अन्य लोग विभिन्न भाषाओं के एक समूह के बारे में थोड़ा जानना पसंद कर सकते हैं जो उनके लिए ठीक काम करता है। ज्यादातर लोग इन दो चरम सीमाओं के बीच हैं।

यदि आप चाहते हैं कि भाषाओं के सुझाव यहां दिए जाएं, तो कुछ विचार हैं:

  1. कार्यात्मक प्रोग्रामिंग - हास्केल या लिस्प यहां के उदाहरण होंगे और प्रतिमान बदलाव कुछ हद तक एक हेड टर्नर हो सकता है।

  2. डेटाबेस विशिष्ट - पीएल / एसक्यूएल या टी-एसक्यूएल कुछ के रूप में दिमाग में आते हैं जो उपयोगी हो सकते हैं यदि आप उन प्रणालियों के साथ अधिक बैक-एंड काम करना चाहते हैं जिनकी कुछ कार्यक्षमता के लिए डेटाबेस की आवश्यकता होती है।

  3. यूआई वेब भाषाएँ - एक्शनस्क्रिप्ट या जावास्क्रिप्ट रिच इंटरनेट एप्लिकेशन में उपयोग की जाने वाली भाषाओं के उदाहरण हैं, हालांकि AIR कुछ डेस्कटॉप अनुप्रयोगों को कुछ मामलों में वेब कॉल का उपयोग कर सकते हैं जैसे ट्विटर एपीआई का उपयोग करना।

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


0

एक प्रोग्रामर को तीन भाषाओं को जानने की जरूरत है: C, अंग्रेजी और कुछ और।

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

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

समथिंग एल्स एक ऐसी भाषा होनी चाहिए जो प्रक्रियात्मक नहीं है, या वैधानिक रूप से टाइप नहीं है, या दृढ़ता से ऑब्जेक्ट ओरिएंटेड है, या किसी तरह से बस सी। हास्केल, स्काला, पायथन, रूबी, कुछ लिस्प बोली से मौलिक रूप से भिन्न है, जो भी हो ।

उसके बाद, आप अपनी विशिष्ट स्थिति के लिए कॉल कर सकते हैं, संभावित रूप से C # या जावा।


मैं इस टिप्पणी की सराहना करूंगा कि आपने क्यों, अनाम आलोचक ने इस उत्तर को वोट दिया।
17

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

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

मुझे नहीं पता कि आपको क्यों अपमानित किया गया था, लेकिन मैं आपसे सहमत हूं कि अंग्रेजी जानना एक मुख्य प्रोग्रामिंग भाषा जानना उतना ही महत्वपूर्ण है। @ सगरमाथा: आपने सिर्फ अपने आप का खंडन किया। यदि अंग्रेजी में विचार व्यक्त किए जाते हैं, तो निश्चित रूप से अंग्रेजी भाषा को जानने से आप इन नए विचारों को सीख सकेंगे। आप कितनी अच्छी तरह सीखते हैं और इसे लागू करते हैं, यह अंग्रेजी के साथ-साथ प्रोग्रामिंग कौशल को समझने की आपकी क्षमता पर निर्भर करेगा।
काइरोक्स
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.