Bonjour à tous
Je veux commencer le développement Android
quel est le meilleur langage est ce KOTLIN ou JAVA ???
Bonjour à tous
Je veux commencer le développement Android
quel est le meilleur langage est ce KOTLIN ou JAVA ???
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.
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')
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
Des sources indépendantes autre que le pole marketing de Jetbrains ?
C'est complètement subjectif. Pour le coup la syntax de kotlin ne me plait pas particulièrement.
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é).
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![]()
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.
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.
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.
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.
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".
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.
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.
Ç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.
Parler d'effet de mode pour un langage officiel d'une plateforme, je trouve ça peu objectif.
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.
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é.
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager