जावा को Android के लिए क्यों चुना गया?


46

C ++ की तरह जावा को Android के लिए क्यों चुना गया? मैंने सुना है कि जावा काफी मेमोरी का उपयोग करता है और मैं यह मानूंगा कि कम मेमोरी का उपयोग मोबाइल उपकरणों पर काफी महत्वपूर्ण होगा। क्या मोबाइल डिवाइस पर C ++ जैसी भाषा के बजाय जावा का उपयोग करने का कोई वास्तविक लाभ है?


29
मामूली बिंदु, Google द्वारा Android शुरू नहीं किया गया था। Google ने अपने जावा के उपयोग सहित Android खरीदा।
वर्ल्ड इंजीनियर

2
@ZJR: Google में उपयोग की जाने वाली मुख्य भाषाएं हमेशा जावा, पायथन और C ++ रही हैं। एंड्रॉइड से पहले भी जावा हमेशा था।
अंकलजीव

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

8
@JarrodRoberson मुझे लगता है कि यह लंबे समय के रूप में रचनात्मक है, क्योंकि यह एक flamewar में अवक्रमित नहीं है, लेकिन समुदाय बोलती है ...
maple_shaft

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

जवाबों:


40

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

स्टैक ओवरफ्लो पर यह उत्तर इसे बहुत अच्छी तरह से कवर करता है।

SO उत्तर का सारांश:

जावा एक ज्ञात भाषा है, डेवलपर्स इसे जानते हैं और इसे सीखना नहीं है

अपने आप को जावा के साथ सी, सी ++ कोड की तुलना में अपने आप को शूट करना मुश्किल है क्योंकि इसमें कोई सूचक अंकगणित नहीं है

यह एक vm में चलता है, इसलिए इसे हर फोन के लिए फिर से कनेक्ट करने की आवश्यकता नहीं है और इसे सुरक्षित करना आसान है

जावा के लिए बड़ी संख्या में विकास उपकरण (पहले देखें)

कई मोबाइल फोन पहले से ही जावा का उपयोग करते हैं, इसलिए जावा उद्योग में जाना जाता था

गति का अंतर अधिकांश अनुप्रयोगों के लिए एक मुद्दा नहीं है, अगर यह आपको विधानसभा में कोड होना चाहिए


1
आह, तुमने मुझे इसके लिए हरा दिया, इसलिए मैं सिर्फ तुम्हारी सूची में जोड़ दूंगा। मुझे यह अन्य SO प्रश्न मिला जो एक और कारण जोड़ता है कि जावा को क्यों चुना गया (यह एक प्रबंधित भाषा है)। - stackoverflow.com/questions/5605575/…
Shauna

1
धन्यवाद, यह मेरे सवाल का जवाब दिया। हर अलग एंड्रॉइड रनिंग डिवाइस के लिए रीकॉम्पेल करने के लिए नहीं, वास्तव में जावा को चुनने के लिए एक विशाल समर्थक जैसा लगता है। मुझे नहीं पता कि मैंने ऐसा क्यों नहीं सोचा। धन्यवाद!
cgt

2
यह देखते हुए कि कितने Android डिवाइस बाजार में फैल गए हैं, अन्यथा इससे निपटना लगभग असंभव होगा।
वर्ल्ड इंजीनियर

3
यह सही है, लेकिन वे किसी भी भाषा को चुन सकते थे। वे एक नया भी लिख सकते थे; उन्होंने वीएम का निर्माण किया। जावा में स्पष्ट रूप से परिभाषित वीएम युक्ति का लाभ है।
माइकल के

18

मुझे लगता है कि Google किसी परिचित के लिए जावा का चयन करता है, यदि कोई बात नहीं है, तो मुझे खतरा होगा। Google की कई परियोजनाएं कम से कम जावा स्कीमैटिक्स (उदाहरण के लिए GWT) की अवधारणाओं को घूमती हैं।

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

यह भी याद रखें कि एंड्रॉइड पार्टी में थोड़ी देर से आया था। डेवलपर्स को C ++ का उपयोग करने के लिए मजबूर करना, एक निम्न-स्तरीय संकलन भाषा, 'वाह' कारक उत्पन्न करने के लिए इसे कठिन बना देगा, और यदि कुछ और नहीं, तो एंड्रॉइड को संख्याओं (ऐप्स की) और चमक को जमीन से उतरने की आवश्यकता है।


3
मुझे ऐप डेवलपमेंट के बारे में आपका विचार पसंद है। मैंने पहले कभी ऐसा नहीं सोचा था, लेकिन यह समझ में आता है। +1
रसेल

6
मुझे लगता है कि इस मामले में जावा पर C ++ का फैलाव, चमक और वाह कारक के साथ कम है, और डेवलपर्स के लिए अधिक तेज़ी से और आसानी से बाज़ार के लिए एप्लिकेशन लिखने की क्षमता के साथ करना है। जिस समय विनिर्देश लिखा गया था, उस समय सामान्य ज्ञान यह था कि ऐप्पल डेवलपर्स के लिए ऐप के विकास को आकर्षक बनाने में कितना सफल था। अधिकांश डेवलपर्स को निगलने में C ++ थोड़ा मुश्किल होता, इसलिए जावा का न्यूनतम प्रदर्शन नुकसान इसके लायक था।
maple_shaft

8
@मैपले_शफ़्ट: वास्तव में ?? मुझे हमेशा यह लगता था कि iPhone की सफलता इसके बावजूद है कि यह कितना आकर्षक था, इसके कारण UNattractive ऐप का विकास नहीं हुआ था!
कार्सन 63000

3
@maple_shaft: यहां कार्सन से सहमत होंगे। आईओएस विकास एक बुरा सपना है। एप्पल इकोसिस्टम के बाहर कोई भी कारण वस्तुनिष्ठ-सी का उपयोग नहीं कर रहा है, और इससे पहले कि आप एप्पल के नीच बुरे शब्दों पर भी स्पर्श करें जब वह वास्तव में आपके द्वारा बनाए गए ऐप को तैनात करने की कोशिश कर रहा हो ...
मेसन व्हीलर

@ जेफ्री, आप ऐसा क्यों कहते हैं कि Android जावास्क्रिप्ट का समर्थन करता है?
पचेरियर

9

निश्चित नहीं है कि वास्तव में जावा को क्यों चुना गया था लेकिन यह कई कारणों से था

  1. जावा से परिचित और उपयोग करने वाले डेवलपर्स के बड़े समूह को पकड़ने के लिए

  2. जावा में मोबाइल गैप भरें जहां J2ME जैसी तकनीकें हैं जहां जावा की कमी है।

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

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