IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
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

Android Discussion :

langage pour développement Android


Sujet :

Android

  1. #1
    Débutant  
    Inscrit en
    Mars 2008
    Messages
    1 123
    Détails du profil
    Informations forums :
    Inscription : Mars 2008
    Messages : 1 123
    Points : 170
    Points
    170
    Par défaut langage pour développement Android
    Bonjour à tous
    Je veux commencer le développement Android
    quel est le meilleur langage est ce KOTLIN ou JAVA ???

  2. #2
    Modérateur
    Avatar de grunk
    Homme Profil pro
    Lead dév - Architecte
    Inscrit en
    Août 2003
    Messages
    6 691
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Côte d'Or (Bourgogne)

    Informations professionnelles :
    Activité : Lead dév - Architecte
    Secteur : Industrie

    Informations forums :
    Inscription : Août 2003
    Messages : 6 691
    Points : 20 227
    Points
    20 227
    Par défaut
    Y'a pas de meilleur.
    Kotlin ce veux plus moderne mais également plus jeune. En dehors d'android qui en fait la promotion il reste relativement confidentiel (contrairement a ce que Jetbrains essaie de faire croire )
    Java est moins à la mode mais tu t'ouvres potentiellement plus de possibilité.

    Les 2 étant de toutes manière inter opérable , tu peux commencer en java et migrer en Kotlin petit à petit si ca te plait plus.
    Pry Framework php5 | N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  3. #3
    Futur Membre du Club
    Femme Profil pro
    En formation CPFPTP
    Inscrit en
    Février 2019
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 35
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : En formation CPFPTP

    Informations forums :
    Inscription : Février 2019
    Messages : 3
    Points : 6
    Points
    6
    Par défaut
    Si j'ai bien compris quand j'ai regardé, en gros, en général c'est JAVA mais depuis quelques temps google fait le forcing pour promouvoir Kotlin parce qu'ils veulent se detacher de Oracle. Donc Kotlin serait le turfu recommandé par Google pour tous les nouveaux projets, et Java c'est pour maintenir des trucs existants. Si j'ai bien compris.

    Mais perso j'fais en Java quand même x')

  4. #4
    Membre éprouvé
    Profil pro
    Inscrit en
    Juin 2008
    Messages
    612
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Juin 2008
    Messages : 612
    Points : 1 050
    Points
    1 050
    Par défaut
    Je ne suis personnellement pas d'accord.
    Kotlin n'est pas utilisé que pour Android, il est à 50% utilisé pour les serveurs, permet de produire du javascript et même du code natif. Il permet ou va très prochainement permettre (je n'ai pas suivi) de compiler aussi pour IOS.

    Kotlin c'est un vrai plus, avec une diminution sérieuse des bugs potentiels, une syntaxe bien plus agréable, un code plus concis, des fonctionnalités dont on ne peut plus se passer. L'essayer c'est l'adopter, c'est comme passer de C++ à C# sous Windows. Et moi, j'appelle ça "un meilleur langage", du moins de mon point de vue personnel

    La jeunesse du langage n'est en aucun cas un problème: Il est parfaitement opérationnel depuis pas mal de temps et bien plus abouti que Java.

    Concernant les problèmes avec Oracle, on parle Java niveau machine virtuelle, pas niveau langage, ça n'a donc rien à voir au final, Android fait toujours tourner la plateforme Java, même avec du code Kotlin, puisque ce dernier génère par défaut du bytecode Java.
    Dit autrement: Kotlin dans Android Studio produit du Java, et Kotlin peut s'utiliser ailleurs où on a besoin de Java ou de Javascript.
    Et comme c'est soutenu officiellement par Google, ça ne risque guère de devenir obsolète.

    Si c'est pour démarrer sur Android, je déconseille de perdre son temps avec Java "provisoirement", tu vas devoir faire un double apprentissage complètement inutile, choisis plutôt un langage et conserve-le. Et moi je te conseille Kotlin, je ne vois aucun avantage à Java pour travailler sous Android, sauf pour ceux qui y sont habitués et n'ont pas envie de changer. J'étais sous Java, j'ai migré, je suis ravi.

    A+
    Claude

  5. #5
    Modérateur
    Avatar de grunk
    Homme Profil pro
    Lead dév - Architecte
    Inscrit en
    Août 2003
    Messages
    6 691
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Côte d'Or (Bourgogne)

    Informations professionnelles :
    Activité : Lead dév - Architecte
    Secteur : Industrie

    Informations forums :
    Inscription : Août 2003
    Messages : 6 691
    Points : 20 227
    Points
    20 227
    Par défaut
    Citation Envoyé par ClaudeBg Voir le message
    il est à 50% utilisé pour les serveurs
    Des sources indépendantes autre que le pole marketing de Jetbrains ?

    Citation Envoyé par ClaudeBg Voir le message
    une syntaxe bien plus agréable, [...] des fonctionnalités dont on ne peut plus se passer.
    C'est complètement subjectif. Pour le coup la syntax de kotlin ne me plait pas particulièrement.

    Citation Envoyé par ClaudeBg Voir le message
    La jeunesse du langage n'est en aucun cas un problème: Il est parfaitement opérationnel depuis pas mal de temps et bien plus abouti que Java.
    Biensur que c'est un problème , quand tu travail sur des projets pro qui dure plusieurs moisavant de release et que tu as le droit à plusieurs versions majeures du langage pendant ce laps de temps c'est ennuyeux. Soit tu reste sur une version ancienne et ton projet est obsolète avant même de sortir , soit tu prend le temps de passer aux nouvelles versions avec tous les problèmes que celà peut poser sur un langage jeune.
    Perso j'envisagerais Kotlin quand la hype se sera calmer un peu et que le langage se sera stabiliser (en terme de nouveauté).

    Citation Envoyé par ClaudeBg Voir le message
    Et comme c'est soutenu officiellement par Google, ça ne risque guère de devenir obsolète.
    C'est vrai que Google à pas la réputation de tuer tout ce qui ne lui convient plus sans consulter qui que ce soit : https://killedbygoogle.com/

    Après je ne remet pas en cause le fait que Kotlin est surement un très bon langage (même si il ne me convient pas particulièrement) , je dis juste que vu les acteurs et vu le tapage marketing , je reste extrêmement prudent pour une utilisation pro.
    En fait ca me fait furieusement penser à tout ce qu'on vois en JS , le truc indispensable trop cool qui finalement retombe dans l'annonymat quelques mois/années plus tard.
    Et puis les JAVA Killers on en à vu passer un paquet (groovy, scala) ... une fois l'effet de mode passé il sont tous relativement peu usité comparé à java. C# devait tuer C++, aujourd'hui le C++ moderne n'a pas grand chose à envier au C# en terme de fonctionnalité.

    Bref le seul vrai problème de java c'est Oracle
    Pry Framework php5 | N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  6. #6
    Membre éprouvé
    Profil pro
    Inscrit en
    Juin 2008
    Messages
    612
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Juin 2008
    Messages : 612
    Points : 1 050
    Points
    1 050
    Par défaut
    Citation Envoyé par grunk Voir le message
    Des sources indépendantes autre que le pole marketing de Jetbrains ?
    On peut douter, mais alors, en ce qui te concerne, des sources indépendantes certifiées contradictoires? Parce que je vois mal l'intérêt de JetBrain de dire que leurs retours d'utilisateurs indiquent qu'ils sont répartis entre serveurs et Android.

    Citation Envoyé par grunk Voir le message
    C'est complètement subjectif. Pour le coup la syntax de kotlin ne me plait pas particulièrement.
    Des exemples précis? Parce que ce langage est plus clair et plus concis. En outre c'est un langage qui permet d'éviter beaucoup d'erreurs non détectées par un compilateur java: Rien que tout ce qui est nullable constitue un immense réservoir de bugs dans Java. Et je passe sur les collections non mutables par défaut, les variables immutables, les initialisations tardives, et j'en passe. Déjà sous Android éviter toutes ces variables qui ne sont initialisées sur le onCreate à coup de findByView() est déjà un vrai plaisir.

    Citation Envoyé par grunk Voir le message
    Biensur que c'est un problème , quand tu travail sur des projets pro qui dure plusieurs moisavant de release et que tu as le droit à plusieurs versions majeures du langage pendant ce laps de temps c'est ennuyeux.
    Soit tu reste sur une version ancienne et ton projet est obsolète avant même de sortir , soit tu prend le temps de passer aux nouvelles versions avec tous les problèmes que celà peut poser sur un langage jeune.
    C'est totalement inexact: Il n'existe aucune fonctionnalité Kotlin introduite qui rende un code ancien obsolète, même en mettant le compilateur à jour. J'utilise Kotlin depuis la version 1.0 et jamais rencontré ce cas. Par contre sous Android on est effectivement sans arrêt "emmer.. dé" par des modifications incessantes non rétro-compatibles: Android est une vraie plaie à ce niveau: Je suis sur un code qui tournait sur une centrale 5.0, passé en 7.0 il a fallut réécrire toute une partie, en 9.0 il a fallu revoir les méthodes de démarrage automatique de l'activité et du service, en 10 encore une fois il faut revoir le lancement d'activité.
    Bref, sous Android on n'arrête pas de devoir recommencer ses applis, mais JAMAIS ce n'est dû à Kotlin.
    Par exemple je suis en train de me casser la tête sur un device Android7 parce qu'une carte USB reconnue lors de l'insertion et qui obtient les permissions, se les voit refusées si la carte a été connectée avant le démarrage du device: Si je ne résous pas, l'appli doit passer à la poubelle.

    Citation Envoyé par grunk Voir le message
    Perso j'envisagerais Kotlin quand la hype se sera calmer un peu et que le langage se sera stabiliser (en terme de nouveauté).
    Personne n'oblige quiconque à utiliser les dernières nouveautés, mais ce sont souvent de vrais plus: En ce qui me concerne, plus question de me passer de l'utilisation des coroutines, surtout associées à Room ou autres opérations asynchrones.

    Citation Envoyé par grunk Voir le message
    C'est vrai que Google à pas la réputation de tuer tout ce qui ne lui convient plus sans consulter qui que ce soit
    Oui, sauf que leur IDE, Android Studio est intégralement basé sur IntelliJ, qui est développé par JetBrains, qui est également la société qui développe Kotlin. Tout est étroitement lié.
    Et sauf que tu mélanges "applications construites et abandonnées par Google" avec "langage développé par une tierce partie".

    Citation Envoyé par grunk Voir le message
    même si il ne me convient pas particulièrement
    Ben, des goûts et des couleurs.... mais reste à voir s'il ne te "convient pas" parce que tu es habitué à Java et que tu n'as pas envie de changer pour ne pas changer tes habitudes, ou si tu aurais choisi Java au départ si le choix Java/Kotlin t'avait été présenté depuis le début. Parce que le contexte de la conversation, c'est quand même un type qui démarre la programmation Android. Je dis, moi, que tout ce qu'on peut faire en Java on peut le faire au moins aussi facilement et très souvent beaucoup plus facilement en Kotlin, mais guère l'inverse.

    Citation Envoyé par grunk Voir le message
    Je reste extrêmement prudent pour une utilisation pro.
    Les "pro" ont un intérêt certain à Kotlin: déjà parce que ça réduit énormément le nombre de bugs potentiels du code produit. Ensuite le risque est absolument nul puisque c'est intégralement compatible avec Java et qu'on peut même mélanger du code Java avec du code Kotlin.

    Citation Envoyé par grunk Voir le message
    Et puis les JAVA Killers on en à vu passer un paquet (groovy, scala)
    Ça n'a strictement rien à voir: Ces langages produisent une expansion conséquente du code produit (nouvelles fonctionnalités entraînant plus de méthodes), ils ne sont pas intégralement compatibles Java, et ils n'ont jamais été déclarés langages officiels. Kotlin permet une syntaxe puissante et agréable mais ne provoque aucune augmentation du byte-code produit mesurable.

    Citation Envoyé par grunk Voir le message
    une fois l'effet de mode passé
    Parler d'effet de mode pour un langage officiel d'une plateforme, je trouve ça peu objectif.

    Citation Envoyé par grunk Voir le message
    C# devait tuer C++, aujourd'hui le C++ moderne n'a pas grand chose à envier au C# en terme de fonctionnalité.
    C# est un langage pensé objet: C++ est un bricolage ajouté (++) sur un langage non objet (C) pour le transformer en langage objet: C'est clair que ça s'est amélioré, mais C# est quand même vachement plus agréable que C++
    Et je ne pense pas que C# soit voué à disparaître... pas plus que Kotlin.

    Et enfin, le code est obsolète en 6 mois sous Android, ce n'est pas un problème de langage, c'est un problème de foutage de g..le de Google envers les développeurs qui ne sont pas des équipes de 50 personnes dont la moitié passent leur temps à revoir leur propre code en fonction des évolutions d'Android. En ce qui me concerne, Android ressemble à un gras bricolage indigne d'un OS finalisé professionnel: J'ai des applis développées sous Windows en 1995 en VB et elles tournent toujours sous Win10: Sous Android je n'ai même pas le temps de terminer une appli avant que je ne doive la mettre à jour: 20 versions non rétro-compatibles en 9 ans, c'est hallucinant face à un windows dont tout le monde se plaint et qui en est à 2 versions pratiquement rétro-compatibles dans le même intervalle.

    Citation Envoyé par grunk Voir le message
    Bref le seul vrai problème de java c'est Oracle
    Je ne vois pas où Oracle pose un problème au langage Java: Il pose un problème pour la plateforme virtuelle Java, oui, pour le code récupéré pour les librairies Android, oui, mais concernant le langage, je vois mal

    Maintenant, tu as un avis tranché sur Kotlin, ma question est: l'as-tu réellement utilisé sérieusement pour développer au moins une application? En ce qui me concerne j'ai développé en Java et maintenant en Kotlin, j'ai réellement sérieusement étudié les deux. En te lisant j'ai un peu l'impression (mais je peux me tromper, évidemment) que tu juges "dans la généralité" plutôt que dans l'expérience personnelle.

    Ceci étant, moi je ne cherchais pas à convaincre un utilisateur de Java de passer sous Kotlin, chacun fait comme il l'entend... et heureusement. Ce que je voulais, c'est pondérer sérieusement des avis pro-java en réponse à quelqu'un qui pose la question de "quel langage pour démarrer Android?". Parce que mon opinion personnelle, qui vaut ce qu'elle vaut, est: Prends Kotlin, c'est beaucoup plus agréable, rapide, simple et concis, et réduit les bugs, surtout si tu n'as pas d'expérience Java à "récupérer". Quitte à apprendre, autant apprendre le plus avancé.

Discussions similaires

  1. Réponses: 0
    Dernier message: 26/11/2007, 14h53
  2. Quel langage pour développer des scripts
    Par SergeBl dans le forum Windows
    Réponses: 3
    Dernier message: 26/02/2007, 12h56
  3. Réponses: 1
    Dernier message: 22/02/2007, 15h04
  4. Choix d'un langage pour développer un logiciel de calcul
    Par Maverick27 dans le forum Langages de programmation
    Réponses: 11
    Dernier message: 30/01/2007, 23h23
  5. Quel langage pour développer un logiciel de télétransmission
    Par gidebo dans le forum Langages de programmation
    Réponses: 3
    Dernier message: 28/08/2003, 14h19

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