Mengapa Java dipilih untuk Android, bukan sesuatu seperti C ++? Saya telah mendengar bahwa Java menggunakan cukup banyak memori dan saya akan menganggap bahwa penggunaan memori yang rendah akan sangat penting pada perangkat seluler. Apakah ada keuntungan nyata menggunakan Java daripada bahasa seperti C ++ di perangkat seluler?
46
Jawaban:
Artikel ini menjelaskan situasi. Tautan yang paling relevan dalam artikel itu adalah ini . Jadi Anda punya basis instalasi besar dengan banyak programmer yang tahu bahasa dan itu banyak diajarkan di universitas. C ++ diturunkan dari kurikulum sekolah saya, Java masih ada di sini. Java memiliki Java ME yang memiliki basis instalasi besar-besaran di ponsel lain. Kemudahan Pantec yang saya miliki di saku saya sekarang memiliki secangkir kopi kecil di sudut layar. Adakah yang mau menebak apa itu?
Ini jawaban pada Stack Overflow mencakup itu cukup baik juga.
Ringkasan jawaban SO:
sumber
Saya akan menebak bahwa Google memilih Java untuk keakraban, jika tidak ada yang lain. Banyak proyek Google berputar setidaknya konsep skema Java (GWT misalnya).
Selain itu, ini adalah bahasa yang diajarkan secara luas di sekolah teknis (tidak seperti katakanlah, Javascript (yang Android juga mendukung dengan bersemangat)). Java jelas bukan bahasa terbaik untuk perangkat seluler dalam hal kinerja dan produksi, tetapi sudah terkenal.
Juga ingat bahwa Android datang sedikit terlambat ke pesta. Memaksa pengembang untuk menggunakan C ++, bahasa kompilasi tingkat rendah, akan membuatnya lebih sulit untuk menghasilkan faktor 'wow', dan jika tidak ada yang lain, Android membutuhkan jumlah (aplikasi) dan flashiness untuk keluar dari tanah.
sumber
Tidak yakin mengapa Jawa dipilih, tetapi mungkin karena beberapa alasan
Untuk menangkap kelompok besar pengembang yang terbiasa dan menggunakan Java
Isi kesenjangan ponsel di Jawa di mana teknologi seperti J2ME di mana Java kurang.
Kedua, tidak ada Java Virtual Machine yang ditentukan untuk Android. Sebagai gantinya semua kode Java dikompilasi untuk berjalan di Dalvik , yang merupakan VM ringan dan dioptimalkan yang dirancang khusus untuk berjalan di lingkungan seluler. Ini konon meningkatkan masa pakai baterai dan memaksimalkan penggunaan sumber daya secara efisien.
sumber