web-dev-qa-db-fra.com

Pourquoi a Java choisi pour Android?

Pourquoi a été Java choisi pour Android, au lieu de quelque chose comme C++? J'ai entendu dire que Java utilise beaucoup de mémoire et je suppose que cette faible utilisation de la mémoire serait très important sur les appareils mobiles. Y a-t-il un réel avantage à utiliser Java au lieu d'un langage comme C++ sur un appareil mobile?

46
cgt

Cette article éclaire la situation. Le lien le plus pertinent dans cet article est this . Vous avez donc une base d'installation massive avec de nombreux programmeurs qui connaissent la langue et elle est largement enseignée dans les universités. C++ a été supprimé du programme de mon école, Java est toujours là. Java has Java ME qui a une base d'installation massive) sur d'autres téléphones portables. Le Pantec Ease que j'ai dans ma poche en ce moment a une petite tasse de café dans le coin de l'écran. Quelqu'un veut-il deviner ce que c'est?

Cette réponse sur Stack Overflow le couvre assez bien aussi.

Résumé de SO réponse:

Java est un langage connu, les développeurs le connaissent et n'ont pas à l'apprendre

il est plus difficile de se tirer dessus avec Java qu'avec le code c, c ++ car il n'a pas d'arithmétique de pointeur

il fonctionne dans un vm, donc pas besoin de le recompiler pour chaque téléphone et facile à sécuriser

grand nombre d'outils de développement pour Java (voir en premier)

plusieurs téléphones portables déjà utilisés Java moi, donc Java était connu dans l'industrie)

la différence de vitesse n'est pas un problème pour la plupart des applications, si c'était le cas, vous devriez coder dans Assembly

40
World Engineer

Je vais hasarder une supposition que Google choisit Java pour la familiarité, si rien d'autre. Beaucoup de projets de Google tournent au moins des concepts de Java schémas (GWT par exemple) ).

De plus, c'est une langue largement enseignée dans les écoles techniques (contrairement à Javascript, qui (Android prend également en charge avec zèle)) .Java n'est certainement pas la meilleure langue pour un appareil mobile en termes de performances et de production , mais c'est bien connu.

Rappelez-vous également que Android est arrivé un peu tard pour la fête. Forcer les développeurs à utiliser C++, un langage de compilation de bas niveau, rendrait plus difficile la génération d'un facteur "wow", et si rien sinon, Android nombres nécessaires (d'applications) et flashiness pour décoller.

19
Jeffrey Sweeney

Je ne sais pas exactement pourquoi Java a été choisi, mais c'était probablement pour un certain nombre de raisons

  1. Pour capturer le grand groupe de développeurs qui connaissent et utilisent Java

  2. Remplissez le vide mobile dans Java où des technologies comme J2ME où Java font défaut).

Deuxièmement, il n'y a pas Java Virtual Machine spécifié pour Android. Au lieu de cela, tout Java code est compilé pour fonctionner sur Dalvik , qui est un léger VM spécialement conçu pour fonctionner dans des environnements mobiles. Il améliore la durée de vie de la batterie et maximise l'utilisation efficace des ressources.

9
maple_shaft