Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

  1. #1
    Chroniqueur Actualités

    Homme Profil pro
    Redacteur
    Inscrit en
    juin 2016
    Messages
    959
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Bénin

    Informations professionnelles :
    Activité : Redacteur
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : juin 2016
    Messages : 959
    Points : 26 342
    Points
    26 342
    Par défaut Entre Java et Kotlin, lequel de ces langages est le meilleur pour le développement d'applications Android ?
    Entre Java et Kotlin, lequel de ces langages est le meilleur pour le développement d'applications Android ?

    Android est un système d'exploitation mobile développé par Google, dont la version 1.0 a été publiée en septembre 2008. Android a connu plusieurs mises à jour depuis sa première version. Au départ, Google ne supportait que le langage Java pour développer les applications destinées à la plateforme Android. Mais cette année, à la conférence Google I/O dédiée aux développeurs, le géant de la recherche en ligne a annoncé que le langage de programmation Kotlin est désormais son langage préféré pour les développeurs d'applications Android.

    En 2017, Google a reconnu Kotlin comme étant le deuxième langage officiel pour le développement d'applications Android. Depuis lors, la communauté de développeurs autour de Kotlin continue de croître. Kotlin, le langage développé par JetBrains, s’annonce comme étant un langage de programmation pragmatique, moderne et intuitif. Il entend résoudre quelques limitations de la plateforme Java, notamment ses restrictions qui peuvent causer des problèmes avec le plan de l'API Android, sa lenteur et sa grande demande en mémoire, etc.

    L'utilisation de Kotlin avec Java réduit l'excès de code standard, ce qui est un énorme gain pour les développeurs Android. Mais l’apparition de Kotlin annonce-t-elle la fin de l’utilisation de Java pour le développement d'applications Android ? Les avis sont partagés sur la question. En effet, Java est un langage de programmation très réputé avec de vastes outils et bibliothèques open source pour aider les développeurs. Cela dit, certains estiment qu’aucun langage n'est sans défaut et même Java est sujet à des complications qui peuvent rendre le travail d'un développeur fastidieux.

    Nom : java-vs-kotlin-730x400.png
Affichages : 3101
Taille : 62,6 Ko

    Tout d’abord, selon eux, l'interopérabilité est l'objectif principal de Kotlin. Dès le début, l'intention du projet a été d'utiliser les connaissances et l'expertise existantes pour mettre chaque bibliothèque à la disposition des programmeurs de Kotlin. Les développeurs peuvent simplement écrire des modules dans Kotlin qui fonctionnent parfaitement dans le code Java existant. En émettant le bytecode, un compilateur Kotlin permet aux deux langages de travailler à l'unisson dans le même projet. Selon Call Tutors, Kotlin apporte un certain progrès à la plateforme Java.

    Pour certains développeurs Android, le langage de programmation Kotlin introduit des solutions aux problèmes de programmation courants, mais en plus il améliore l'écosystème Java dans son ensemble. Selon le site Call Tutors, qui propose une comparaison entre Java et Kotlin en neuf points, Kotlin offre quelques caractéristiques supplémentaires qui font de lui un choix préféré par rapport à Java. Selon le site, les deux langages ont chacun leurs avantages et leurs inconvénients, même si dans la comparaison Kotlin semble avoir l’avantage.

    Selon Call Tutors, en Java, l'on est obligé de vérifier le type de facteurs et les exprimer par activité. Mais avec Kotlin, les smart casts s'occuperont de ces contrôles avec le mot-clé "is-checks", qui vérifiera les qualités permanentes et effectuera des diffusions suggérées. De plus, le système de type de Kotlin est doté d'une sécurité nulle (null safety) intégrée. Selon lui, NullPointerException est en grande partie responsable des erreurs dans le développement Android. Android s'appuie sur null pour représenter l'absence d'une valeur, mais null peut facilement détruire une application.

    Kotlin résout ce problème grâce à une sécurité nulle inhérente. Cela évite aux développeurs d'écrire du code supplémentaire pour contourner le problème. Dans sa comparaison, Call Tutors aborde aussi le fait que la fonction d'exception cochée dans Java peut être problématique. Les exceptions sont vérifiées lorsque le compilateur force l'appelant d'une fonction à attraper ou (relancer) une exception. Call Tutors estime que bien souvent, les exceptions cochées se révèlent inutiles et provoquent des blocs de capture vides.

    Les exceptions cochées inexistantes sont ennuyeuses pour les développeurs parce que les blocs de capture vides les obligent à passer au crible le code pour identifier une exception inexistante. Comme solution, Kotlin les enlève entièrement, ce qui minimise la verbosité et améliore la sécurité de type. Par ailleurs, contrairement à Java, Call Tutors pense que Kotlin donne aux développeurs la capacité d'étendre une classe actuelle avec une nouvelle utilité. L’on peut faire des travaux d'élargissement en préfixant le nom d'une classe pour nommer la nouvelle capacité.

    Pour conclure, Call Tutors estime que Kotlin est ce que l’on peut qualifier d’un langage de programmation supérieur pour le développement d'applications mobiles modernes. En gros, Kotlin établit une nouvelle norme pour ce qu'un langage de programmation devrait être capable d'accomplir. Dans la comparaison Kotlin contre Java, c'est Kotlin qui est impeccable, naturellement léger et moins répétitif en ce qui concerne les classes de données, les getters/setters et les rappels écrits. Il est conçu explicitement pour améliorer les modèles Java actuels. Cependant, Call Tutors précise qu’aucun langage n’est un exemple de perfection.

    Source : Call Tutors

    Et vous ?

    Quel est votre avis sur le sujet ?
    Que pensez-vous des arguments avancés par Call Tutors ?
    Lequel des deux langages préféreriez-vous et pourquoi ?

    Voir aussi

    Android : Kotlin est désormais le langage préféré et recommandé par Google. Vers la fin de Java pour le développement Android ?

    Kotlin gagne trois places et dépasse Scala dans le classement PYPL, l'indice qui analyse la fréquence de recherche des tutoriels sur Google

    RedMonk janvier 2019 : Kotlin fait son apparition dans le top 20 du classement. Objective-C est 10e et propulse Swift à la 11e place

    Google lance Android KTX, un ensemble d'extensions pour le développement Android avec Kotlin disponible en préversion
    Contribuez au club : Corrections, suggestions, critiques, ... : Contactez le service news et Rédigez des actualités

  2. #2
    Membre actif
    Profil pro
    Inscrit en
    juillet 2008
    Messages
    54
    Détails du profil
    Informations personnelles :
    Âge : 52
    Localisation : France

    Informations forums :
    Inscription : juillet 2008
    Messages : 54
    Points : 223
    Points
    223
    Par défaut Mauvais esprit...
    Dart ?

    Ok je sors...

  3. #3
    Membre confirmé Avatar de Stérilux
    Homme Profil pro
    Urbaniste
    Inscrit en
    juin 2018
    Messages
    171
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Calvados (Basse Normandie)

    Informations professionnelles :
    Activité : Urbaniste

    Informations forums :
    Inscription : juin 2018
    Messages : 171
    Points : 452
    Points
    452
    Par défaut
    Perso c'est java, Kotlin c'est android only donc une perte de temps pour moi de me taper ce langage (je ne suis pas un pro) et j'aime pas la syntaxe
    J'aurais préféré pouvoir intégrer du C sans m'emmerder à interfacer/bricoler, ça ça aurait été une bonne évolution question économie de ressource de la machine cible avec une p'tite évolution comme ARC pour l'Objective-C, ça rend un peu feignant mais c'est bien pratique

    A mes yeux Kotlin sert surtout à pondre du soft le plus rapidement possible pour une question de gain d'argent.

  4. #4
    Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    décembre 2009
    Messages
    19
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 31
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : décembre 2009
    Messages : 19
    Points : 40
    Points
    40
    Par défaut
    Kotlin est intéréssant mais il y a quelques détails qui à mes yeux entachent sa compatibilité java dont la gestion des attributs statiques avec les companion objects qui rangent dans MyClass.Companion les attributs statiques… Ça a son élégance, ces objets singleton ont leurs intérets mais utilisé depuis java ça crie en gros "cette classe a été faite en kotlin" ce qui n'est pas le propre d'un intégration propre et réussie.

  5. #5
    Nouveau Candidat au Club

    Profil pro
    Inscrit en
    juin 2003
    Messages
    447
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : Afghanistan

    Informations forums :
    Inscription : juin 2003
    Messages : 447
    Points : 0
    Points
    0
    Billets dans le blog
    1
    Par défaut
    Pareil moi c'est java ou typescript angular avec les progressives web apps, pas envie d'apprendre encore un nieme langage

  6. #6
    Membre confirmé
    Profil pro
    retraité
    Inscrit en
    décembre 2010
    Messages
    276
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : retraité

    Informations forums :
    Inscription : décembre 2010
    Messages : 276
    Points : 566
    Points
    566
    Par défaut
    Citation Envoyé par stef-13013 Voir le message
    Dart ?

    Ok je sors...
    Ben non je choix est peut être judicieux. Si la compilation native de Dart arrive à être proche de C/C++ et si les tailles des exécutables sont faibles on aura un excellent concurrent, au moins pour le mobile.

  7. #7
    Membre actif
    Profil pro
    DSI
    Inscrit en
    février 2010
    Messages
    70
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : DSI

    Informations forums :
    Inscription : février 2010
    Messages : 70
    Points : 200
    Points
    200
    Par défaut
    Pour un développeur principalement Android, le choix évident est Kotlin, ce dernier est privilégié par Google, avec des rumeurs du rachat de son propriétaire "JetBrain".
    Pour un développeur multi disciplinaire, le choix de java est plus pertinent.

  8. #8
    Membre extrêmement actif Avatar de ddoumeche
    Homme Profil pro
    Ingénieur recherche et développement
    Inscrit en
    octobre 2007
    Messages
    1 232
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Singapour

    Informations professionnelles :
    Activité : Ingénieur recherche et développement

    Informations forums :
    Inscription : octobre 2007
    Messages : 1 232
    Points : 2 180
    Points
    2 180
    Par défaut
    Kotlin est le nouveau Scala ... mais cela reste un langage basé sur la JVM donc l’intérêt de la bascule est discutable.

  9. #9
    Membre éprouvé
    Profil pro
    Inscrit en
    juin 2008
    Messages
    576
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : juin 2008
    Messages : 576
    Points : 993
    Points
    993
    Par défaut
    Mon opinion est que ceux qui font de l'Android et indiquent préférer Java sont pour la plupart des gens qui n'ont pas envie d'apprendre un nouveau langage: Mais l'informatique, ça bouge, il faut faire avec!
    Tester Kotlin c'est l'adopter, le gain en temps et en sécurité est indéniable: Je ne vois objectivement aucun avantage en faveur de Java, excepté qu'on s'évite un apprentissage.

    Et pour répondre à ce qui a été dit plus haut: Kotlin n'a rien d'un nouveau Scala: Scala fait exploser le nombre de fonctions créées par le code, et non Kotlin. En outre Kotlin est beaucoup plus intuitif dans son utilisation et plus simple dans son apprentissage.
    Et enfin, Scala a toujours été un langage "en marge" alors que Kotlin est maintenant LE principal langage officiel de développement sous Android.

Discussions similaires

  1. Réponses: 4
    Dernier message: 02/07/2019, 07h43
  2. Réponses: 0
    Dernier message: 28/08/2018, 13h57
  3. C# ou Java? Quel langage est le meilleur ?
    Par HollowSpirit dans le forum Android
    Réponses: 3
    Dernier message: 24/08/2017, 15h31
  4. Réponses: 8
    Dernier message: 20/06/2009, 17h12

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo