उबंटू डेवलपर बनने के लिए मुझे कौन सी प्रोग्रामिंग लैंग्वेज सीखनी चाहिए? [बन्द है]


22

हालाँकि मैंने एक प्रोजेक्ट के लिए एक बार नेटबीन्स का उपयोग किया है , मुझे पूर्ण-विकसित Ubuntu डेवलपर बनने के लिए किन भाषाओं की आवश्यकता है?

NetBeans (केवल जावा) में मेरा प्रोजेक्ट एक कैलकुलेटर (अपेक्षाकृत आसान) डिज़ाइन करना था। इसके अलावा, हम छवि दर्शक, ब्राउज़र इत्यादि बनाना कैसे सीखते हैं?

इसके अलावा, कुछ अनुप्रयोगों के लिए सबसे अच्छी भाषा क्या होगी?


3
यह बल्कि व्यक्तिपरक है ... उदाहरण: perl अजगर के लिए एक विकल्प हो सकता है और दूसरे तरीके से गोल लेकिन आप perl / python उपयोगकर्ता पाएंगे जो pentthon / perl को बिना किसी कारण या इंडेंटेशन के मजबूर करने के अलावा किसी भी कारण से घृणा करते हैं;)
रंजविंड

यदि आप इस बारे में अधिक विशिष्ट हो सकते हैं कि आप क्या लिखना चाहते हैं, तो हम बेहतर तरीके से उत्तर दे सकते हैं, लेकिन बाद में ..., आपको कई अलग-अलग राय मिलने की संभावना है और आप उबंटू मंचों
वॉरेन हिल

जवाबों:


31

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

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


5
सरल लेकिन सटीक;) कार्य को सबसे कुशलता से करने के लिए जो भी भाषा लगती है।
रिनजविंड

3
चूंकि ओपी उल्लेख करता है कि उसके पास जावा में अनुभव है, इसलिए यह उल्लेख करना उचित है कि जावा उबंटू पर भी ठीक चलता है। आपको
पुनर्मिलन

@ BlueRaja-DannyPflughoeft जब तक आप एक ऐसा अनुप्रयोग विकसित कर रहे हैं जिसमें निम्न-स्तरीय सिस्टम कॉल की आवश्यकता होती है। अक्सर आप इन विशेषताओं के लिए प्लेटफ़ॉर्म विशिष्ट लाइब्रेरी प्रदान करने वाले एप्लिकेशन देखेंगे। लेकिन आम तौर पर हाँ, तुम सही हो।
डेनिस आइचोर्न

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

7

यदि आप उबंटू के लिए आवेदन लिखने का इरादा कर रहे हैं जो कई उपकरणों पर चल सकता है और कारक (डेस्कटॉप, फोन, टैबलेट, टीवी ...) बना सकता है, तो मैं QML और जावास्क्रिप्ट सीखने की सलाह दूंगा । अनिवार्य रूप से:

  • फार्म कारक और उपकरणों में चलने वाले अभिसारी उबंटू ऐप्स को लिखने के लिए QML का उपयोग करें
  • उबंटू ऐप लिखते समय और उबंटू वेबैप्स लिखने के लिए क्यूएमएल को पूरक करने के लिए जावास्क्रिप्ट का उपयोग करें

क्या आप इस बात पर थोड़ा और विस्तार दे सकते हैं कि ये दोनों क्यों अनुकूल हैं?
don.joey

हो गया, मुझे उम्मीद है कि स्पष्ट मार्गदर्शन प्रदान करता है :)
डेविड प्लानेला

5

आपको सीखना चाहिए:

  • जावास्क्रिप्ट: अधिकांश UI फ्रेमवर्क / env के रूप में। / जावास्क्रिप्ट पर आधारित होंगे; वैसे भी आपको किसी न किसी दिन इसकी आवश्यकता होगी।

फिर बाकी सभी चीजों के लिए आपको कुछ और की आवश्यकता होगी:

  • सी ++ / सी
    • पेशेवरों: आश्चर्यजनक रूप से तेज़, निम्न स्तर की सुविधाओं तक पहुंच
    • विपक्ष: बहुत कुछ स्थिर, भयानक समुदाय लिखना सीखना
  • माणिक:
    • पेशेवरों: जानने के लिए आसान है, वास्तव में लिखने के लिए खुश है, महान समुदाय
    • विपक्ष: कुछ काम के लिए धीमा हो सकता है (वास्तव में)
  • अजगर:
    • पेशेवरों: बहुत सारे पैकेज अजगर, महान समुदाय, तेज, आदि में हैं।
    • विपक्ष: अजगर 3 (सिर्फ दयालु)

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


1

प्रोग्रामिंग काम में वास्तविक कोड और उसके नीचे मानसिक मॉडल दोनों शामिल हैं।

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

मेरा सुझाव इस प्रकार है कि आप ऐसी परियोजना से जुड़ें जिसमें आप व्यक्तिगत रुचि लेते हैं और अक्सर उपयोग करते हैं, और फिर गुणवत्ता आश्वासन कार्य के साथ शुरू करते हैं:

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

यह आपको अपनी रुचि रखते हुए (क्योंकि यह एक ऐसी परियोजना है जिसके बारे में आपको परवाह है) परियोजना के कठिन, वैचारिक भाग पर परियोजना के कठिन, वैचारिक भाग के बारे में जानने की अनुमति देगा और आपको परियोजना के आसपास समुदाय तक पहुंच प्रदान करेगा। वास्तविक प्रोग्रामिंग भाषा (जो भी परियोजना में उपयोग की जाती है) कुछ ऐसी चीज है जिसे आप मक्खी पर उठा सकते हैं।

कुछ हद तक क्रमिक प्रविष्टि के उदाहरण के लिए, बीगनेट परियोजना में मेरे योगदान को देखें । प्रोग्रामिंग भाषा का ज्ञान (उस उदाहरण में C / C ++) निश्चित रूप से यहाँ सीमित कारक नहीं है।


0

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

तो आप Java, C, स्कीम, OCaml, असेंबली (कम से कम दो आर्किटेक्चर), फोर्थ और थोड़ा सा Prolog सीखना चाह सकते हैं, जरूरी नहीं कि उसी क्रम में हो। दूसरी भाषा सबसे कठिन होगी, क्योंकि आपको दोनों नई अवधारणाओं को सीखना होगा, और उन अवधारणाओं को भूलना होगा जो आपने पहली भाषा के साथ सीखे थे लेकिन गलत निकले। बाद में यह आसान है और केवल आसान हो जाता है।

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


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