2018 में स्टैक ओवरफ्लो सर्वेक्षणों में, 45.3% उत्तरदाताओं ने जावा को सबसे लोकप्रिय प्रोग्रामिंग भाषा कहा, और कोटलिन ने केवल 4.5% डेवलपर्स को पसंद किया। हालांकि, मई 2019 में, Google ने कोटलिन को प्राथमिकता प्रोग्रामिंग भाषा के रूप में घोषित किया । निगम ने C ++ और Java को छोड़ने का आह्वान नहीं किया, लेकिन प्रोग्रामर के बीच के विवाद और भी गर्म हो गए।
नेटोलॉजी ने डेवलपर्स से सीखा कि वे किस प्रोग्रामिंग भाषा का उपयोग करते हैं और वे जावा और कोटलिन के भविष्य को कैसे देखते हैं।"मुख्य धागा जावा में रहेगा, और कोटलिन का उपयोग तेजी से विकास के लिए किया जाएगा"
दिमित्री काचलोव, लीड प्रोग्रामर, केली आईटी सॉल्यूशंसवह किन भाषाओं को जानता है। प्रारंभ में, मैंने वेब विकास भाषाओं का अध्ययन किया, लेकिन कुछ बिंदु पर मैं मोबाइल विकास भी करना चाहता था। मैंने एंड्रॉइड के लिए विकास का अध्ययन करना शुरू कर दिया और जावा भाषा को उस आवश्यक न्यूनतम पर महारत हासिल कर ली, ताकि मैं पहले एप्लिकेशन लिख सकूं, फोन पर चला सकूं, बाजार में प्रकाशित कर सकूं। यह तब वापस आया जब कोटलिन सिर्फ दिखाई दिया और डेवलपर्स के एक विस्तृत सर्कल के लिए ज्ञात नहीं था।
जिसका उपयोग करता है। अब उद्यम अनुप्रयोगों को विकसित करते समय, मैं जावा का उपयोग करता हूं। उसके लिए कई पुस्तकालय उपलब्ध हैं, तैयार मॉड्यूल हैं। इसके अलावा, एंड्रॉइड स्टूडियो इसे इतना समर्थन करता है कि आप सचमुच एक पत्र लिख सकते हैं, और कोड आपके लिए लिखा जाएगा। यह बहुत सुविधाजनक है।
मेरे व्यवहार में, किसी अन्य भाषा के ज्ञान की आवश्यकता जैसी कोई चीज नहीं थी। आमतौर पर जावा पर्याप्त है, क्योंकि इसमें कई पुस्तकालय हैं और सिद्धांत रूप में किसी भी कार्य को करना संभव है। विचार करने लायक एकमात्र चीज खुद एंड्रॉइड प्लेटफॉर्म की सीमाएं हैं। क्योंकि कोई फर्क नहीं पड़ता कि भाषा, सभी प्रतिबंध जल्द या बाद में मंच के प्रतिबंध के खिलाफ आराम करते हैं। मेरी राय में, कार्य को लागू करने के लिए किस भाषा में बहुत अधिक अंतर नहीं है, मुख्य बात यह है कि एक अच्छा समाधान खोजना है जो एक विशिष्ट मंच के भीतर काम करेगा।
क्यों जावा को पसंद करता है। इस पर आप नि: शुल्क सेवाएं, अपने स्वयं के एपीआई तरीके, साइट, सर्वर, मोबाइल एप्लिकेशन लिख सकते हैं। यह अनिवार्य रूप से एक सार्वभौमिक भाषा है जिसमें आप बड़ी संख्या में ऑपरेशन कर सकते हैं और विभिन्न एप्लिकेशन विकसित कर सकते हैं। उसके लिए कई विकास और पुस्तकालय हैं। और यह भी - एक बड़ा समुदाय जो हमेशा सवालों के जवाब देने और मदद के लिए तैयार रहता है।
टकराव और भाषाओं के भविष्य पर। कोटलिन निश्चित रूप से एक दिलचस्प कदम है, लेकिन मेरी राय में, यह कोई नया दृष्टिकोण और प्रतिमान नहीं रखता है। यह केवल छोटे निर्माणों के साथ कोड लिखने में लगने वाले समय को कम करता है। इसी समय, यह अभी भी उसी जावा पर आधारित है।
निकट भविष्य में, जावा अभी भी सबसे लोकप्रिय होगा। मुख्य धागा जावा में रहेगा, और कोटलिन का उपयोग सरल अनुप्रयोगों के तेजी से प्रोटोटाइप या प्रोटोटाइप के संदर्भ में तेजी से विकास के लिए किया जाएगा। हालांकि यह बहुत ही उत्तेजक दृष्टिकोण है। कोटलिन जावा के साथ संगत है, इसलिए आप यह नहीं कह सकते कि कुछ मूलभूत रूप से बदल जाएगा।
“यदि आप एक शुरुआती हैं और एंड्रॉइड के साथ काम करना चाहते हैं, तो कोटलिन सीखें। अन्यथा, मैं जावा चुनूंगा "
Artem Pervushov, लाइसेंस प्राप्त Android ATC विशेषज्ञ, Netology में Android डेवलपर पाठ्यक्रम कार्यक्रम के लेखक हैंक्यों जावा को पसंद करता है। सबसे पहले, आपको यह समझने की आवश्यकता है कि कोटलिन क्या है। कोटलिन सिन्सेटिक शुगर के बारे में अधिक है। क्या मुझे इतनी चीनी की आवश्यकता है? शायद नहीं, मैं पहले से ही जावा कोड पढ़ने और गलतियाँ न करने (लगभग) करने के आदी हूँ। प्रोग्रामिंग में एक नौसिखिया स्पष्ट रूप से अधिक जटिल जावा चुनना चाहिए? शायद नहीं भी।
अभी भी अपने समय के निवेश के लाभों पर विचार करने की आवश्यकता है। जावा न केवल एंड्रॉइड और डेस्कटॉप के बारे में एक कहानी है। उस पर बड़ी संख्या में अन्य परियोजनाएं हैं। और अगर आप एंड्रॉइड से कहीं और जाना चाहते हैं, तो भाषा जानने से काम आएगा।
भाषाओं के भविष्य के बारे में। हो सकता है कि भविष्य में कोटलिन पूरी दुनिया को संभाल ले, या शायद नहीं। "दुनिया पर कब्जा करो" जाओ, अजगर, रूबी, जेएस, <विकल्प आवश्यक> इन तकनीकों के प्रशंसकों द्वारा बताए गए तुलना में बहुत कम आम है। इसलिए, मेरी सलाह यह है - यदि आप एक शुरुआती हैं और अपने भाग्य को एंड्रॉइड के साथ जोड़ने के लिए दृढ़ हैं - कोटलिन सीखें, यह सुविधाजनक और फैशनेबल है। अन्यथा, मैं जावा पर ध्यान केंद्रित करूंगा।
"कोटलिन डेवलपर्स जावा फ्रेमवर्क और लाइब्रेरीज़ का उपयोग कर सकते हैं और अधिक समझने योग्य और सरल कोड लिख सकते हैं।"
शिमोन पायलट्स, एंड्रॉइड डेवलपर, नेटोलॉजी पाठ्यक्रम में विशेषज्ञवह किन भाषाओं को जानता है। प्रोग्रामिंग के साथ मेरा परिचय मेरे संस्थान में हुआ, मैंने पास्कल से शुरू किया, मैंने बेसिक, क्यूबेसिक का भी अध्ययन किया। पहले से ही अपने स्कूल के वर्षों के अंत में मैंने सी का अध्ययन करना शुरू कर दिया था। मैं वहाँ नहीं रुका और अन्य भाषाओं - जावास्क्रिप्ट, वीबी 6.0, एमएस एसक्यूएल, जावा का अध्ययन करना शुरू किया। उन्होंने जल्द ही महसूस किया कि जावा मेरे सबसे करीब था, इसलिए उन्होंने इस पर ध्यान केंद्रित करने का फैसला किया।
कुछ वर्षों के बाद, संयोग से, मैंने एंड्रॉइड के लिए मोबाइल एप्लिकेशन बनाने के लिए जावा का उपयोग करना शुरू कर दिया। कभी-कभी एंड्रॉइड में जावास्क्रिप्ट, एचटीएमएल, एसक्यूएल का उपयोग करना आवश्यक था। अन्य भाषाओं को जानने से हमेशा मदद मिलती है।
जिसका उपयोग करता है। मैं वर्तमान में जावा और कोटलिन दोनों में काम कर रहा हूं। अब तक, हम पूरी तरह से जावा को नहीं छोड़ सकते हैं, लेकिन हम धीरे-धीरे आगे बढ़ रहे हैं।
व्यवहार में, किसी कार्य को करने से पहले, आपको इसका मूल्यांकन करने की आवश्यकता है, एक दृष्टिकोण और इसे पूरा करने का एक तरीका चुनें। यहां यह स्पष्ट हो जाएगा कि किस भाषा का उपयोग करना बेहतर है। इस मामले में, ऐसी कोई स्थिति नहीं होगी जब आप कार्य का सामना नहीं कर सकते। उसी समय, कोटलिन डेवलपर्स जावा फ्रेमवर्क और पुस्तकालयों का उपयोग कर सकते हैं और अधिक समझने योग्य और सरल कोड लिख सकते हैं।
कोटलिन क्यों पसंद करते हैं कोटलिन का उपयोग करना जावा की तुलना में आसान और अधिक सुविधाजनक है। इसमें, प्रोग्राम कोड औसतन 40% कम प्राप्त किया जाता है। और यह आपको कुछ त्रुटियों को रोकने की अनुमति देता है जो प्रोग्राम निष्पादन के दौरान हो सकते हैं। जब कोड सरल और अधिक समझ में आता है, तो त्रुटियों को बनाना और पता लगाना आसान होता है, इसलिए उनकी संख्या तेजी से घट रही है। आप कम समय का विकास और परीक्षण करते हैं।
भाषाओं के भविष्य के बारे में। मुझे लगता है कि निकट भविष्य में कोटलिन लगभग पूरी तरह से जावा की जगह ले पाएगा। पहले से ही, यह एंड्रॉइड मार्केट को 50% तक कवर करता है, और यह उपस्थिति के 3 साल बाद है। लेकिन फिर भी, जावा को जानने की जरूरत है, इसके बिना, कोडिन को कोटलिन को स्थानांतरित करना मुश्किल होगा। यहां मैं ध्यान देता हूं कि कोटलिन जावा के साथ पूरी तरह से संगत है, अर्थात, आवेदन को तुरंत पूरी तरह से फिर से लिखना आवश्यक नहीं है। यह धीरे-धीरे करने के लिए अक्सर अधिक सुविधाजनक होता है।
और एंड्रॉइड एप्लिकेशन का विकास केवल कोटलिन की दिशा नहीं है। यह जावास्क्रिप्ट का समर्थन करता है, प्रोग्रामर इसके लिए दृश्यपटल को स्थानांतरित कर सकते हैं, कोटलिन सर्वर अनुप्रयोगों को विकसित करने के लिए महान है, जिससे आप मौजूदा जावा प्रौद्योगिकी-आधारित ढेर के साथ पूर्ण संगतता बनाए रखते हुए, संक्षिप्त और अभिव्यंजक कोड लिख सकते हैं। रचनाकारों ने ग्रैडल समर्थन भी जोड़ा ताकि डेवलपर्स ग्रैडल फाइलों को इस पर लिख सकें। सक्रिय रूप से कोटलिन नेटिव का विकास है, जिसके साथ आप iOS-एप्लिकेशन बना सकते हैं।
"कोटलिन जावा की तुलना में बेहतर नहीं है, लेकिन Android दुनिया में बेहतर है"
इल्नाज़ गिलाज़ोव, एआईएमएस के सह-संस्थापक, नेटोलॉजी में कोटलिन डेवलपर पाठ्यक्रम के लेखक हैंवह किन भाषाओं को जानता है। प्रारंभ में, मैंने आवश्यकतानुसार कई भाषाएँ सीखीं: असेंबलर, सी / सी ++, फिर जावा, जेएस, पीएचपी, पायथन। चूंकि मैंने काम किया और सूचना सुरक्षा के क्षेत्र में काम किया, इसलिए मैं एक भाषा में नहीं रुक सकता।
जिसका उपयोग करता है। अब मैं ग्राहक के कार्यों और वरीयताओं के आधार पर उपकरण चुनता हूं। बैकएंड के लिए - जावा / कोटलिन, बहुत सी एकीकरण के बिना हल्की चीजों के लिए - Go / NodeJS, फ्रंटएंड के लिए - JS / टाइपस्क्रिप्ट + फ्रेमवर्क, सिस्टम चीजों के लिए - C ++ / Go। यही है, मैं व्यक्तिगत वरीयताओं को ध्यान में नहीं रखता, लेकिन भाषा और इसके पारिस्थितिकी तंत्र के कार्य और क्षमताओं से आगे बढ़ता हूं।
कोटलिन क्यों पसंद करते हैं कोटलिन भाषा के फायदे, चीजों को एक नए रूप में देखते हैं, डेवलपर्स को सरल और सुविधाजनक उपकरण प्रदान करने की इच्छा में जिन्हें बहुत सारे कोड की आवश्यकता नहीं होती है। ये सिंटैक्टिक शुगर और कोरटाइन हैं। कोटलिन आपको कम कोड लिखने की अनुमति देता है - यह प्रसन्न करता है।
एंड्रॉइड पर, जावा के बजाय कोटलिन चुनना स्पष्ट है। बैकएंड की दुनिया में, कोटलिन की स्थिति बहुत कमजोर है, हालांकि वहां भी वह अपना रास्ता बनाता है। स्प्रिंग फ्रेमवर्क (जो कई बैकेंड में मानक है) में कोटलिन के लिए चिप्स शामिल हैं जो जावा के लिए उपलब्ध नहीं हैं। यह पहले से ही बहुत कुछ कहता है। बड़े और जटिल बैकेंड में, हम अभी भी जावा में काम कर रहे हैं, हालांकि हम कुछ जगहों पर कोटलिन का उपयोग करते हैं। माइक्रोसॉस्ट आर्किटेक्चर के मामले में, जहां एक विशिष्ट माइक्रोसर्विस को बड़ी संख्या में एकीकरण की आवश्यकता नहीं होती है, कोटलिन को बहुत अच्छा लगता है।
कोटलिन जावा में सामान्य रूप से बेहतर नहीं है, लेकिन एंड्रॉइड दुनिया में बेहतर है। यद्यपि यह भी तर्क दिया जा सकता है, यह सब उन मापदंडों पर निर्भर करता है जिनके द्वारा हम मूल्यांकन करते हैं।
टकराव और भाषाओं के भविष्य पर। कोटलिन और जावा पर डेवलपर्स के बीच टकराव कभी-कभी उन परियोजनाओं में देखा जाता है जहां कोई आम सहमति नहीं है और दोनों भाषाओं का उपयोग करते हैं। और कट्टरपंथी हैं जो एकमात्र सही भाषा में विश्वास करते हैं। अन्यथा, सब कुछ अधिक या कम चिकना है, हालांकि एकीकरण मुद्दों पर खुरदरापन बना रहता है। यदि आप एंड्रॉइड में एक समर्थक बनना चाहते हैं, तो आपको दोनों भाषाओं को जानना होगा। वैसे भी, इस तथ्य की आदत है कि आपको नई भाषाओं, पुस्तकालयों, रूपरेखाओं, विचारों और दृष्टिकोणों को लगातार सीखना होगा।
अब एंड्रॉइड में जावा का भविष्य अस्पष्ट है। जब हमने अपने सभी एंड्रॉइड प्रोजेक्ट्स को कोटलिन में स्थानांतरित कर दिया, तो एंड्रॉइड में जावा आठवें से कुछ चिप्स के साथ सातवें संस्करण में अटक गया। और यह अभी भी स्पष्ट नहीं है कि क्या Google ओरेकल के साथ अपने विवादों को हल करने और नए संस्करणों के लिए समर्थन शुरू करने का इरादा रखता है, या अपने वर्तमान पदों पर ध्यान केंद्रित करेगा। इसलिए, एंड्रॉइड पर जावा में सीखने, उपयोग करने और समर्थन करने में निवेश करना मध्यम अवधि में कम से कम जोखिम भरा लगता है।
कोटलिन कम या ज्यादा भविष्यवाणी कर रहा है और रैपर प्रदान करता है जो आपको भाषा की सभी आधुनिक विशेषताओं का उपयोग करने की अनुमति देता है, विशेष रूप से एंड्रॉइड के लिए विकास के लिए कई सुविधाएं और क्षमताएं जोड़ता है। यह एक महत्वपूर्ण कारक है जो डेवलपर संतुष्टि को प्रभावित करता है।
निकट भविष्य में, मुझे नहीं लगता कि कोटलिन जावा की जगह लेगा। बल्कि, यह जावा के साथ सह-अस्तित्व में लाने में सक्षम होगा, क्योंकि यह मूल रूप से इसके लिए उन्मुख था। आशा है कि मौजूदा लोकप्रिय जावा पुस्तकालयों में से अधिकांश कोटलिन में फिर से नहीं लिखा जाएगा। लेकिन आप कोटलिन में लिख सकते हैं (कोटलिन की बारीकियों को समझा <-> जावा एकीकरण, उदाहरण के लिए, प्रतिबिंब और सभी नुकसान) और जावा में लिखे पुस्तकालयों का उपयोग करें।
“अब कोई भी केवल जावा या केवल कोटलिन के ज्ञान के साथ एक डेवलपर की तलाश में है। आपको एक सार्वभौमिक विशेषज्ञ होने की आवश्यकता है ”
दिमित्री गॉर्डिन, रोडर में एंड्रॉइड डेवलपरटकराव के बारे में। डिमागोगुरी नस्ल नहीं करने के लिए और व्यक्तिगत भावनाओं पर आधारित नहीं होने के लिए, आइए प्रमुख बाजार के खिलाड़ियों को देखें। सबसे पहले, Google कोटलिन को एंड्रॉइड के लिए मुख्य विकास भाषा के रूप में मान्यता देता है। दूसरी बात यह है कि शीर्ष कंपनियों से HH.ru पर रिक्तियां इस तरह दिखती हैं:
- टिंकऑफ - "एक महत्वपूर्ण प्लस: कोटलिन पर अनुप्रयोगों के विकास में अनुभव";
- यैंडेक्स - "वेलकम: कोटलिन पर विकास का अनुभव";
- Redmadrobot - "वांछनीय: कोटलिन विकास का अनुभव";
- यहां तक कि "रूसी पोस्ट" - "हम आपसे निम्नलिखित ज्ञान और दक्षताओं की अपेक्षा करते हैं: एंड्रॉइड एसडीके प्रौद्योगिकी स्टैक, कोटलिन / जावा का ज्ञान"।
भाषा की पसंद के बारे में। आपको दोनों भाषाओं को जानने की जरूरत है। कोटलिन और जावा को नहीं जानना असंभव है। बोरिंग लीग में गलती और नोटिस हो सकता है कि कोई कोटलिन नेटिव है जो जावा से संबंधित नहीं है। लेकिन हम एंड्रॉइड डेवलपमेंट के बारे में बात कर रहे हैं, जिसका मतलब है दलविक / एआरटी रनटाइम। इसलिए, सभी नियोक्ता जो लिखते हैं कि वे कोटलिन पर एक डेवलपर की तलाश कर रहे हैं, वास्तव में दोनों भाषाओं की तलाश कर रहे हैं।
मेरी राय में, सबसे अच्छा तरीका जावा के साथ सहज होना है, और फिर आसानी से कोटलिन पर स्विच करना शुरू करें। कोटलिन जावा के बारे में आपको जो कुछ भी पता था उसे उल्टा नहीं करता है। आप न्यूनतम परिवर्तनों के साथ एक नई भाषा में स्विच कर सकते हैं और "जावा-शैली" में लिख सकते हैं, धीरे-धीरे अपने कोड को कोटलाइन कर सकते हैं, इसमें चीनी और कोटलिन-विशिष्ट चिप्स जोड़ सकते हैं।
संपादकों से
हमने प्रोग्रामिंग भाषाओं और खुद डेवलपर्स की राय के साथ वर्तमान स्थिति को ध्यान में रखा - हम जावा और कोटलिन को "
स्क्रैच के लिए एंड्रॉइड डेवलपर " पाठ्यक्रम पर सिखाते हैं। इसके लिए धन्यवाद, छात्र भविष्य में रहने के लिए कौन सी भाषा चुन सकते हैं, या दोनों का उपयोग कर सकते हैं।