google_logo
29 janvier 2016

Pourquoi Google a choisi Java pour Android ?

Par Jean-Marc Amon

Google a frappé fort avec les utilisateurs de smartphones quand il a fait sortir le premier système d’exploitation Android. A cette époque, lorsque Nokia et son système d’exploitation Symbian régnaient en maître sur le marché des smartphones, est sorti en 2007 la première version d’Android. Aujourd’hui Android gouverne le monde avec plus de 85% de smartphones dans le monde fonctionnant sous différentes versions de ce système d’exploitation.

google_logo

Le code source d’Android est rendu libre par Google sous des licences open source, bien que la plupart des appareils Android soit expédier finalement avec une combinaison d’Open Source et de logiciels propriétaires, y compris les logiciels propriétaires nécessaires pour accéder aux services Google.

Android

Android est basé sur le noyau Linux et conçu principalement pour les appareils mobiles à écran tactile tels que les smartphones et les tablettes. L’interface utilisateur d’Android est principalement basée sur la manipulation directe, en utilisant des gestes tactiles qui correspondent plus ou moins à des actions dans le monde réel, comme pour balayer, étirer et pincer, pour manipuler des objets à l’écran, avec un clavier virtuel pour la saisie de texte.

Les applications et jeux Android, qui sont si populaires parmi les utilisateurs de smartphones sont compilées par les développeurs utilisant le kit de développement Android (SDK). Ce SDK Android est compilé en utilisant le langage de programmation Java. Alors, pourquoi Java?

Les raisons du choix de Java

Java est un langage connu des développeurs. Java est reconnu comme langage de programmation le plus populaire au monde. Il fonctionne dans une machine virtuelle, donc pas besoin de recompiler pour chaque téléphone et Java est facile à sécuriser. Ceci est une caractéristique très importante. Fonctionnant sur une VM (donc pas de recompilation) est un énorme plus.
Comme dit dans le point ci-dessus, puisque Java est le langage de programmation le plus populaire, un grand nombre d’outils de développement sont disponibles pour les développeurs. Java a un énorme soutien open source, avec de nombreuses bibliothèques et outils pour rendre la vie plus facile aux développeurs.Java logo
Plusieurs téléphones mobiles utilisent déjà  Java ME (Mobile Edition). La différence de vitesse n’est pas un problème pour la plupart des applications; si elle était, vous devriez coder dans un langage bas niveau comme C/C++.
Android, comme système d’exploitation fonctionne sur de nombreuses plates-formes matérielles différentes, y compris les téléviseurs intelligents, les montres connectées, les automobiles, etc.
En plus des points ci-dessus, au moment de l’élaboration de la première version d’Android, les langages disponibles comme Go et Rust n’étaient pas des langages de programmation populaire.

 

Go a été utilisé dans les versions antérieures d’Android et a connu des limites. Rust était encore trop jeune donc l’utiliser pour un OS était trop risqué.

Même les plus irréductibles des programmeurs et des codeurs seront d’accord que C et C++ sont notoirement difficiles à manipuler et même les ingénieurs de très haut niveau font des erreurs dangereuses très souvent. Ceci est la raison pour laquelle Microsoft a choisi de développer l’architecture .NET. Il n’était pas question non plus de créer  un nouveau langage pour Android, cela n’était pas dans les projets de Google.Java logo

A l’époque, les langages JVM/CLR (Famille C# et .Net) étaient propriétaires, sous la propriété respective de Sun et de Microsoft. Mais depuis le rachat de Sun par Oracle, un nouvel accord a été trouvé pour résoudre les problèmes de droits sur Java (Meme si ca coince toujours)

Java est un écosystème absolument gigantesque avec des outils et des bibliothèques matures, riches et très varies, ce qui atténue les faiblesses du langage en lui meme. Où Apple avait l’avantage du terrain en utilisant Objective C dans iOS (avec Obj-C comme langage principale pour le développement d’OS X), le choix  de Java permettait de ne pas partir de zéro.

 

Comme on le voit ci-dessus, Java était tout simplement le meilleur choix disponible à l’époque. Google n’a jamais commenté officiellement sur pourquoi il utilise Java pour Android SDK, mais les raisons ci-dessus sont assez pour Google et l’équipe Android pour garder Java.