Alors on se demande vraiment ce que Java fait en 2ème position du classement Tiobe (avril 2021)...
Alors on se demande vraiment ce que Java fait en 2ème position du classement Tiobe (avril 2021)...
à toutes fins utiles :
Ce n'est pas parce qu'il est de moins en moins utilisé pour des nouveaux devs au niveau industriel (ce qui était le coeur de ma remarque), que l'existant n'existe plus. Et comme Tiobe se base sur l'existant, c'est normal qu'il reste bien classé.Envoyé par Tiobe
Quand bien même l'existant "fausse" l'analyse que tu fais de l'indicateur, Tiobe a quand même tendance à être d'accord avec moi sur la chute du Java Avec une perte de 10 points en 10 ans...
Les index sont des indicateurs avec des définitions et des limites, il est important de les connaitre pour les exploiter correctement
Ensuite, le fait que pour l'instant, Java continue d'être le langage de référence sur l'OS mobile le plus utilisé doit jouer pas mal. Mais Google (à cause du procès à l'origine de ce thread par ailleurs) s'affaire à s'en débarrasser le plus vite possible. Java a selon moi le même futur que le Cobol: une lente agonie et une stabilisation pour les industries qui ont trop d'inertie pour changer.
L'avenir nous le dira... Java est un langage vivant qui évolue bien je trouve. Il n'y a qu'à regarder ce qui se fait sur GraalVM, l'asynchrone et les microservices pour le constater. Pour ma part, c'est le langage vers lequel je me tourne dès qu'il s'agit de développer une application un peu complexe, en tout cas pour le côté backend (à côté de ça je connais surtout Python et Typescript).
La seule chose qui peut tuer java (et un langage en général), c'est la complexification syntaxique à outrance pour faire soi-disant "moderne". Cobol existe toujours parce que son code est figé et n'évoluera plus jamais ce qui fait qu'un code écrit il y a 50 ans demeure parfaitement exécutable en 2021 et donc sans raison d'être révisé et/ou porté dans un autre langage à l'avenir incertain.
Tous les langages jusqu'à présent ont eu un cycle de vie: montée en puissance puis lente décroissance.
Il y a une raison interne à cela : les paradigmes progressent et les langages tentent de les intégrer (phénomène connu en Anglais sous le nom "Acute featuritis") jusqu'à ce que le langage souffre de son propre poids et d'autres langages présentent des compromis d'approche plus séduisants. Un exemple frappant en Java est l'introduction de la modularité: c'est très bien mais ça gonfle les développeurs car certains effets sont surprenants et difficiles à gérer.
Il serait inutile de rentrer dans la traditionnelle guerre de religion entre langages : tous les autres outils souffrent du même phénomène (pour ne fâcher personne je ne citerai pas les exemples flagrants avec les autres langages: la "MachinTrucChosite aiguë" frappe partout).
(note : ce que j'aimerai c'est un langage par paradigme + interoperabilité : en fait j'ai toujours opéré comme ça dans des gros projets)
Bof. Le C est là depuis très longtemps et parfois il regagne de la popularité. Ce genre de phénomène pourrait arriver à Java.
Java reste un langage très populaire, il n'est pas prêt de disparaitre. Il ne va peut-être rester dans le top éternellement, mais il ne va pas disparaitre instantanément non plus.
Même si je suis de ceux qui défendent le droit d'auteur sur une API, mais je trouve que la décision sur Java est moralement équitable car un langage de programmation avant tout c'est comme une langue du monde machine et que sa popularité est le fruit des efforts de ceux qui parlent cette langue et non pas de son créateur. Ainsi Java a bénéficié une popularité par les développeurs et une publicité gratuite qu'Oracle veut profiter aujourd'hui pour se faire une fortune, alors que c'est l'effort de tous, c'est le seul côté que je trouve injuste dans cette affaire.
Mais oui, pour le droit de protéger son API car tout simplement les API ne sont pas de conception d'idées de méthodes, mais c'est des nom de méthodes intégralement copiés, des interfaces, des structures, de l'héritage entre interfaces, en fait des lignes de code qui ne se séparent jamais du compilé du programme de mise en œuvre une fois utilisé. Donc les binaires du programme comprendront une copie intégrale du code copié de l'API et s'exécuteront avec, donc materialisable et enregistrable sur du support physique. Le copieur du clavier QWERTY, ne vient pas copier quelque chose matérialisable d'une entreprise concurente mais juste l'idée de l'agencement des touches.
Est-ce que c'est par cette approche que tu verrais la comparaison entre la constante popularité de C++ face à la popularité croissante de Rust ?
Une question me vient également en tête : pense tu que tous les langages sont concernés de la même manière ?
je suis convaincu de l'existence de ce mécanisme, mais je suppose qu'il a bien plus de prise sur les langages haut niveau que ceux étant bas niveau.
Partager