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

Débats sur le développement - Le Best Of Discussion :

Java est-il un langage de programmation mourant ?


Sujet :

Débats sur le développement - Le Best Of

  1. #41
    Rédacteur/Modérateur


    Homme Profil pro
    Développeur .NET
    Inscrit en
    Février 2004
    Messages
    19 875
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Paris (Île de France)

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

    Informations forums :
    Inscription : Février 2004
    Messages : 19 875
    Points : 39 749
    Points
    39 749
    Par défaut
    Citation Envoyé par Traroth2 Voir le message
    Tu manipules des pointeurs en .Net ? Explique un peu, pour voir...
    C'est rarement utilisé, mais ça existe : http://msdn.microsoft.com/en-us/library/y31yhkeb.aspx
    Très utile pour faire du traitement d'image ou toute autre application où les performances sont critiques.

  2. #42
    Expert éminent
    Avatar de transgohan
    Homme Profil pro
    Développeur Temps réel Embarqué
    Inscrit en
    Janvier 2011
    Messages
    3 146
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Maine et Loire (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur Temps réel Embarqué

    Informations forums :
    Inscription : Janvier 2011
    Messages : 3 146
    Points : 9 386
    Points
    9 386
    Par défaut
    Il y a un lobbying tellement monstrueux autour de Java qu'il va pas disparaître du jour au lendemain.

    Après mon avis personnel : je le trouve trop verbeux et trop lent (mais la lenteur est sous condition de mes compétences en Java, à savoir que je ne suis absolument pas un expert de ce langage !), par contre on voit graviter de nombreux outils puissants autour de ce langage ainsi que de nombreuses librairies.

    « Toujours se souvenir que la majorité des ennuis viennent de l'espace occupé entre la chaise et l'écran de l'ordinateur. »
    « Le watchdog aboie, les tests passent »

  3. #43
    Membre éclairé
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Mars 2011
    Messages
    222
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : France, Isère (Rhône Alpes)

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

    Informations forums :
    Inscription : Mars 2011
    Messages : 222
    Points : 766
    Points
    766
    Par défaut
    Je ne risque pas de dire beaucoup de bien je Java, je déteste Java depuis le début quand il faisait ramer ma machine dès qu'une page web contenait une applet, il fallait à peu près 5 minutes pour que mon PC redevienne utilisable.

    Je dirais qu'il faut distinguer quatre choses:
    • Le langage Java en lui-même, le framework et la machine virtuelle: ces 3 là étaient plus ou moins la même chose, maintenant il y a des frameworks et des machines virtuelles alternatives à ce que propose la version sun/oracle (android est un exemple),
    • les domaines d'utilisation de Java

    En ce qui concerne le langage lui-même, ça ressemble quand même énormément à du C++ sans pointeur et quelques spécificités liées au mode d'exécution (typage dynamique, garbage collector, etc.). Tout langage a ses avantages et ses inconvénients, je ne vois pas pourquoi Java serait plus en déclin que C++ ou C# de ce point de vue là.

    En ce qui concerne le framework, je trouve la documentation très mal faite, on s'y retrouve très difficilement, difficile de faire des recherches dedans. Cela-dit c'est le cas de beaucoup de framework (.Net même punition) et je compare surtout avec la doc de Qt qui est très bien faite.

    En ce qui concerne les machines virtuelles, ce serait intéressant d'avoir des chiffres sur les "parts de marché" en temps d’exécution (si c'est possible) des différentes machines virtuelles aujourd'hui. Surtout en ce qui concerne le rapport Dalvik/JVM Oracle. Avec le nombre de machines Android qui tournent 24/24, pas certain que le JVM Oracle soit encore leader.

    Mais je pense que le plus intéressant c'est surtout ce qui concerne les domaines d'utilisation. Plus que le langage Java lui-même, les utilisations principales de Java que je connais sont:
    • android
    • applets sur des pages web
    • serveurs d'applications (genre tomcat)
    • logiciels divers qui utilisent Java pour être directement multiplateformes

    (je met volontairement de côté le java sur carte à puce, ça n'est plus vraiment le même sujet)

    En ce qui concerne les applets je pense qu'elle sont destinées à disparaître. Ce n'est pas encore complètement possible pour le moment (une applet Java est souvent encore la seule chose +/- portable pouvant accéder au disque dur et à des fonctions de l'OS: je dois avoir un sujet ouvert depuis longtemps quelque part sur ce forum pour faire de la signature par certificat électronique et accéder au magasin de certificat de l'OS, à part une applet Java on n'a rien trouvé de portable) mais quand je vois ques les applets Java ne peuvent pas fonctionner sous android par exemple... c'est que c'est mort pour les applets. Et HTML5 et compagnie est pas un pas de plus vers la fin des applets Java (et de flash)

    Pour la portabilité il y a quand même mieux que Java, même si ça demande un peu plus de travail pour le développeur, quoi que: des frameworks natifs portables (genre Qt), ou du développement dans d'autres langages interprétés/précompilés mais plus légers, selon le domaine et les préférences de chacun: python, ocaml, etc... ou même javascript)

    Reste les serveurs d'applications et android. Je pense que c'est de ces deux choses que dépendra l'avenir de Java, donc la question n'est pas vraiment dans les mains des développeurs mais plutôt dans celles des "décideurs":
    • pour android il est déjà possible de développer directement en natif et Intel encourage dans ce sens. En plus Google nous a habitué à abandonner facilement des technos au profit d'autres jugées plus rentables.
    • pour les serveurs d’applications: ça pourrait tourner "à la COBOL", les applications métiers vraiment utiles pourraient continuer à être supportées mais face aux différentes "saveurs" de clouds existantes et à venir... difficile de savoir aujourd'hui qui aura le meilleur discours commercial pour séduire les décideurs.


    D'une façon ou d'une autre, pour survivre, une techno numérique doit s'adapter en permanence et proposer des évolutions intéressantes, sinon elle est vite rattrapée. La longévité de C ou C++ par exemple n'est pas liée au langage lui-même mais au fait que toutes les nouvelles techno apparue au fur et à mesure on souvent été (directement ou assez facilement) accessibles depuis un programme C ou C++. Au niveau Java, est-ce que Oracle a annoncé des choses palpitantes depuis qu'ils ont récupéré Java ?

  4. #44
    Membre du Club
    Inscrit en
    Novembre 2012
    Messages
    23
    Détails du profil
    Informations forums :
    Inscription : Novembre 2012
    Messages : 23
    Points : 43
    Points
    43
    Par défaut
    Citation Envoyé par olreak Voir le message
    ...
    Mais je pense que le plus intéressant c'est surtout ce qui concerne les domaines d'utilisation. Plus que le langage Java lui-même, les utilisations principales de Java que je connais sont:
    • android
    • applets sur des pages web
    • serveurs d'applications (genre tomcat)
    • logiciels divers qui utilisent Java pour être directement multiplateformes

    (je met volontairement de côté le java sur carte à puce, ça n'est plus vraiment le même sujet)
    Une techno hyper interessante pour faire des appli web avec Java : GWT.
    Bien codé ça permet d'avoir une Web UI dynamique très réactive et un code hyper structuré. Il y a une forte communauté derrière et une bonne intégration à Eclipse.

    Je dois avouer que le truc que j'aime le moins avec Java c'est J2EE...

  5. #45
    Expert éminent sénior
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Septembre 2012
    Messages
    3 020
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Finistère (Bretagne)

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

    Informations forums :
    Inscription : Septembre 2012
    Messages : 3 020
    Points : 16 092
    Points
    16 092
    Par défaut
    Du code sale en java, il y en a aussi je n'ai pas dit que ce n'était pas possible hein. J'en vois régulièrement.

    Et l'exemple avec le nom de classe interminable en est un.

    Je vais corriger un peu mon exemple parce que c'est vrai que le

    var toto = "rastatpopulos" n'est pas si horrible que cela. On voit vite de quoi il s'agit.

    Maintenant, si j'ai une déclaration du type :

    var titi = monObjet.maMethode();

    Là je suis plus embêté. Et oui, l'IDE me fournit des outils pour savoir, mais il faut chercher un peu. L'information n'est pas immediatement accessible.

    J'aime autant (mais j'admets volontiers tout la subjectivité de la chose) :

    String titi = monObjet.maMathode();

  6. #46
    Modérateur
    Avatar de gangsoleil
    Homme Profil pro
    Manager / Cyber Sécurité
    Inscrit en
    Mai 2004
    Messages
    10 150
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Manager / Cyber Sécurité

    Informations forums :
    Inscription : Mai 2004
    Messages : 10 150
    Points : 28 119
    Points
    28 119
    Par défaut
    Citation Envoyé par Spleeen Voir le message
    C'est bien ce que je disais, les développeurs Java (pour les étudiants n'ayant jamais fait d'assembleur ni de C, ce qui est pour moi inconcevable à titre personnel) se foutent complètement des perfs. Le tout c'est qu'ils soient pas hypocrite, qu'ils se l'avouent.
    Un developpeur qui se fout des performances a raison dans plus de 90% des cas...
    Lorsque tu as besoin de multiplier 2 matrices (de taille raisonnable) une fois par mois, ca ne sert a rien de passer 2 semaines a trouver un algo qui te fera gagner quelques secondes.
    Normalement, il faut d'abord faire quelque chose qui fonctionne avant de se poser des questions d'optimisation, selon la bonne vieille regle des 80/20 : tu passes 80% de ton temps dans 20% de ton code : tant que tu n'as pas identifie exactement les 20%, ca ne sert a rien d'optimiser !

    Je ne compte plus combien de gens j'ai vu optimiser, a mort, la lecture de la configuration pour un programme serveur qui tourne en 24/7... Ca ne sert a rien.
    Par contre, une fois ton application ecrite, un petit coup de profiler qui te donne les quelques methodes dans lesquelles tu passes le plus de temps, et hop, c'est bon.

    Tu remarqueras que ces notions sont independantes du langage.


    Et je pense que tu ne t'es pas penche sur les performances des JVM depuis un bout de temps

    Enfin, un test simple, fait une multiplication de deux matrices. Avec un bête algo. Prends le meilleur pour chaque langage, en gardant la même complexité Oméga.
    Tu n'as jamais lancé de profiler ? Fait un clock() pour voir ? Je sais pas c'est la base normalement...
    C'est un peu comme comparer les performances des processeurs en comparant les bogomips (c'est a dire le nombre de NOP qu'un processeur peut executer par seconde) : ca te donne une idee de quelque chose, mais pas de programmes reels.

    Java est utilise dans la plupart des cas pour faire des serveurs qui sont utilises par de multiples clients. Oui, Java va etre plus lent que le C pour faire un appel a clock(). Mais ce n'est pas pour cela qu'il est utilise -- et le C non plus.
    "La route est longue, mais le chemin est libre" -- https://framasoft.org/
    Les règles du forum

  7. #47
    Membre habitué
    Profil pro
    Inscrit en
    Avril 2013
    Messages
    93
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2013
    Messages : 93
    Points : 126
    Points
    126
    Par défaut
    Je fais du java depuis 5 ans, j'ai fais du C# pendant 1 ans et 2 ans de php...; et j'aime beaucoup ces 3 langages mais je dois dire que certaines choses m'irrite.

    Java est un langage de programmation objet, pas un framework.
    Un langage c'est de l'apprentissage, une philosophie à appréhender, et surtout une réponse adéquate à un besoin précis.

    Beaucoup de besoins ne trouvent pas forcement une réponse simple et implémentée dans un langage / framework ce qui donne souvent une utilisation détournée plus ou moins bien implémentée.
    Deplus chaque langage à ses forces et faiblesses !

    Prendre un cas précis sur lequel un langage n'est pas optimisé et dire : regarde, c'est vraiment nul... c'est juste confirmer que le langage n'est pas celui à utiliser pour cette problématique.... pas que le langage doit partir aux oubliettes.

    Concernant le verbosité du langage : Ce n'est pas un débat tellement c'est une question de gout.
    Personnellement j'aime la verbosité, j'aime le typage fort. Je ne suis pas payé à la variable où à la longueur des noms attribués aux méthodes mais j'aime quand ce que je manipule est compréhensible.
    Mais je comprend quand quelqu'un me dit qu'il préfère les déclaration simple et rapide.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    La phase de déclin peut-elle s'appliquer réellement aux langages de programmation ?
    Oui sur les nouveaux projets ... et non tant que des SI auront des applications vitales dans ces technos (pour ca qu'on cherche encore des développeurs cobold en secteur financier)

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Selon vous, qu'est ce qui maintient Java au top malgré la flambée de nouveaux langages de programmation ?
    Langages ou frameworks ? Non car des langages y'en a pas tout les 4 matins non plus.

    Java c'est :
    * Gratuit (dans les SI ca fait un argument de poids)
    * Un éco-systeme très (trop ?) riche et bien souvent open-source et/ou gratuit.
    * Une grande liberté dans l'implémentation des solutions
    Pour une bonne résolution :
    - N'hésitez pas à donner le maximum d'informations sur vos problèmes, ca vous fera gagner du temps en évitant les aller-retours.
    - Si vous utilisez maven, pensez à rajouter votre pom !

    --> Le meilleur code est celui qui concrétise ce qui a été posé et analysé sur le papier

  8. #48
    Membre éprouvé
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Janvier 2007
    Messages
    697
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France, Calvados (Basse Normandie)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Janvier 2007
    Messages : 697
    Points : 1 241
    Points
    1 241
    Par défaut
    Citation Envoyé par Spleeen Voir le message
    J'ai étudié et travaille depuis des années en Java. C'est une horreur, disons le d'emblée. Beaucoup (trop de failles de sécu), une JVM très très très gourmande en RAM.
    La RAM ? on a tous au minimum 2Go (voir 4) sur nos ordinateurs. Je suis pas sur que ce soit vraiment pertinent. Je suis curieux de savoir à combien tu estimes (pas à la louche hein. Avec un benchmark.) la différence en RAM entre un programme natif et Java...
    Citation Envoyé par Spleeen Voir le message
    À titre perso, j'utilise de plus en plus C#, pourtant on peut vraiment pas m'accuser d'être pro-Microsoft, n'utilisant quasiment aucun de leurs outils.
    Mais C# réussi quasiment partout ou Java pêche.
    Quelques trucs comme ça :
    Voyont ça...
    Citation Envoyé par Spleeen Voir le message
    - Avouons-le, l'API Java a été fait par des théoriciens des cordes qui se touchent devant leurs hiérarchies (des profs aussi parfois) mais n'ont pas compris qu'il était PARFOIS utile de créer, pour Swing notamment, des classes concrètes. Pour gérer des trucs dépassés (second degré) comme l'affichage d'une image, la lecture d'une musique ou des graphiques...
    À coté Qt, c'est 3 lignes pour une classe de 100 lignes en Java avec un héritage aux interfaces Java
    C# lui a déjà tout dans le ventre, comme Qt.
    Les " théoriciens des cordes" ont créer dans la plupart des cas des API facile à prendre en main. Les hiérarchies de classes ne posent pas vraiment de problème au contraire elle sont là pour les résoudres (Exemple Collections.sort() est utilisable sur ArrayList, LinkedList...).
    Sinon je dois te l'accorder les API media (lecture/enregistrement de musique, vidéo) sont obsolètes. Mais tu sais, Qt est disponible en Java aussi
    Citation Envoyé par Spleeen Voir le message
    - Java est naze niveau perf. Clairement tu dév avec, tu te fous des perfs.
    Pour le même algorithme général, C est quasi 10 fois plus rapide. 7 fois pour C++. C# peut générer un vrai binaire, en perdant le multiplateforme.
    Troll ? Pour information, la JVM génère du code natif quand c'est nécessaire... Et puis je ne sais pas d'où tu sort tes 7 et 10 fois plus rapide que Java mais c'est clairement n'importe quoi. En faite j'aurais même plutôt tendance à croire (je n'affirme pas, je n'ai pas fait de bench pour vérifier) que l'algo sera plus rapide en Java qu'en C/C++, le code est compilé à l’exécution donc en fonction des spécificités (nombre de coeur, RAM...) de la machine cible.
    Citation Envoyé par Spleeen Voir le message
    Mais Java n'est pas multiplateforme dans la pratique, donc bon. Qui n'a jamais modifier son code pour l'adapter à Linux, Windows ou Mac ? Tiens centre une fenêtre à l'écran alors !
    Ok je te l'accord pour centrer une fenêtre, c'est tricky :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    frame.setLocationRelativeTo ( null );
    Mais ça reste multiplateforme. Si tu utilise :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    frame.setLocationByPlatform(true);
    tu demandes à l'OS de positionner la fenêtre comme il veut, donc oui potentiellement, elle ne sera pas centrée, mais bon si tu ne lit pas la doc...
    Pour le coté, Java pas multiplateforme, il y a toujours de cas (dès qu'on utilise du natif), mais on ne les rencontres pas dans toutes les applications non plus.
    Citation Envoyé par Spleeen Voir le message
    - Des types primitifs peuvent servir, désolé.
    Pas compris le sens de ta remarque.
    Citation Envoyé par Spleeen Voir le message
    - Des pointeurs j'en veux quand même, na !
    Ba toute variable ce qui n'est pas primitive, est un pointeur en Java, même si c'est transparent pour le développeur. La preuve on peut mettre la variable à null.
    Citation Envoyé par Spleeen Voir le message
    - Pas de surcharges d'opérateurs... non mais allô quoi !
    Ok ça rend le langage un peu plus verbeux. Mais franchement, encore une fois, les cas de surcharge à bon escient des opérateurs sont très rares.
    Citation Envoyé par Spleeen Voir le message
    - Pas de raccourcis pour les TRÈS laborieux getters/setters ! Ni dans les param du constructeurs. Pas de destructeurs ! (faisons confiance au GC, hein )
    La je te l'accord rien de standard (il y a des API qui permettent de les générer pré-compilation). Je ne vois pas à quoi tu fait allusion quand tu mentionne les params du constructeur mais la plupart des IDE permettent d'affecter les params du constructeur (et n'importe quelles méthodes) à un nouveau champs ou un champs portant le même nom que le paramètre. Pour le destructeur, ayant fait du C++, c'est un truc qui me manque. J'arrive à faire sans mais c'est pas aussi propre qu'un destructeur.

  9. #49
    Membre chevronné
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Décembre 2007
    Messages
    677
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Gironde (Aquitaine)

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

    Informations forums :
    Inscription : Décembre 2007
    Messages : 677
    Points : 2 137
    Points
    2 137
    Par défaut
    Le java n’est pas prêt de disparaitre, il est omniprésent et possède des avantages indéniables.

    Pour l’anecdote, dans ma boite nous ne somme pas censé développer en Java (ce n’est pas du tout notre expertise) et pourtant une multitude d’outils (VDoc, Talend, etc...) nous "obligent" à mettre les mains dans le cambouis et donc à développer en Java.

    Bref, je ne m’inquièterais pas pour ce langage personnellement, je pense qu’il existera encore lorsque je prendrais ma retraite ^^

    Citation Envoyé par Traroth2
    Tu manipules des pointeurs en .Net ? Explique un peu, pour voir...
    Pour la culture =P , certains langages de la plateforme .Net te permettent effectivement de jouer avec les pointeurs (quand je dis "certains langages", je crois qu’il n’y a que Vb.Net qui ne permet pas de manipuler des pointeurs, pour les autres langages de la plateforme les pointeurs sont accessibles dans un contexte unsafe).

    Pour ce qui est des usages, disons que ça peut permettre de faire du marshalling pour interfacer du code managé avec une bibliothèque native (typiquement, écrite en C ou C++), bien que pour cela, personnellement, je préfère utiliser C++/CLI (le C++ managé de la plateforme .Net). Ou alors faire un peu de traitement d’image ponctuellement. Bref, ce n’est pas non plus tous les jours qu’on se sert des pointeurs en .Net, mais ça a le mérite d’exister.
    Le WIP de The last bastion, mon projet de jeu-vidéo (un TD en 3D)

    Mon portfolio / Ma page fb

  10. #50
    Membre émérite

    Profil pro
    Inscrit en
    Décembre 2003
    Messages
    3 995
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2003
    Messages : 3 995
    Points : 2 528
    Points
    2 528
    Par défaut
    Citation Envoyé par tomlev Voir le message
    C'est rarement utilisé, mais ça existe : http://msdn.microsoft.com/en-us/library/y31yhkeb.aspx
    Très utile pour faire du traitement d'image ou toute autre application où les performances sont critiques.
    Oui, je sais que ça existe. Mais c'est exécuté dans un contexte unsafe. Dans le même registre, on peut faire des appels JNI, en Java.

  11. #51
    Débutant
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    688
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2006
    Messages : 688
    Points : 176
    Points
    176
    Par défaut
    La situation est très simple.
    Ceux qui ont un intérêt à ce que cette technologie ne meurt pas(développe en Java pour vivre principalement) trouverons des arguments pour aller dans le sens du "oui java à encore un avenir radieux devant lui", ceux qui développe dans d'autre langages ont quant à eux intérêt à dire l'inverse pour se donner une plus-value sur le marché du travail.

  12. #52
    Modérateur
    Avatar de gangsoleil
    Homme Profil pro
    Manager / Cyber Sécurité
    Inscrit en
    Mai 2004
    Messages
    10 150
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Manager / Cyber Sécurité

    Informations forums :
    Inscription : Mai 2004
    Messages : 10 150
    Points : 28 119
    Points
    28 119
    Par défaut
    Citation Envoyé par guillaume07 Voir le message
    La situation est très simple.
    Ceux qui ont un intérêt à ce que cette technologie ne meurt pas(développe en Java pour vivre principalement) trouverons des arguments pour aller dans le sens du "oui java à encore un avenir radieux devant lui", ceux qui développe dans d'autre langages ont quant à eux intérêt à dire l'inverse pour se donner une plus-value sur le marché du travail.
    1/ Il est possible d'avoir un peu d'honnetete intellectuelle. Tu trouveras ici des gens qui font du Cobol qui peuvent tout a fait te montrer que oui, c'est un langage en declin, et qu'en meme temps ils ont du boulot pour 2.

    2/ La preuve, j'ai plutot defendu Java jusqu'ici, alors que j'y suis relativement allergique.
    "La route est longue, mais le chemin est libre" -- https://framasoft.org/
    Les règles du forum

  13. #53
    Membre éprouvé
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Janvier 2007
    Messages
    697
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France, Calvados (Basse Normandie)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Janvier 2007
    Messages : 697
    Points : 1 241
    Points
    1 241
    Par défaut
    Citation Envoyé par Carhiboux Voir le message
    Maintenant, à mon sens, Java est le langage qui offre à la fois le plus de liberté d'écriture tout en gardant une certaine rigueur dans le typage.
    Vis-à-vis de C++, je ne suis pas d'accord, le C++ est au moins, si ce n'est plus, aussi typé que Java, et niveau liberté d'écriture, avec les différents paradigmes (procédural, objet, template, fonctionnel...) présents, on fait difficilement plus libre.
    Citation Envoyé par Carhiboux Voir le message
    Avec un minimum de règles, on a vite un code java très lisible.

    Je ne peux pas en dire autant avec C++ ou C#. Dans le premier cas, je trouve que la lecture du code est beaucoup trop pollué par des questions annexes comme la gestion de la mémoire et des références. Dans le deuxième cas, c'est le contraire, je ne sais pas dire quel est le type de telle variable à priori, ce qui est parfois pratique, mais tout le temps trompeur.
    Par contre, niveau lisibilité et cohérence de style, je te l'accord, C++ à cause de sa trop grande liberté de codage n'est pas génial. Surtout sur un projet en équipe.

  14. #54
    Membre expert
    Avatar de Golgotha
    Homme Profil pro
    Full-stack Web Developer
    Inscrit en
    Août 2007
    Messages
    1 386
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Full-stack Web Developer
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Août 2007
    Messages : 1 386
    Points : 3 531
    Points
    3 531
    Billets dans le blog
    1
    Par défaut
    Pour commencer le JAVA est un des langages (si ce n'est le langage) le moins aimer des développeurs . Sur certains blog la pratique du JAVA en milieu pro peut être assimilé à se mettre un cactus dans le <ul> .. Pourquoi est il là ? Pas difficile, comme le COBOL, toutes les SSII ne jure que pas le JAVA et le J2EE. J'accorde au JAVA une seule vertu, il est bien fait pour les étudiants et pour faire des concepts, passé ça.. prenons quelques exemples : la stacktrace java, super trouvaille ça, le mec qui à pondu ça aurait voulu faire pire dans le genre chiantissime il n'aurait pas pu, après il y à toute la partie "branlette intellectuelle" de java avec tout ces paterns, la verbosité des noms, les factory de class abstraite qui sorte des class abstraite.. que seule celui qui a codé sait comment utiliser, ça c'est super, sans parler de struts/spring et du J2EE en générale, ou comment faire des site web avec un QI minimum de 254.. non, je n'aime pas le java, je déteste le java ! Pour moi la programmation ne doit pas être fait par et pour des élites, mais pour tout le monde.
    Consultant et développeur full-stack spécialiste du Web
    faq jQuery - règles du forum - faqs web

  15. #55
    Rédacteur/Modérateur


    Homme Profil pro
    Développeur .NET
    Inscrit en
    Février 2004
    Messages
    19 875
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Paris (Île de France)

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

    Informations forums :
    Inscription : Février 2004
    Messages : 19 875
    Points : 39 749
    Points
    39 749
    Par défaut
    Citation Envoyé par Traroth2 Voir le message
    Mais c'est exécuté dans un contexte unsafe.
    Et alors ? Unsafe, ça veut juste dire "attention, le runtime ne peut pas vérifier ce que tu fais, si tu fais de la m***e ça va péter". C'est juste pour inciter le développeur à faire un peu plus attention à ce qu'il fait...

  16. #56
    Membre chevronné

    Profil pro
    Inscrit en
    Décembre 2011
    Messages
    974
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2011
    Messages : 974
    Points : 1 825
    Points
    1 825
    Par défaut
    Citation Envoyé par Golgotha Voir le message
    tout ces paterns, la verbosité des noms, les factory de class abstraite qui sorte des class abstraite.. .
    les patterns and co sont liés à la POO donc pas réservés à java

  17. #57
    Expert éminent

    Avatar de deusyss
    Homme Profil pro
    Expert Python
    Inscrit en
    Mars 2010
    Messages
    1 659
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Ille et Vilaine (Bretagne)

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

    Informations forums :
    Inscription : Mars 2010
    Messages : 1 659
    Points : 8 442
    Points
    8 442
    Par défaut
    Personellement, je n'ai jamais aimé java. Les multiples mise à jours qu'ils nécessite et sa lourdeur dans beaucoup de domaine m'ont toujours parus des contraintes.

    Même s'il est bien documenté et beneficie d'une communauté active, principalement du à de nombreuses SSII qui en ont fait leur langage et ne veulent changer, cela fait quelques temps deja que j'annonce à mes collegues que pour moi c'est un langage mort. J'ajouterai que ces SSII ne reflechissent pas aux besoins reels du client: "Un appel d'offre? on va leur proposer du java". Vu et constater egalement pour des produit de production censé etre reactif. Verdict? un cata complete niveau perf, et e ne parle pas de la realisation...

    Ajouté à cela le rachat de sun par oracle, les proces de ce dernier envers ceux utilisant java (cf android de google), le "soi-disant" quiproquo de cet été sur la javadoc passé sous licence proprio, les antécédent mysql et open office, ...; bref pour moi, Java est condamné dans les 2 à 5 ans à venir.

    Pour le remplacer? Python, associé à du C. Ce couple permet de repondre à tous les besoins, il n'y a alors rien d'autre à connaitre pour moi.
    "La connaissance appartient à tout le monde" (Film Antitrust)

    Tout le nécessaire pour Python:
    *News/Accueil *Cours/tutoriels *FAQ
    *Forums *Outils dédiés *Mon espace personnel avec mes Articles, Cours et Tutoriels

  18. #58
    Expert éminent sénior
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Septembre 2012
    Messages
    3 020
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Finistère (Bretagne)

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

    Informations forums :
    Inscription : Septembre 2012
    Messages : 3 020
    Points : 16 092
    Points
    16 092
    Par défaut
    Citation Envoyé par Golgotha Voir le message
    Pour moi la programmation ne doit pas être fait par et pour des élites, mais pour tout le monde.
    Heu, hé bien justement, java est surement le langage le plus accessible qui permets le plus de choses.

    Pour moi, c'est le C++ qui est un langage réservé à l'élite tant il est complexe à manier. Il offre souvent de très bonnes solutions. Mais trop complexe selon moi.

    A contrario, le Java est exactement ce que tu décris, un langage accessible à tout le monde. Tellement que l'on voit de tout parmi les devs Java.

    Si tu trouves Java compliqué, je ne sais pas ce qu'il te faut... je vois dans ta signature que tu connais jQuery... bah pour ma part, j'ai plus de mal avec jQuery que Java. Mais je connais la cause: je manque de bases en Javascript. Donc je ne m'en étonne pas plus que ca.

    Maintenant, si tu as les bases du langage java et que tu prends le temps de lire des tuto, struts c'est finger in the nose. Ya genre trois concepts de base à comprendre et roule ma poule.

    Je connais même des devs qui ne comprennent pas le fonctionnement de Struts mais qui sont tout à fait capable de pondre une appli struts... Ils reprennent toujours la même recette sans se poser de questions inutiles.

    Bref, java est facilement accessible au masses parce que contrairement au C++ il ne s'occupe pas de ces horreurs que représente la gestion de la mémoire (là encore, je ne juge pas la valeur intrinsèque du langage, juste sa facilité d'utilisation ).

  19. #59
    Membre chevronné

    Profil pro
    Inscrit en
    Décembre 2011
    Messages
    974
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2011
    Messages : 974
    Points : 1 825
    Points
    1 825
    Par défaut
    Citation Envoyé par deusyss Voir le message
    Python, associé à du C. Ce couple permet de repondre à tous les besoins, il n'y a alors rien d'autre à connaitre pour moi.
    Pourquoi a-t-on alors inventé autant de langages ?

  20. #60
    Expert éminent

    Avatar de deusyss
    Homme Profil pro
    Expert Python
    Inscrit en
    Mars 2010
    Messages
    1 659
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Ille et Vilaine (Bretagne)

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

    Informations forums :
    Inscription : Mars 2010
    Messages : 1 659
    Points : 8 442
    Points
    8 442
    Par défaut
    Parce que beaucoup de gens trouve toujours pleins de choses a redire. Mais mes experiences personnelle et professionnelles, m'ont bien demontré que quand on connait ces deux langages, on sait s'adapater à tous les situations (et j'en ai rencontrés un certains nombres).

    Maintenant, à chacun son avis. Mais je pense que si le C est toujours autant enseigné, que java est en declin dans beaucoup d'ecole et d'université au profit de Python, ce n'est pas pour rien.
    "La connaissance appartient à tout le monde" (Film Antitrust)

    Tout le nécessaire pour Python:
    *News/Accueil *Cours/tutoriels *FAQ
    *Forums *Outils dédiés *Mon espace personnel avec mes Articles, Cours et Tutoriels

Discussions similaires

  1. Réponses: 20
    Dernier message: 17/11/2014, 19h33
  2. Java est-il un langage de programmation mourant ?
    Par Cedric Chevalier dans le forum Actualités
    Réponses: 168
    Dernier message: 18/10/2013, 13h08
  3. Créer appli web:Java est-il le langage idéal pour cette appli?
    Par Terminator dans le forum Général Java
    Réponses: 14
    Dernier message: 10/06/2011, 15h10
  4. [Archive] Quel est votre langage de programmation préféré ? (2004..2008)
    Par Idelways dans le forum Débats sur le développement - Le Best Of
    Réponses: 403
    Dernier message: 04/02/2009, 00h56
  5. Réponses: 2
    Dernier message: 15/07/2007, 21h03

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