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

Affichage des résultats du sondage: Pour quelles raisons principales le langage Java reste-t-il un parti intéressant pour le futur ?

Votants
88. Vous ne pouvez pas participer à ce sondage.
  • Il peut tout faire dans l'univers de l'informatique

    36 40,91%
  • Il est facile à étudier

    23 26,14%
  • Il jouit d'une grosse adoption en entreprise

    57 64,77%
  • Il dispose d'une grosse comunauté

    60 68,18%
  • Le langage est gratuit

    37 42,05%
  • C'est le cobol du 21e siècle

    23 26,14%
  • La JVM lui confère le statut de plateforme d'exécution

    25 28,41%
  • Il n'envie rien à C et C++ pour ce qui est de la rapidité

    22 25,00%
  • Il évolue rapidement

    15 17,05%
  • Il dispose d'une API standard riche

    53 60,23%
  • Autres (à préciser)

    5 5,68%
Sondage à choix multiple
Langages de programmation Discussion :

Vaudra-t-il encore la peine de consacrer du temps à l’étude du langage Java en 2020 ?


Sujet :

Langages de programmation

  1. #1
    Chroniqueur Actualités
    Avatar de Patrick Ruiz
    Homme Profil pro
    Redacteur web
    Inscrit en
    Février 2017
    Messages
    2 124
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Cameroun

    Informations professionnelles :
    Activité : Redacteur web
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Février 2017
    Messages : 2 124
    Points : 57 049
    Points
    57 049
    Par défaut Vaudra-t-il encore la peine de consacrer du temps à l’étude du langage Java en 2020 ?
    Vaudra-t-il encore la peine de consacrer du temps à l’étude du langage Java en 2020 ?
    Voici 10 raisons de répondre à l’affirmative, selon l’éditeur du blog Javarevisited

    La fin d’année est l’occasion pour chacun de faire le bilan et de se projeter dans l’avenir. Pour les travailleurs de la filière informatique connue pour les constants changements en termes de compétences requises, ça peut être l’occasion de décider de consacrer du temps à l’étude d’un nouveau langage de programmation. Dans une publication parue il y a peu, Sylvain Saurel, l’éditeur du blog Javarevisited, explique pourquoi Java reste un bon parti pour l’année 2020 qui s’approche à grands pas. Voici ses raisons :

    1. Java peut tout faire

    Le langage de programmation Java n'a pas été le leader depuis plus d'une décennie maintenant par hasard. En effet, Java vous permet vraiment de tout faire dans le monde de l'informatique.

    Avec Java, vous pouvez créer des applications de bureau en utilisant l'API Swing ou JavaFX. JavaFX est une solution plus moderne pour le développement d'interfaces graphiques. Depuis Java 11, JavaFX a été développé par la communauté OpenJFX, qui fait un excellent travail. La spécification Jakarta EE, anciennement Java EE, permet le développement d'applications web complètes (Internet ou Intranet). Cette spécification fournit une pile complète qui permet aux développeurs d'architecturer leurs applications de la meilleure façon possible. Tout cela explique pourquoi Jakarta EE est si populaire dans les entreprises.

    L'hégémonie d'Android sur le monde de la téléphonie mobile permet également à Java d'être le langage idéal pour développer des applications mobiles.

    Dans le monde du cloud computing, les principaux fournisseurs de services tels qu'Amazon, Google et Microsoft prennent tous en charge le langage de programmation Java pour le développement d'applications.
    Bien sûr, Java reste présent dans le système embarqué avec la solution Java Card. L'Internet des objets (IoT) est appelé à connaître une croissance exponentielle à l'avenir avec le déploiement de la 5G dans le monde entier. Là encore, Java est là parce qu'il est largement utilisé dans ce domaine prometteur. Enfin, si elle n'est pas nécessairement la solution préférée en science des données ou dans le monde de l'apprentissage machine, Java a aussi ses adeptes dans ces domaines.

    Bref, Java permet de tout faire correctement. Ce n'est pas toujours la solution la plus appropriée, mais un développeur Java a un très large éventail de possibilités.

    2. Java est facile à étudier

    Apprendre à programmer n'est jamais facile. Si c'est votre cas, vous aurez besoin d'une forte volonté pour y parvenir. Néanmoins, à mesure que vous apprendrez, vous réaliserez que tous vos efforts en valent vraiment la peine. Java est facile à apprendre parce qu'il est très populaire et qu'un grand nombre de ressources gratuites sont disponibles pour la formation.

    De nombreux tutoriels sont disponibles mais aussi un grand nombre de forums où vous pouvez poser des questions lorsque vous êtes bloqué dans votre apprentissage. Ensuite, d'un point de vue technique, Java est idéal car c'est un langage impératif mais aussi orienté objet. Ces deux paradigmes sont les plus courants dans les entreprises mais aussi les plus faciles à maîtriser pour les débutants. Enfin, si vous êtes un développeur expérimenté avec d'autres langages orientés objet, vous serez rapidement à l'aise avec Java, qui offre une API riche et intuitive avec une documentation de très haute qualité.

    3. Java est largement utilisé dans les entreprises

    Dans le monde de la programmation informatique, plusieurs méthodologies sont utilisées pour mesurer la popularité d'un langage de programmation. Parmi les méthodologies existantes, l'indice TIOBE est fréquemment utilisé comme référence.

    L'index TIOBE classe toujours Java comme le langage le plus populaire. La popularité du langage Java se retrouve dans les entreprises où il est largement dominant, mais aussi dans les universités où il est de facto très souvent enseigné aux étudiants. Enfin, les développeurs débutants s'y intéressent de plus en plus à mesure qu'ils se lancent dans le développement d'applications Android dans leurs temps libres.

    Le fait que Java soit si répandu en fait un excellent choix car une fois que vous le maîtrisez, vous pourrez postuler à de nombreux postes de développeur Java dans des entreprises ou essayer d'obtenir des missions de développement Java en freelance. Investir du temps dans l'apprentissage de Java est donc une garantie que vous en tirerez profit dans votre carrière de développeur.

    4. Java a une communauté forte

    La communauté Java est l'une des plus importantes dans le monde de la programmation informatique. C'est tout à fait logique puisque Java est un langage ultra populaire et open-source. La forte communauté Java est un grand atout puisque vous trouverez toujours une bibliothèque déjà écrite qui répond à vos besoins.

    Cette abondance de projets open source écrits en Java vous donnera un large choix de bibliothèques de code lorsque vous rencontrez des problèmes. Comme je l'ai expliqué plus tôt, cette communauté solide est également un atout important lorsque vous rencontrez des problèmes de développement de programmes en Java. En effet, quelqu'un aura probablement déjà rencontré votre problème et vous gagnerez un temps précieux en consultant la solution qu'il a utilisée.

    Enfin, cette forte communauté permet aux développeurs Java de disposer gratuitement de toute une série d'excellents outils tels que les IDEs (Eclipse, IntelliJ IDEA,...), les gestionnaires de dépendances (Maven, Gradle, Ant,...) ou les serveurs d'applications (Tomcat, TomEE, WildFly, Jetty, ....).

    5. Java est gratuit

    En 2018, Oracle a annoncé d'une manière quelque peu confuse que le JDK serait désormais facturé pour les utilisations professionnelles en production. Évidemment, la confusion a conduit certains à soutenir que Java est devenu un service payant ! Contrairement à ce que certains ont pu croire ou dire, Java est toujours gratuit.

    En réalité, Oracle distribue maintenant deux versions du JDK : Oracle JDK et Oracle OpenJDK. Oracle JDK est un environnement de développement et de test gratuit mais vous devez payer pour l'utiliser en production. Il s'accompagne d'un support à long terme de la part d'Oracle. D'autre part, Oracle OpenJDK est gratuit pour tout environnement.

    Ainsi, Java reste gratuit tant que vous utilisez Oracle OpenJDK. De plus, il existe d'autres implémentations du JDK que vous pouvez choisir d'utiliser, ce qui garantit que Java est libre à long terme. Par exemple, vous pouvez utiliser les builds JDK proposées par la communauté AdoptOpenJDK. Plus récemment, Amazon vient de mettre à disposition ses propres builds JDK sous le nom Amazon Corretto avec un support à long terme totalement gratuit.

    Le fait que Java soit gratuit et surtout qu'il le restera à l'avenir est un point fort en sa faveur. C’est un point sur lequel je vous conseille de vous pencher particulièrement lorsque vous faites le choix d’un nouveau langage de programmation à étudier.

    Nom : Java-programming-language-for-android-app-developers-2-1.png
Affichages : 67620
Taille : 91,0 Ko

    6. Java est le cobol du 21e siècle

    Ce titre est un peu provocateur, je dois l'admettre. Je crois qu'il a tout de suite attiré votre attention. En effet, vous devez vous demander pourquoi je vous conseille d'apprendre Java en 2020 alors que je l'appelle le Cobol du 21e siècle. Le fait que Java soit le Cobol du 21e siècle est quelque chose de positif pour moi.

    La langue Cobol a été créée en 1959. Alors qu'il vient de fêter ses 60 ans, Cobol est toujours très populaire dans les banques et les compagnies d'assurance. Plus de 60 ans après sa création, Cobol est toujours présent dans les entreprises et permet aux développeurs de gagner des salaires confortables pour maintenir toutes les applications créées au cours des dernières décennies. Java a été créé en 1995 et est extrêmement populaire dans les entreprises. Je fais un parallèle avec le Cobol pour vous montrer que Java sera encore une solution largement utilisée dans les entreprises en 2050 et sûrement même en 2100. En fait, le besoin pour les développeurs de maintenir le très grand nombre d'applications Java déployées sera toujours énorme. En choisissant Java en 2020, un développeur s'assure une carrière complète dans l'industrie informatique.

    7. Java est également une plateforme d’exécution avec la JVM

    Java est un langage de programmation ultra populaire. Cependant, Java est bien plus que cela. En effet, Java est aussi une plate-forme d'exécution complète avec sa machine virtuelle, la fameuse JVM (Java Virtual Machine).

    Kotlin, Scala ou Groovy sont les langages de programmation les plus populaires parmi les nombreux langages fonctionnant sur la JVM. Une fois que vous aurez appris le langage de programmation Java, un nouveau monde s'ouvrira à vous : le monde des langages de programmation fonctionnant sur la JVM. Kotlin, Scala ou Groovy sont les plus populaires, mais il y en a d'autres. Chacun de ces langages a été lancé pour combler certaines lacunes de Java dans des domaines spécifiques. Lors de sa création, Scala visait à rendre la programmation fonctionnelle accessible sur la JVM par exemple. Face à la popularité significative de Scala, Java 8 a finalement vu le JDK acquérir un certain nombre de fonctionnalités du monde de la programmation fonctionnelle. Ces langages open source fonctionnant sur la JVM peuvent donc être considérés comme des champs d'expérimentation que les architectes Java utilisent ensuite pour améliorer le langage. Kotlin a aussi un bel avenir devant lui puisque Google l'a choisi comme deuxième langage de programmation officiel pour le système d'exploitation Android.

    8. Java est très rapide

    En étudiant le langage de programmation Java en 2020, vous entrerez dans le monde de la JVM. C'est un univers de rapidité. N'écoutez pas ceux qui prétendent encore que Java est lent comparé aux langages compilés comme C et C++. La soi-disant lenteur de Java est un mythe qui a survécu. Ce mythe est basé sur une certaine vérité puisque les premières versions de Java étaient en effet plus lentes que les langages compilés tels que C ou C++. Pour tenir sa promesse "Write Once, Run anywhere", la plate-forme Java a dû faire quelques concessions et sa machine virtuelle, la célèbre JVM, a ajouté une couche logicielle. En fait, le rendement pourrait en souffrir dans certains cas particuliers.

    En plus de ce problème de la couche logicielle supplémentaire, certaines implémentations de la JVM ont été très lentes au début. Néanmoins, ce mythe a survécu et les amateurs de C ou de C++ doivent se rendre à l'évidence : la JVM est maintenant rapide. Je dirais même qu'il est ultra-rapide ! De plus, le matériel a tellement progressé depuis les premières années de Java que l'ajout d'une couche logicielle supplémentaire, comme la JVM, n'a pas d'impact réel sur les performances de la grande majorité des applications d'entreprise.

    Enfin, le compilateur JVM Just-In-Time (JIT) est une pure merveille qui améliore grandement les performances des applications Java. Le niveau de performance atteint par la JVM est aujourd'hui tel qu'elle sert de plate-forme d'exécution pour un grand nombre de langues Kotlin, Groovy et Scala. Il ne s'agit donc plus seulement du langage Java mais aussi de l'écosystème Java. Aujourd'hui, Java est une plateforme évolutive et parfaitement adaptée aux défis informatiques de demain.

    9. Java évolue rapidement

    A la fin du règne de Sun Microsystems à la tête du JDK, les évolutions de Java ont eu tendance à ralentir considérablement. Les premières années d'Oracle à la barre de Java n'ont pas été meilleures. Ainsi, il a fallu 11 ans entre Java 6 et Java 9 ! A partir de Java 9, Oracle a décidé d'adopter un nouveau cycle de vie pour les versions Java. Ce nouveau cycle de vie garantit une nouvelle version majeure de Java tous les 6 mois avec de nouvelles fonctionnalités expérimentées plus rapidement grâce aux deux statuts suivants : preview et incubateur.

    Depuis la sortie de Java 9 en septembre 2017, Oracle a maintenu ce rythme, ce qui permet à Java d'évoluer plus vite et de répondre plus rapidement aux attentes des développeurs. Ainsi, Java 14 est déjà prévu pour mars 2020.

    10. Java dispose d'une API standard riche

    Le JDK offert avec le langage de programmation Java fournit aux développeurs une API standard extrêmement riche. Ainsi, vous pourrez créer des interfaces graphiques pour le bureau avec Swing ou AWT, faire de la programmation multithread, gérer les opérations d'entrées/sorties, effectuer des opérations réseau, accéder aux bases de données ou même manipuler le temps sans avoir besoin de bibliothèques de codes externes. La richesse de l'API Java standard est un atout majeur. Avec Java, vous pouvez toucher tous les fondamentaux de la programmation informatique directement sans avoir à gérer tout un tas de dépendances.
    Bien entendu, vous devrez intégrer des bibliothèques de code externes lors du développement d'applications plus complexes par la suite. Néanmoins, pour votre apprentissage du langage Java, l'API standard sera plus que suffisante.

    Conclusion

    Alors que nous entrons dans une nouvelle décennie en 2020, Java est plus que jamais un langage de programmation à apprendre. Que ce soit en tant que premier langage ou pour élargir vos compétences en programmation, Java vous apportera beaucoup et sera un atout important pour votre carrière. Bien sûr, Java n'est pas toujours le langage le plus approprié pour chaque domaine de l'industrie informatique. Néanmoins, Java a l'avantage d'être polyvalent tout en bénéficiant d'une plateforme d'exécution, la fameuse JVM, extrêmement puissante qui vous donnera la possibilité de créer des programmes performants et évolutifs.

    Source : blog Javarevisited

    Et vous ?

    Qu’en pensez-vous ?
    Ce point de vue reflète-t-il la réalité ? Si non, quels sont les aspects qui vous posent des problèmes ?
    Êtes-vous en accord avec l’idée (qui filtre de ce billet de blog) selon laquelle Java est l’outil qui ne doit pas manquer à l’arsenal du travailleur de la filière programmation informatique ?
    Quels sont selon vous les indispensables de l'arsenal du travailleur de la filière programmation informatique ?

    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 ?
    SQL et Java sont encore les compétences techniques les plus demandées en 2019, selon un rapport d'étude
    Redmonk : Swift progresse de façon spectaculaire, Go également, JavaScript et Java au coude à coude pour la première place
    Entre Java et Kotlin, lequel de ces langages est le meilleur pour le développement d'applications Android ?
    L'équipe Microsoft Security Response Center recommande l'utilisation de Rust comme approche proactive pour un code plus sécurisé

  2. #2
    Membre extrêmement actif Avatar de darklinux
    Homme Profil pro
    Chef de projet en SSII
    Inscrit en
    Novembre 2005
    Messages
    570
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Seine et Marne (Île de France)

    Informations professionnelles :
    Activité : Chef de projet en SSII
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Novembre 2005
    Messages : 570
    Points : 999
    Points
    999
    Par défaut
    Python répond à tous ces critères: libre , gratuit , extensible , servant aussi bien sur desktop que sur serveur , du site web au machine learning ... Et si python avait tué Java ?

  3. #3
    Membre éclairé

    Homme Profil pro
    Développeur Java
    Inscrit en
    Février 2007
    Messages
    179
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur Java
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2007
    Messages : 179
    Points : 653
    Points
    653
    Par défaut
    Citation Envoyé par darklinux Voir le message
    Python répond à tous ces critères: libre , gratuit , extensible , servant aussi bien sur desktop que sur serveur , du site web au machine learning ... Et si python avait tué Java ?
    Travaillant avec Java quotidiennement, je ne suis pas du tout objectif.

    Python ne me semble pas du tout adopter dans le monde des grosses entreprise Française. Je travail actuellement pour un des premiers supermarché Français (avec presque 12000 magasins dans le monde). Et pas possible de trouver facilement des dev en python.
    Pour moi Python est très utile dans le cadre d'écriture de script d'exploitation (bash étant un peu plus compliqué à manipuler).

  4. #4
    Inactif  
    Homme Profil pro
    Lycéen
    Inscrit en
    Septembre 2019
    Messages
    67
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 21
    Localisation : France, Indre et Loire (Centre)

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

    Informations forums :
    Inscription : Septembre 2019
    Messages : 67
    Points : 242
    Points
    242
    Par défaut
    Qu'est ce que c'est ces arguments ? La plupart ne sont pas faux mais la plupart peut s'appliquer à n'importe quel langage !
    Java est loin de pouvoir tout faire. Ça va être l'un des seuls langages à louper la révolution de WASM. Et ça ça pique. Et bon courage à celui qui fait un os from scratch en java parce que c'est impossible. Il faut être honnête, c'est Kotlin le roi d'Android désormais.
    La plupart des langages sont bien documentés. En particulier le Rust qui a la meilleure documentation que je n'ai jamais vu.
    Java est utilisé dans les entreprises mais ça commence déjà à baisser...
    Oui la communauté de java est coriace et défendra le langage jusqu'au bout. Elle est sans nul doute de meilleure qualité que celle de python. Ce que j'aime dans les communautés c'est un serveur discord comme le fait le Rust. Y a t il un serv officiel java ?
    Java est gratuit... C'est pas un modèle pour ça c'est le langage le moins ouvert que je connais. Même si il l'est.
    Quand j'apprend un langage c'est pas pour être embauché et payé, c'est parce que le langage est cool.
    Java est moins rapide que les autres langages type C C++ Rust.

  5. #5
    Membre éprouvé
    Femme Profil pro
    Inscrit en
    Juillet 2012
    Messages
    271
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Italie

    Informations forums :
    Inscription : Juillet 2012
    Messages : 271
    Points : 1 043
    Points
    1 043
    Par défaut JavaFX
    Avec QT, JavaFX est le seul a pouvoir faire des applis desktop cross-platform

  6. #6
    Membre extrêmement actif Avatar de darklinux
    Homme Profil pro
    Chef de projet en SSII
    Inscrit en
    Novembre 2005
    Messages
    570
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Seine et Marne (Île de France)

    Informations professionnelles :
    Activité : Chef de projet en SSII
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Novembre 2005
    Messages : 570
    Points : 999
    Points
    999
    Par défaut
    Citation Envoyé par emilie77 Voir le message
    Avec QT, JavaFX est le seul a pouvoir faire des applis desktop cross-platform
    QT c ' est du C++ voir du C#

  7. #7
    Expert éminent sénior Avatar de Uther
    Homme Profil pro
    Tourneur Fraiseur
    Inscrit en
    Avril 2002
    Messages
    4 635
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Pyrénées Orientales (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Tourneur Fraiseur

    Informations forums :
    Inscription : Avril 2002
    Messages : 4 635
    Points : 15 840
    Points
    15 840
    Par défaut
    1. Java peut tout faire
    ... Ce n'est pas toujours la solution la plus appropriée
    Le BrainFuck aussi peut tout faire, c'est juste que ça n'est pas toujours la solution la plus appropriée.

    Le Java n'est pas vraiment utilisable si on veut faire un OS, des drivers pour matériel, ... ou tout ce qui a un accès direct au matériel. De même le Garbage collector a des implication sur la consommation mémoire et la prédictibilité des performance, ce qui rend l'utilisation de Java problématique dans les domaines ou c'est important (moteur de jeu video, temps réel,...). Alors oui, il y a moyen d'arriver à quelque choses si on accepte de faire des concessions, mais il faut vraiment arrêter de dire qu'utiliser le même langage partout est un bien.

    2. Java est facile à étudier
    Plutôt d'accord. Pour apprendre l'orienté objet avec typage statique, c'est un des lagages les plus simples, par contre pour de l'algorithmique basique, Basic ou Python sont encore plus simples.

    3. Java est largement utilisé dans les entreprises
    D'accord sur le constat, par contre l'indice TIOBE est autant une référence pour l'utilisation en entreprise que le doigt mouillé est une référence en météorologie.

    4. Java a une communauté forte
    Complétement d'accord

    5. Java est gratuit
    Comme quasiment tous les langages grand public de nos jours

    6. Java est le cobol du 21e siècle
    D'accord même si je suis pas sur que ça soit un argument super vendeur.

    7. Java est également une plateforme d’exécution avec la JVM
    Je vois pas vraiment en quoi c'est un argument pour apprendre java on peut tout a fait utiliser la plateforme sans connaitre le langage

    8. Java est très rapide
    Java est relativement rapide par rapport aux langages comparables (C#, JS, Python, PHP, ...). Mais il est un cran en dessous des langages tel que C, C++ ou Rust quand la performance brute est de mise.

    9. Java évolue rapidement
    En effet mais avec le retard qu'il a pris, ça va prendre encore du temps avant qu'il retrouve toute sa splendeur.

    10. Java dispose d'une API standard riche
    Plutôt d'accord

  8. #8
    Membre émérite
    Profil pro
    Inscrit en
    Juin 2009
    Messages
    952
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2009
    Messages : 952
    Points : 2 910
    Points
    2 910
    Par défaut
    Développeur Java ici, qui a déjà pratiqué PHP/Js/C# et des SGBDR.

    Citation Envoyé par Mubelotix Voir le message
    Qu'est ce que c'est ces arguments ? La plupart ne sont pas faux mais la plupart peut s'appliquer à n'importe quel langage !
    Java est loin de pouvoir tout faire. Ça va être l'un des seuls langages à louper la révolution de WASM. Et ça ça pique. Et bon courage à celui qui fait un os from scratch en java parce que c'est impossible. Il faut être honnête, c'est Kotlin le roi d'Android désormais.
    La plupart des langages sont bien documentés. En particulier le Rust qui a la meilleure documentation que je n'ai jamais vu.
    Java est utilisé dans les entreprises mais ça commence déjà à baisser...
    Oui la communauté de java est coriace et défendra le langage jusqu'au bout. Elle est sans nul doute de meilleure qualité que celle de python. Ce que j'aime dans les communautés c'est un serveur discord comme le fait le Rust. Y a t il un serv officiel java ?
    Java est gratuit... C'est pas un modèle pour ça c'est le langage le moins ouvert que je connais. Même si il l'est.
    Quand j'apprend un langage c'est pas pour être embauché et payé, c'est parce que le langage est cool.
    Java est moins rapide que les autres langages type C C++ Rust.
    C'est pas faux non plus, mais certaines de ces affirmations, si elles sont vrais pour d'autres langages, ne sont pas aussi significatives que sur Java.

    L'exemple le plus simple est la taille de la communauté, bien d'autres langage ont une communauté suffisante pour le supporter, combien d'autres ont une communauté aussi large ou plus encore que Java ? Pas tant que ça.

    Java peut tout faire

    En termes de développement d'applicatifs pour les entreprise et leur SI je suis d'accord, je laisse par contre volontiers le côté système/driver au C/C++(/Rust ? Je ne connais pas mais j'ai cru comprendre que oui).

    Java est facile à étudier

    Il faut définir de ce que l'on parle, si on se contente du langage oui, si on rajoute les APIs, les éléments comme la concurrence, les WeakReference, et tout le reste, je ne pense pas que ce soit vraiment plus facile que du python ou du C#. Mais il est vrai qu'avec la facilité du langage lui-même on peut avoir cette fausse impression et se retrouver avec des collègues qui "savent" faire du Java.. ou pas en fait.


    Java est le COBOL du 21ème siècle

    Alors plutôt non, car le COBOL a été écrit pour que ce soit des non professionnels qui puissent l'utiliser et qui est naturellement limités à ce pourquoi il a été fait : formulaire, fichier, SQL. Un tout petit oui dans le sens ou il peu donner cette impression par rapport au fait que le langage est si facile a aborder que des personnes qui n'ont pas les bases en info (complexité, importance de la gestion des I/O, le réseau, bref vraiment la base) peuvent prétendre savoir en faire.

    Java est très rapide

    Je n'ai clairement pas la compétence pour le comparer à d'autres lanages, mais il parait effectivement que quand tu fais par exemple du calculs purs et que tu fais attention à des choses tel que l'auto-boxing, tu peux effectivement rivaliser avec du C/C++. J'imagine cependant que ces performances égales ne s'appliquent plus si on s'approche trop du hard/système (en tout cas pas sans les couches de drivers qui eux ne sont pas en Java ).

  9. #9
    Nouveau membre du Club
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Mai 2019
    Messages
    12
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2019
    Messages : 12
    Points : 39
    Points
    39
    Par défaut
    Vaut-il encore la peine d'être étudié?

    Cela dépend énormément de plusieurs choses:

    ...
    1. Le ou les domaines dans lesquels vous souhaitez exercer

      • programmation de microcontrôleurs ou d'objets connectés: OUI pourquoi pas? Personnellement, c'est dans le cadre de ce genre de projets que j'ai le plus apprécié le JAVA, et cela malgré le fait qu'il ne facilitait par forcément la programmation asynchrone.
      • programmation bas niveau: NON.
      • conception d'application(web, mobiles) simples: NON. NON. Non.
      • conception d'application complexes: si vous n'avez pas le choix, et ça sera le cas la majeure partie du temps: OUI. Personnellement, je préfère C#, et si vous avez une équipe compétente, Typescript ou Javascript.
      • mathématiques appliqués & recherche expérimentale: NON.

    2. Si vous désirez un déploiement & une maintenance sans encombre sur le cloud

      Je ne sais pas ou en sont AWS, GGS, et AZURE en terme de services managés pour les applications en Java.
    3. Votre sensibilité esthétique aux implémentations des paradigmes dans le langage et à sa syntaxe

      Alors, si vous aimez un langage qui vous permet de traduire fluidement vos idées en code.
      Si vous vous souciez de la qualité de la plume lorsque vous écrivez; fuyez pauvre fou!
      Parmi les langages de programmation les plus utilisés, JAVA est probablement le moins élégant; et avant que certains la remmène en expliquant qu'il évolue régulièrement , j'aimerais rappeler que la majeure partie d'entre nous bossons encore AU MIEUX sous JAVA 8. Lorsque je lis du code qui utilise fluentIterator en JAVA 7, j'ai littéralement des larmes de sang qui coulent de mes yeux.

      Encore une fois, je conseillerais plutôt:
      - JavaScript pour les âmes matures en ingénierie logicielle.
      - Typescript.
      - C#.
      - Go.
      - Kotlin
      - Scala
      - Dart
    4. Si vous désirez étudier un langage dont l'offre en terme de job est élevée

      Go for it my friend. Je ne peux que vous encourager.
      En plus, la majeure partie des grosses boîtes restent hyper "conservatrices"; c'est pourquoi à l'avenir, même dans le pire des cas, il y aura toujours des jobs de maintenance/support/évolution de code en JAVA.
      Welcome in the corporate world !

    5. Si vous avez peur de vous taper le cobol du 21e siècle

      Fuyez.
      Cependant, il faut bien comprendre que "cobol du 21e siècle" signifie simplement que JAVA va potentiellement payer cher le prix de son retard par rapport à la concurrence; dès lors, certains(dont moi) supposent que ce dernier risque d'être progressivement délaissé vers la fin du siècle, à tel point que les offres en terme de job seront centrées sur de la maintenance applicative pure.

  10. #10
    Rédacteur/Modérateur

    Avatar de yahiko
    Homme Profil pro
    Développeur
    Inscrit en
    Juillet 2013
    Messages
    1 424
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur

    Informations forums :
    Inscription : Juillet 2013
    Messages : 1 424
    Points : 8 712
    Points
    8 712
    Billets dans le blog
    43
    Par défaut
    J'ai mis +1 à @wallas

  11. #11
    Expert éminent sénior
    Profil pro
    Inscrit en
    Décembre 2007
    Messages
    6 814
    Détails du profil
    Informations personnelles :
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations forums :
    Inscription : Décembre 2007
    Messages : 6 814
    Points : 32 170
    Points
    32 170
    Par défaut
    Le cobol est surtout un langage de niche - optimisé pour les batches sur fichier plats massifs. Et pas vraiment utilisable ailleurs - en tous cas de manière performante. Le Java, lui, a une vocation universelle qui rend la comparaison quand même osée.

    D’ailleurs, y-a-t-il une niche ou le JAVA est le plus performant? Je pose la question, je n'ai pas la réponse.

  12. #12
    Expert éminent sénior Avatar de Uther
    Homme Profil pro
    Tourneur Fraiseur
    Inscrit en
    Avril 2002
    Messages
    4 635
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Pyrénées Orientales (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Tourneur Fraiseur

    Informations forums :
    Inscription : Avril 2002
    Messages : 4 635
    Points : 15 840
    Points
    15 840
    Par défaut
    Citation Envoyé par walfrat Voir le message
    Alors plutôt non, car le COBOL a été écrit pour que ce soit des non professionnels qui puissent l'utiliser et qui est naturellement limités à ce pourquoi il a été fait : formulaire, fichier, SQL. Un tout petit oui dans le sens ou il peu donner cette impression par rapport au fait que le langage est si facile a aborder que des personnes qui n'ont pas les bases en info (complexité, importance de la gestion des I/O, le réseau, bref vraiment la base) peuvent prétendre savoir en faire
    Sauf qu'il ne compare pas fonctionnellement ces deux langages, qui sont en effet très différent, mais leur omniprésence dans le code existant qui fait que c'est difficile de pouvoir s'en débarrasser.

  13. #13
    Membre émérite
    Profil pro
    retraité
    Inscrit en
    Décembre 2010
    Messages
    850
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : retraité

    Informations forums :
    Inscription : Décembre 2010
    Messages : 850
    Points : 2 451
    Points
    2 451
    Par défaut
    Citation Envoyé par emilie77 Voir le message
    Avec QT, JavaFX est le seul a pouvoir faire des applis desktop cross-platform
    Attention Flutter arrive en Cross-platform, et si Dart en natif peut approcher les performances du C, C++ cela va offrir un concurrent sérieux.

  14. #14
    Membre extrêmement actif
    Profil pro
    Analyste cogniticien
    Inscrit en
    Novembre 2010
    Messages
    285
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Analyste cogniticien

    Informations forums :
    Inscription : Novembre 2010
    Messages : 285
    Points : 659
    Points
    659
    Par défaut
    Non mais allô quoi, ils donnent eux-même les arguments pour se faire battre.

    1. Java peut tout faire
    Tout sauf tout ce pour qui les performances ou l'utilisation des ressources est critique. Des broutilles comme par exemple des noyaux d'OS, des bibliothèques systèmes, des jeux vidéos, des systèmes embarqués.

    2. Java est facile à étudier
    Il y a plus facile et plus moderne aujourd'hui.

    3. Java est largement utilisé dans les entreprises
    Et la plupart s'en mordent les doigts.

    4. Java a une communauté forte
    Et qui s'étiole chaque année.

    5. Java est gratuit
    Ah bon. Oracle et ses audits, Google et son procès contre Oracle, les versions payantes disponibles, tout ça c'est vrai que c'est gratuit. Au contraire je n'ai jamais eu autant l'impression que c'était payant. Il y a beaucoup de langages qui sont bien plus gratuits que Java, comme C, C++, Python, Perl, Lisp, Ocaml, PHP, JavaScript, Pascal et j'en passe, et des meilleurs.

    6. Java est le cobol du 21e siècle
    C'est vrai. Merci de prouver ainsi que Java est has been.

    7. Java est également une plateforme d’exécution avec la JVM
    En quoi cela prouve que le langage Java n'est pas bon pour la poubelle ? Au contraire, on remplace le Java par d'autres langages en conservant les "bénéfces" de la JVM.

    8. Java est très rapide
    On est trolldi ? Ce n'est pas pour rien que le logo de Java est une tasse de café. Tu as largement le temps de t'en prendre un le temps du démarrage de la JVM.

    9. Java évolue rapidement
    C'est donc un langage instable, toute fonction est ajoutée à la hâte sur un pataquès de fonctions existantes, tout ce qui existe aujourd'hui pourra être supprimé demain. Sacré avantage en effet, bravo Java.

    10. Java dispose d'une API standard riche
    C'est vrai mais ce n'est pas le seul. PHP dispose également d'une bibliothèque riche, par exemple.

    Réveillez-vous les gars, Java c'est du passé. Il est temps de vous remettre à des langages qui sont à la mode.

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

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

    Informations forums :
    Inscription : Août 2003
    Messages : 6 693
    Points : 20 246
    Points
    20 246
    Par défaut
    Ca fait 20 ans qu'on nous dit que JAVA va disparaître , ça fait 30 que C++ est mort , en fait, à chaque sortie d'un nouveau langage ultime super à la mode les "vieux" vont disparaître parce que : LOL quoi, mon nouveau langage il est trop mieux.
    La release suivante des vieux implémente les quelques bonnes idée des jeunes et on est repartit pour un tour.

    Du coup, vous m'excuserez mais je vais faire encore du JAVA (et du C++) en 2020 , et puis peut être que quand Jetbrain et Google auront épuisé leur budget marketing sur Kotlin j'y jèterais un oeil pour voir si ça vaut vraiment le coup de s'y pencher.

  16. #16
    Membre émérite
    Homme Profil pro
    Ingénieur en génie logiciel
    Inscrit en
    Juin 2012
    Messages
    923
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations professionnelles :
    Activité : Ingénieur en génie logiciel
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Juin 2012
    Messages : 923
    Points : 2 627
    Points
    2 627
    Par défaut
    deux os fait en java

    http://www4.cs.fau.de/Projects/JX/index.html
    http://jnode.org/

    java pour des systèmes embarqué?

    google -> java embedded

    je l'utilisais pour un système informatique dans une machine embarqué qui compte la monnaie...

    java pour des jeux?

    google -> java game

    performance?

    il y a des cas où il est plus rapide et d'autre non


    un minimum de recherche... avant d'écrire des faussetés

  17. #17
    Membre éclairé
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Février 2017
    Messages
    101
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : Suisse

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Février 2017
    Messages : 101
    Points : 656
    Points
    656
    Par défaut
    Citation Envoyé par marc.collin Voir le message
    deux os fait en java

    http://www4.cs.fau.de/Projects/JX/index.html
    http://jnode.org/

    java pour des systèmes embarqué?

    google -> java embedded

    je l'utilisais pour un système informatique dans une machine embarqué qui compte la monnaie...

    java pour des jeux?

    google -> java game

    performance?

    il y a des cas où il est plus rapide et d'autre non


    un minimum de recherche... avant d'écrire des faussetés
    Oui effectivement, on voit assez les personnes qui savent de quoi elles parlent et celles qui viennent juste "pour casser le langage X ou Y"

    Juste un autre exemple pour la partie jeux, de gros backend de jeu MMO à plusieurs milliers de joueurs sont codé en Java (Aion p. ex.) donc la théorie sur les perfs...

  18. #18
    Expert éminent sénior Avatar de Uther
    Homme Profil pro
    Tourneur Fraiseur
    Inscrit en
    Avril 2002
    Messages
    4 635
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Pyrénées Orientales (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Tourneur Fraiseur

    Informations forums :
    Inscription : Avril 2002
    Messages : 4 635
    Points : 15 840
    Points
    15 840
    Par défaut
    Citation Envoyé par marc.collin
    deux os fait en java

    http://www4.cs.fau.de/Projects/JX/index.html
    http://jnode.org/

    java pour des systèmes embarqué?

    google -> java embedded
    C'est bien par ce que je suis au courant que j'ai pris la peine de préciser que "il y a moyen d'arriver à quelque choses si on est prêt a faire des concessions"
    J'ai fait de l'embarqué en Java, je sais bien que c'est faisable avec un environnement bien cadré, mais ça n'est clairement pas un bon langage pour faire des manipulation de bas niveau.

    Citation Envoyé par marc.collin
    java pour des jeux?

    google -> java game
    Java dans les jeux, là encore ça marche, mais rarement pour les parties qui requièrent des performances brutes et des temps de réponse garantis. Ces parties la sont souvent déléguées à des bibliothèques en C/C++. Quand ça n'est pas le cas l'impact sur les performances est généralement notable.

    Citation Envoyé par marc.collin
    il y a des cas où il est plus rapide et d'autre non
    En effet il y a toujours des cas bien particuliers ou on va pouvoir faire briller un langage. Mais globalement quand on a besoin de performance brutes on préfère généralement des langage qui permettent une gestion manuelle ou semi-manuelle de la mémoire.

  19. #19
    Membre averti
    Homme Profil pro
    Ingénieur de recherche
    Inscrit en
    Décembre 2011
    Messages
    68
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur de recherche
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Décembre 2011
    Messages : 68
    Points : 342
    Points
    342
    Par défaut
    Niveau consomation cpu et mémoire :

    https://benchmarksgame-team.pages.de.../gpp-java.html

    C++ > Java

    https://benchmarksgame-team.pages.de...st/python.html

    Java > Python

    Il arrive que C++ mette un ordre de grandeur à java, mais le cas général c'est un facteur 3, ce qui est 'souvent' acceptable pour faire des comparaisons au cas par cas.
    Par contre python se prend souvent un ordre de grandeur par java, à la louche le cas général est un facteur 50; là on change définitivement de type d'usage.

  20. #20
    Membre extrêmement actif
    Homme Profil pro
    Technicien de maintenance / Developpeur PHP
    Inscrit en
    Mai 2015
    Messages
    429
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loire (Rhône Alpes)

    Informations professionnelles :
    Activité : Technicien de maintenance / Developpeur PHP
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Mai 2015
    Messages : 429
    Points : 1 630
    Points
    1 630
    Par défaut
    @wallas00 +1.

    Juste la partie :
    1. Le ou les domaines dans lesquels vous souhaitez exercer
    • programmation de microcontrôleurs ou d'objets connectés: OUI pourquoi pas? Personnellement, c'est dans le cadre de ce genre de projets que j'ai le plus apprécié le JAVA, et cela malgré le fait qu'il ne facilitait par forcément la programmation asynchrone.
    • programmation bas niveau: NON.

    @wallas00
    Pour le coup, si la programmation de microcontrôleur / IoT ce n'est pas bas niveau, qu'est ce qu'il vous faut ?
    Personnellement sur ce segments, j'utiliserais plutôt le C, C++, Pascal, voir du Rust si la cible est disponible.
    ---
    Attention Flutter arrive en Cross-platform, et si Dart en natif peut approcher les performances du C, C++ cela va offrir un concurrent sérieux.
    @archqt
    La plateforme Flutter est très bien pour faire de l'UI multi-plateformes, mais tous ce qui sera basé sur Dart ne pourra pas approcher les perf du C, C++, Rust, Go, ..etc.
    Le langage et de beaucoup plus haut niveau que Java, donc ça vous donne une idée.
    Par contre depuis que Google a inclut une FFI à la dartvm, effectivement, ça risque de faire mal à JNI/Python CFFI/Node N-API et autres qui sont qu'en même bien plus complexe (luajit ffi mène toujours la danse cependant).

Discussions similaires

  1. Firefox OS: Mozilla n'est pas encore au bout de ses peines
    Par Siguillaume dans le forum Actualités
    Réponses: 10
    Dernier message: 29/05/2015, 14h32
  2. Réponses: 0
    Dernier message: 11/05/2010, 17h34
  3. Programmer encore en VB 6 c'est pas bien ? Pourquoi ?
    Par Nektanebos dans le forum Débats sur le développement - Le Best Of
    Réponses: 85
    Dernier message: 10/03/2009, 15h43
  4. TEdit (encore)
    Par dj.motte dans le forum C++Builder
    Réponses: 5
    Dernier message: 23/12/2002, 20h02
  5. TPalette (encore)
    Par Flipper dans le forum Langage
    Réponses: 3
    Dernier message: 29/11/2002, 00h45

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