क्या दो प्रोग्रामिंग भाषाओं के बीच आगे-पीछे होना बुद्धिमानी है? [बन्द है]


28

मैं लगभग दो वर्षों से काफी PHP लिख रहा हूं। अब मैं .NET (मुख्य रूप से c #) विकास कर रहा हूं। हालांकि, कभी-कभी मैं वापस जाता हूं और कुछ php करता हूं।

मेरा मुख्य प्रश्न यह है कि क्या मेरे लिए ऐसा करना जारी रखना बुद्धिमानी है या मुझे C # में विकास जारी रखना चाहिए? क्या यह मुझे लंबे समय में नुकसान पहुंचाएगा (आप मेरा मुख्य लक्ष्य जैक ओ ऑल ट्रेड्स नहीं हैं) या क्या यह एक अच्छा अभ्यास है?


30
एक चाल टट्टू की तुलना में सभी ट्रेडों का एक जैक होना बेहतर है
स्क्रू टीपी

27
यदि आप खुद को सिर्फ दो भाषाओं तक सीमित रखते हैं तो यह निश्चित रूप से आपको नुकसान पहुंचाएगा। अपने टूलबॉक्स में अधिक विभिन्न टूल प्राप्त करें।
एसके-तर्क

4
आप यह प्रश्न पूछते हैं कि क्या आप C # और PHP के बीच चयन करने के लिए पूरी तरह से स्वतंत्र थे - क्या वास्तव में ऐसा है?
डॉक ब्राउन

10
एक भाषा के सभी गंदे विवरणों को जानना कोई संदेह नहीं है। लेकिन जब आप कई भाषाओं के साथ काम करते हैं, तो आप किसी बिंदु पर सड़क पर खुद को कार्यक्रम के कुछ हिस्सों को डिजाइन करते हुए पाएंगे, भले ही आप वर्तमान में किस भाषा में काम कर रहे हों। यह एक प्रकार का प्रोग्रामर निर्वाण है, जहां भाषा बन जाती है। माध्यमिक और आवेदन क्या मायने रखता है। यह एक महान जगह है, क्योंकि इसका मतलब है कि आपके पास भविष्य में भी एक प्रोग्रामर के रूप में क्षमता है, जब लोग कुछ नए फैंसी Z ++ भाषा में काम कर रहे हैं।

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

जवाबों:


75

एक ही समय में दो भाषाओं का उपयोग करना कुछ भी नहीं है। प्रोग्रामर के लिए हर दिन कई अलग-अलग भाषाओं का उपयोग करना असामान्य नहीं है। विभिन्न कार्यों और विभिन्न तकनीकों के लिए अलग-अलग भाषाओं की आवश्यकता होती है

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

एक अच्छे प्रोग्रामर के रूप में यह अनिवार्य रूप से आवश्यक है कि आप कई भाषाओं में अपना रास्ता जानें, और उन भाषाओं का उपयोग करके उचित प्रवाह प्राप्त करने (और फिर संरक्षण) का एकमात्र तरीका है ।


4
मुझे यकीन नहीं है कि कैसे कोई भी नियमित रूप से कम से कम 3 भाषाओं का उपयोग किए बिना एक प्रभावी प्रोग्रामर हो सकता है।
ब्रायन नोब्लूक

1
@ ब्रायन - वे तीन भाषाएँ जो आपकी प्राथमिक बोली / लिखित भाषा, आपकी प्राथमिक प्रोग्रामिंग भाषा और SQL और / या HTML हैं?
कीथ्स

2
@KeithS केवल तब जब आप क्लाइंट की ओर से सादे सादे पेज बना रहे हों, और सर्वर साइड पर XML रिकॉर्ड्स को कभी न छूएं। CSS और Javascript को अपनी भाषाओं के रूप में गिना जाता है, जैसा कि XPath और XSLT और XQuery करते हैं।
टैक्रॉय

2
कुछ भी जिसमें "अधिकांश लोग" या "अधिकांश डेवलपर्स" शामिल हैं, को एक प्रकार के उद्धरण के साथ पालन किया जाना चाहिए। अन्यथा, यह व्यक्तिपरक है। लगभग हर डेवलपर जो मुझे मिला है (और खुद शामिल है) एसक्यूएल को एक प्रोग्रामिंग भाषा मानता है, और ट्यूरिंग पूर्णता एक प्रोग्रामिंग भाषा के लिए एक आवश्यक कारक नहीं है (सोचो डीएसएल, जो आमतौर पर पूर्ण रूप से ट्यूरिंग नहीं होने के लिए डिज़ाइन किए गए हैं ।) एचटीएमएल और एक्सएमएल जाहिर है। प्रोग्रामिंग भाषा नहीं (हालांकि आपके पास XML- आधारित डोमेन-विशिष्ट भाषाएँ हो सकती हैं)। Regexs प्रोग्रामिंग लैंग्वेज नहीं हैं, लेकिन प्रोग्रामेबल / कंफर्टेबल ऑटोमेटोन हैं।
luis.espinal

2
वह कोई स्रोत नहीं है। यह चर्चा का एक लिंक है (चर्चाएं, अपने आप, स्रोतों से नहीं होती हैं), और यह एक है जो केवल CSS और HTML पर केंद्रित है। यह "ट्यूरिंग कम्प्लीट" टेस्ट को संबोधित नहीं करता है (मेरा सुझाव है कि आप डीएसएल के विषय पर मार्टिन फाउलर का काम पढ़ें), न ही एसक्यूएल एक प्रोग्रामिंग भाषा है (जो कि यह है, यहां एक वास्तविक स्रोत है: en.wikipedia.org/ wiki / SQL , या यह amazon.com/SQL-Programming-Language-Kirk-Scott/dp/0763766747 )। या तो आप मेरी पोस्ट को पूरी तरह से नहीं पढ़ रहे हैं, या आपको लगता है कि
स्टेक्सएक्सचेंज का

37

क्या यह एक अच्छा अभ्यास है?

यह एक उत्कृष्ट अभ्यास है। इसके अलावा, मैं नियमित रूप से एक नया प्रयास करके अपनी भाषाओं की सूची का विस्तार करने की सलाह दूंगा।

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

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


14

क्या यह मुझे लंबे समय में नुकसान पहुंचाएगा (आप मेरा मुख्य लक्ष्य जैक ओ ऑल ट्रेड्स नहीं हैं) या क्या यह एक अच्छा अभ्यास है?

दो या अधिक भाषाओं को जानने से आपको कभी नुकसान नहीं होगा। आपकी भाषाओं को जानने के लिए बहुत उथले (आंतरिक-कामकाज को समझे बिना) आपको नुकसान पहुंचा सकते हैं।

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

क्या यह एक अच्छा अभ्यास है?

बिलकुल हाँ!

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


1
मुझे नहीं लगता कि, OOP सीखना आपको कार्यात्मक प्रोग्रामिंग से कई अवधारणाएं सिखाएगा, एक के लिए, JavaScripts स्कूपिंग नियम अन्य लोकप्रिय OOP भाषाओं जैसे C # से बहुत अलग हैं, आदि वहाँ से कई अन्य अवधारणाएं हैं।
प्रेत ०

मै पूरी तरह से सहमत हूँ। हालाँकि, jQuery और KnockoutJs कोई स्क्रिप्टिंग भाषा नहीं हैं। और मैं मूलभूत जावास्क्रिप्ट ज्ञान के बिना "jQuery सीखने" की सिफारिश नहीं करूंगा।
ब्रूनो स्कैपर

आप इस प्रक्रिया में जावास्क्रिप्ट सीखे बिना jQuery नहीं सीख सकते क्योंकि jQuery एक भाषा नहीं है, यह एक भाषा में लिखी गई लाइब्रेरी है।
ILikeTacos

5

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


उत्तर के लिए धन्यवाद, लेकिन मैं सोच रहा था कि क्या लगातार स्थानांतरण मेरी सीखने की प्रक्रिया को नुकसान पहुंचाता है या इसे लम्बा खींचता है या क्या यह सिर्फ व्यक्ति की क्षमता पर निर्भर करता है?
लामिन सनेह

@LaminSanneh किसी अन्य भाषा को सीखना आपको पहले वाले से बदतर नहीं बनाता है। यह एक आरपीजी नहीं है और आपके पास "प्रोग्रामिंग कौशल" अंक का एक सेट नहीं है जिसे आप प्रत्येक भाषा में असाइन कर सकते हैं। सबसे बुरी तरह से, यह समय निकालता है कि आप दूसरी भाषा के लिए समर्पित होंगे। लेकिन भाषाएं केवल आपके विचारों को व्यक्त करने का एक तरीका है, और नई भाषाएँ सीखने से आपको नए, नए दृष्टिकोण और विचार मिलते हैं, जिन्हें आप उन लोगों पर लागू कर सकते हैं जिन्हें आप पहले से जानते हैं। निश्चित रूप से, आपको हर भाषा का सिंटैक्स ऑफ-हैंड नहीं पता होगा, लेकिन उस की परवाह कौन करता है? यह एक त्वरित Google खोज है
Jay

5

अपने कैरियर के दौरान, आप होगा है नई भाषाएँ और नई प्रौद्योगिकियों जानने के लिए; उद्योग को इसकी आवश्यकता है। अपने पहले पेशेवर असाइनमेंट पर, मुझे कुछ SQL और शेल स्क्रिप्ट के साथ Ada, C, और फोरट्रान में लिखे गए कोड देने थे। मुझे C ++ से जावा और पिछले कुछ वर्षों में फिर से वापस स्विच करना पड़ा है। मैंने csh, bash और perl में शेल स्क्रिप्ट लिखी हैं।

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

बहुत कम से कम, यह आपको ऊब जाएगा।


1. मजाक। इंटरकॉल सीखने की कोशिश मत करो।


4

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

जब आप नए हों, तो दो भाषाओं के बीच संदर्भ स्विच करना अधिक कठिन होता है, इसलिए यदि आप स्विचिंग के बाद एक भाषा में कम से कम 4-8 घंटे काम करते हैं तो आप अधिक उत्पादक होंगे। बाद में आप उत्पादकता में नुकसान के बिना तुरंत स्विच कर पाएंगे। दूसरे शब्दों में, दो भाषाओं का उपयोग अंततः आपको धीमा करने के बजाय एक ताकत बन जाएगा।


2

इसमें एक उल्टा और एक नकारात्मक पहलू है।

यहां है उल्टा ...

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

नकारात्मक पक्ष यह है ...

कुछ नियोक्ता आपको "सभी ट्रेडों के जैक, किसी के मालिक नहीं" के रूप में देखेंगे और आपको मौका दिए बिना आपके आवेदन को अस्वीकार कर देंगे। वे एक विशिष्ट क्षेत्र में एक संकीर्ण विशेषज्ञ की तलाश कर रहे हैं, न कि केवल एक अच्छा, अच्छी तरह गोल, प्रोग्रामर। कभी-कभी आपको एचआर द्वारा कट ऑफ मिल सकता है क्योंकि आपके पास "[एक्स] में 5 साल का निरंतर अनुभव नहीं है"। हो सकता है कि आप नौकरी को फिट करने के लिए अपने फिर से शुरू करने से बच सकते हैं लेकिन यह आपको तकनीकी साक्षात्कार में मदद नहीं कर सकता है।

मेरे लिए, उल्टा बहुत बेहतर है लेकिन आपको इस बात से अवगत होने की आवश्यकता है कि संगठनों के एक अल्पसंख्यक इसे नकारात्मक मानते हैं।


+1, इसके अलावा, मैं सकारात्मक हूं कि इस अल्पसंख्यक संगठनों और खराब प्रोग्रामिंग और अप्रभावीता के बीच संबंध है।
Ktete

2
यह नकारात्मक हालांकि उन नियोक्ताओं द्वारा रद्द कर दिया गया है जो सटीक विपरीत सोचते हैं। मेरे पास उन निर्णयों को काम पर रखने के लिए एक जगह है जहाँ मैं काम करता हूँ, और मुझे किसी ऐसे व्यक्ति को काम पर रखने के लिए राजी करना बहुत मुश्किल होगा, जिसकी बेल्ट के नीचे केवल एक प्रोग्रामिंग भाषा थी। शायद एक जूनियर पद के लिए, लेकिन निश्चित रूप से एक वरिष्ठ डेवलपर के लिए नहीं।
जॉन हैना

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

विपक्ष को इंगित करने के लिए +1 । मैं कहां से हूं, "सभी ट्रेडों के जैक, किसी के मालिक नहीं" को बनाए रखने वाली कंपनियों की संख्या इतनी छोटी नहीं है।
lsoliveira

हाँ, लेकिन हम इसे अच्छी गुणवत्ता में बदल सकते हैं; एचआर में हमेशा एक बेवकूफ हो सकता है जो इसकी खराब गुणवत्ता के बारे में सोचता है। हालांकि, अगर किसी संगठन में एचआर बेवकूफ होते हैं, तो वे बुरा काम कर रहे होते हैं, और काम पर रखने के दौरान बेरोजगारी की रेखा से बेहतर हो सकता है, आप तुरंत एक नई नौकरी की तलाश करेंगे और कहीं और काम पाएंगे। ।
जॉन हैना

2

जब आप PHP का विकास कर रहे थे तो क्या आपने जावास्क्रिप्ट या SQL लिखा था? अपने C # विकास में आप अभी भी उन दोनों का उपयोग कर सकते हैं। यह एक प्रोग्रामिंग भाषा का उपयोग करने के रूप में बहुत कटौती और सूखा नहीं है।

यदि आप इसे करने में खुश हैं, तो इसके बारे में चिंता न करें। यदि आप दोनों (या तो) नहीं करना चाहते हैं तो आपको एक समस्या है।


2

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

आदर्श रूप से, वह जो आप पहले से ही जानते हैं, उनके दृष्टिकोण में बहुत भिन्न है।


2

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

मैं हमेशा एक ऐसी भाषा बोलने की कोशिश करता हूं जिसे मैं गहराई से सीख रहा हूं और फिर एक "अप एंड आने" के रूप में। इस तरह आपके पास हमेशा एक स्पष्ट शैक्षिक लक्ष्य और फिर क्षितिज पर कुछ होता है। अभी रूबी मेरी मुख्य भाषा है और मैं गो के साथ प्रयोग कर रही हूं। मुझे संभवतः गो डेवलपर के रूप में नौकरी नहीं मिलेगी लेकिन एक नई भाषा सीखना बेहतर डेवलपर बन गया है।

जब मैं एक डेवलपर का साक्षात्कार करता हूं तो मैं हमेशा उनके फिर से शुरू होने पर कुछ अलग भाषाओं को देखना पसंद करता हूं। यदि किसी डेवलपर के पास अपने रिज्यूमे पर "C / C ++" या "PHP और जावास्क्रिप्ट" है, तो वे किसी ऐसे व्यक्ति की तुलना में बहुत कम दिलचस्प लगते हैं, जिनके पास 4 या 5 भाषाओं की एक फर्म है। सुनिश्चित करें कि आप किसी भी भाषा को सूचीबद्ध करने में सहज महसूस करते हैं, आपके फिर से शुरू होने पर कुछ भी साक्षात्कार में उचित खेल है!

संक्षेप में: नियमित रूप से कई भाषाओं का उपयोग करना एक अच्छे डेवलपर का संकेत है जो अपने शिल्प के बारे में परवाह करता है। कोडिंग रखें!


मैं कहूंगा कि यदि डेवलपर फिर से शुरू में "C / C ++" कहता है, तो मैं चाहता हूं कि वहां एकमात्र भाषा हो। लेकिन अन्य, मूर्ख-प्रूफ भाषाओं के साथ, जितना बेहतर होगा।
कोडर

2

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

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

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


2

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

जब लोग कोबोल या फोरट्रान करते हैं, तो वे आम तौर पर आरपीजी और / या जेसीएल भी करते थे।

यूनिक्स में, लोग C, sed, awk, shell script के साथ काम करेंगे और यूनिक्स किचन सिंक में सब कुछ के बारे में होगा (Unix में लगभग हर कमांड लाइन टूल, इसका अपना, बहुत ही विशिष्ट DSL है।)

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

आजकल, यह एक वास्तविक तथ्य है कि लोग किसी भी दिन दो से अधिक भाषाओं के साथ "काम" करते हैं (और "काम" से मेरा मतलब है कि दिन-प्रतिदिन की कोडिंग करना या काम करना ज्ञान है)। जावा या C # या VB को जावास्क्रिप्ट और एसक्यूएल के साथ बहुत कम से कम मिलाया जाता है। फिर अन्य भाषाएँ बैच / नौकरी की स्क्रिप्टिंग और इस तरह के खेल में आती हैं। फिर, प्रत्येक भाषा के लिए, आपके पास एक ढांचा होता है जो अपने आप में एक आंतरिक डीएसएल, एक मिनी-भाषा को लागू करता है।

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

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

तो, अपने प्रश्न के बारे में:

मेरा मुख्य प्रश्न यह है कि क्या मेरे लिए ऐसा करना जारी रखना बुद्धिमानी है या मुझे C # में विकास जारी रखना चाहिए? क्या यह मुझे लंबे समय में नुकसान पहुंचाएगा (आप मेरा मुख्य लक्ष्य जैक ओ ऑल ट्रेड्स नहीं हैं) या क्या यह एक अच्छा अभ्यास है?

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


1

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

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


0

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


0

इस स्थिति में आप JAVA से C # स्विच करने के बारे में नहीं पूछ रहे हैं और हर समय वापस आ रहे हैं, इसके बजाय आप C # और PHP के साथ जा रहे हैं जो वास्तव में बड़ी बात नहीं है।

मान लीजिए कि आप कुछ WEB आधारित सामान करना चाहते हैं, जहाँ आप एक WAMP स्टैक (Windows / Apache / MySQL / PHP) और C # का उपयोग कर रहे हैं। आप कुछ SOAP आधारित सेवाओं को लिखने के लिए C # का उपयोग करते हैं और फिर उन्हें उपभोग करने के लिए PHP का उपयोग करते हैं।

यह मुझे पूरी तरह से स्वीकार्य लगता है।

वैसे भी, एक से अधिक भाषाओं को जानना अच्छा है। जितना अधिक आप बेहतर जानते हैं। PHP / C # / जावा / पायथन / जावास्क्रिप्ट लाइब्रेरी [उदाहरण के लिए JQuery]। जितना हो सके उतने लोगों के लिए उपयोगी बनें।

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