उबंटू (और सामान्य रूप से अधिकांश लिनक्स वितरण) के लिए विकास शुरू करना चाहते हैं, जो उपयुक्त है? अजगर या वला? [बन्द है]


14

मैं एक कंप्यूटर विज्ञान स्नातक हूं, और सी, सी ++, सी # और जावा जैसी भाषाओं को सीखा है। हालांकि मुझे जावा के साथ अधिक अनुभव है। मैं लिनक्स के लिए विकास करना चाहता हूं और मैं गनोम के लिए विकास करना चाहता हूं, मैं पायथन और वेल में से एक को चुनने के बीच भ्रमित हूं।

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

धन्यवाद।


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

जवाबों:


18

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

PyGTK, अजगर जीटीके बाइंडिंग, जैसे अनुप्रयोगों के बनाने के लिए इस्तेमाल किया गया है PiTiVi , बाढ़ , emesene , Exaile , Jokosher , और WingIDE

मुझे Vala में लिखे गए आवेदनों की एक सूची नहीं मिल सकती है (हालांकि मुझे शॉटवेल के बारे में पता है )। लेकिन चूंकि यह बहुत ही सूक्ति गन्तव्य के लिए एक भाषा होने के लिए डिज़ाइन किया गया है, तो आप यह सुनिश्चित कर सकते हैं कि आप इसके GTK / GObject एकीकरण से निराश नहीं होंगे।

उन दोनों को आज़माएं और आपको जो सबसे अच्छा लगता है उसका उपयोग करें। वे GTK एप्लिकेशन बनाने के लिए दोनों उत्कृष्ट उपकरण हैं। आप कुछ Vala कोड और कुछ Python कोड भी देख सकते हैं


6

मैं वेल की सिफारिश करूंगा। आप ऑब्जेक्ट-ओरिएंटेड भाषाओं को पसंद करते हैं और डिज़ाइन द्वारा ऑब्जेक्ट ऑब्जेक्ट-ओरिएंटेड हैं। पायथन में OOP क्षमताएं भी हैं, लेकिन वे अन्य भागों में एकीकृत नहीं हैं - यही कारण है कि रूबी बनाया गया था।

अजगर को सीखना और उपयोग करना आसान माना जाता है, लेकिन यह एक बहुत ही मूल भाषा है, अपने तर्क और दर्शन के साथ; मुझे लगता है कि Vala आपको सीखना आसान होगा क्योंकि यह C # और Java के समान है।

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


1
पायथन के लिए GTK बाइंडिंग के बारे में 'गरीब' क्या है? इसके अलावा, मुझे नहीं लगता कि रूबी को पायथन की प्रतिक्रिया के रूप में बनाया गया था! इसके अलावा, मैं आपके उत्तर से सहमत हूं।
18:35 पर DV3500ea

व्याख्या की गई भाषाएं निश्चित रूप से धीमी हैं, जो एक डिजाइन ट्रेड-ऑफ है। तेजी से अजगर कोड लिखने के लिए, आप एक काम करने वाला अजगर कार्यान्वयन लिखते हैं, उन भागों को प्रोफाइल करते हैं जिन्हें अनुकूलन की आवश्यकता होती है, और एक संकलित भाषा में उन भागों के लिए अजगर मॉड्यूल लिखें जैसे कि सी।
Egil

@ DV3500ea: वास्तव में, " मुझे एक स्क्रिप्टिंग भाषा चाहिए थी जो पर्ल से अधिक शक्तिशाली थी, और पायथन से अधिक ऑब्जेक्ट-ओरिएंटेड। " ऐसा नहीं है कि मैं जरूरी सहमत हूं, मैं नहीं देखता कि ओओपी पायथन के साथ कैसे एकीकृत है।
एंड्रे परमेस

1
जबकि पायथन अपने आप में धीमा है, ज्यादातर मामलों में इसकी गति शायद ही मायने रखती है। जीयूआई का वास्तव में धीमा हिस्सा वास्तविक ग्राफिक्स पर जा रहा है, जो अभी भी सभी सी है
ब्रेंडन लॉन्ग

5

मैं आपको पायथन से शुरू करने का सुझाव दूंगा क्योंकि PyGTK ऐप बनाना वास्तव में आसान है। यह मुफ्त पुस्तक पायथन के साथ सूक्ति एप्लिकेशन को विकसित करने के लिए एक महान संसाधन है।

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

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

मैं कहूंगा कि प्‍लेटफार्म का अहसास पाने के लिए PyGTK (PyGI) से शुरुआत करें और फिर Vala और Javascript सीखें। जावास्क्रिप्ट Gnome डेस्कटॉप पर बड़ा होने जा रहा है। मेरा मतलब है विशाल।

GTK के लिए बाध्यकारी, वे अब सभी ऐप्स के लिए समान हैं। आप Gobject Introspection का उपयोग करके किसी भी भाषा से समान C बाइंडिंग का उपयोग करेंगे


मैं गनोम या किसी भी डेस्कटॉप वातावरण (जो पहले से ही गनोम शेल पर बहुत बड़ी छाप छोड़ता है) को संभालने के लिए जावास्क्रिप्ट का इंतजार कर रहा हूं।
कुशाल

1

पायथन में बहुत सारे अच्छे प्रलेखन / पुस्तकें हैं। वला के लिए मुझे नहीं पता।


0

मैं wxPython (wxWidgets) के साथ Boa कन्स्ट्रक्टर या Aptana स्टूडियो 3 (PyDev) का सुझाव दूंगा। पायथन किसी के लिए भी एक शानदार भाषा है (यहां तक ​​कि बच्चों के लिए - "बच्चों के लिए सांप का वार" देखें)। पायथन / wxPython में कोडिंग करके, आप कोड लिखेंगे जो लिनक्स के साथ खूबसूरती से एकीकृत होता है, लेकिन विंडोज और ओएस / एक्स के साथ-साथ तुच्छ प्रयास के साथ पोर्ट किया जा सकता है।


0

जो भी आप सबसे आरामदायक प्रोग्रामिंग हैं उसका उपयोग करें। यदि आप कोड दान करने जा रहे हैं (यानी मुफ्त सॉफ्टवेयर लिख रहे हैं), तो आप इसका आनंद भी ले सकते हैं। जैसा कि दूसरों ने कहा है, दोनों भाषाएं विकास के लिए महान हैं।


जाहिर है मुफ्त सॉफ्टवेयर लिखना वह है जो हमेशा के लिए सब कुछ बदलने वाला है। :-)
कुशाल

0

अच्छे GTK बाइंडिंग और डॉक्यूमेंटेशन के साथ भाषाओं का शायद वैले नंबर 3 (या 4 है, तो आप gtkmm की गिनती करते हैं)। यह सी में मध्यवर्ती कोड का उत्पादन करता है, जिसे आप बदल सकते हैं या यह देखने के लिए अध्ययन कर सकते हैं कि यह कैसे किया जाता है, अधिकांश वेला गोबजेक्ट और जीएलआईबी के आसपास केवल रैपर हैं। Vala कोड लगभग C जितना तेज़ चलता है, और c / c # / java से आने वाले किसी भी व्यक्ति के लिए आसान होना चाहिए

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