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: Python successeur de Java ? (merci de justifier)

Votants
12. Vous ne pouvez pas participer à ce sondage.
  • Jamais !

    6 50,00%
  • Ne se prononces pas

    2 16,67%
  • C'est sur !

    1 8,33%
  • Autre techno.

    3 25,00%
Java Discussion :

Python - Successeur de Java ?


Sujet :

Java

  1. #1
    Membre habitué
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    116
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France

    Informations forums :
    Inscription : Juin 2007
    Messages : 116
    Points : 149
    Points
    149
    Par défaut Python - Successeur de Java ?
    Bonjour à tous,
    Tout d'abord je pense que Java est une technologie malheureusement veillissante et à part pour faire du Web n'a plus de valeur ajoutée.
    Et dans le cadre du web, les frameworks comme spring, struts2, gwt permettent de faire des choses intéressantes mais restent très très lourde.

    J'aimerais essayer d'estimer et d'avoir des retour sur vos avis sur disons 5 ans.
    Je pense que d'ici 5 ans, Java aura trop de retard, je pense que Python est le successeur de Java car il comble sa plus grosse faiblesse.... la vitesse.

    De plus Python conserve une bonne partie de la philosophie Java. Il doit être faisable de faire une librairie/framework/outil permettant de migrer du Java 5 ou 6 en Python frameworké, en gros convertir des EJB en package ou proposer une gestion des EJB Java en Python. Sachant qu'il existe déjà des frameworks web en Python, pourquoi ne pas refaire un spring ou un struts2 pour Python ?

    On aurais donc un langage relativement proche, mais avec les performances en plus, ce qui permettrais de combler une grosse partie du retard actuel.

    Et pour le côté client lourd ?
    PyQt pour faire du graphique ? un portage de JavaFX ? Il faut pouvoir faire des interfaces utilisateurs au niveau du WPF de .Net, sinon on est plus crédible....

  2. #2
    Modérateur
    Avatar de nouknouk
    Homme Profil pro
    Inscrit en
    Décembre 2006
    Messages
    1 655
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France

    Informations forums :
    Inscription : Décembre 2006
    Messages : 1 655
    Points : 2 161
    Points
    2 161
    Par défaut
    salut,

    Mon vote: non.

    Citation Envoyé par Plorf Voir le message
    Tout d'abord je pense que Java est une technologie malheureusement veillissante et à part pour faire du Web n'a plus de valeur ajoutée.
    Je ne vois pas personnellement ce que tu trouves de vieillissant dans Java. Au contraire, Java intègre dès le départ la notion de portabilité et de machine virtuelle vers laquelle les langages les plus récents (C# pour ne pas le nommer) se tournent désormais.

    Et dans le cadre du web, les frameworks comme spring, struts2, gwt permettent de faire des choses intéressantes mais restent très très lourde.
    Enfin, dire 'untel est plus rapide que untel' relève pour moi du troll (ou du relayage bête d'un discours de prof intégriste déconnecté de la réalité). Un langage sera plus rapide ou plus lent qu'un autre pour deux versions données, un algorithme donné, fonction de l'optimisation de implémentation de l'algorithme faite pour chaque langage, etc...

    Exemples ici:

    - d'un côté la gestion des listes est 2x plus rapide avec Psyco qu'avec Java ... qui lui même est 4.5x plus rapide que Python ; avantage large à Psyco donc.

    - mais deux lignes plus bas, si on regarde le test 'interpreter speed', Java devient 30x plus rapide que psyco et 90x plus rapide que python.

    Bref, vouloir dire 'Java est toujours plus "ceci ou cela" que Python' relève pour moi du non sens. C'est comme dans la 'vraie' vie: rien n'est jamais 'tout blanc' ou 'tout noir' et rien que d'un projet à un autre, les choses pourraient radicalement être différentes.

    Et même en admettant que Java soit objectivement moins performant que Python (dans tous les cas et pour tous les projets): au niveau d'un projet IT 'pro', acheter un serveur de plus (ou un serveur un peu plus costaud) ne coûte quasiment rien comparé à quelques jours.homme, donc ce n'est pas le problème prioritaire. D'autant que plus le temps passe, plus le prix du hardware pour combler une hypothétique différence de performances est à la baisse.


    Je pense que d'ici 5 ans, Java aura trop de retard
    Vouloir faire une projection à cinq ans me semble délicat étant donné qu'on n'a aucune information sur ce que pourrait faire Sun entre temps.

    De plus Python conserve une bonne partie de la philosophie Java. Il doit être faisable de faire une librairie/framework/outil permettant de migrer du Java 5 ou 6 en Python frameworké, en gros convertir des EJB en package ou proposer une gestion des EJB Java en Python.
    Ben Java sera toujours la seule manière d'être à 100% compatible avec Java ; si c'est pour recopier ce que fait déjà Java en python, on perd l'avantage (encore faut-il savoir lequel) du python.

    Sachant qu'il existe déjà des frameworks web en Python, pourquoi ne pas refaire un spring ou un struts2 pour Python ?
    Parce que ça coûterait beaucoup plus cher que de faire directement du Spring ou du Struts.

    Cela vaut également pour les milliers de librairies déjà développées (et pas toujours encore maintenues) et que personne ne voudra jamais re-développer à l'identique dans un autre langage (ou même prendre le risque de le faire tourner dans une sorte de 'mode de compatibilité' qui ne sera par définition pas aussi certain de fonctionner que le Java 'natif').


    Au dela de tout ça, il me semble qu'il y a deux énormes paramètres à prendre en compte et qui me font personellement penser que Java a encore (beaucoup) de très beaux jours devant lui:

    - le nombre de développeurs déjà spécialistes de java comparé au python. Vu d'une entreprise, ce point est crucial pour s'assurer un coût de développement aussi faible que possible: comme il y a des dév. Java à la pelle, on les paiera globalement moins cher que des dév. Python, car ces derniers sont plus difficiles à trovuer sur le marché de l'emploi.

    - le nombre de réalisation déjà faites en Java et qu'il faudra maintenir encore très longtemps.

    Il suffit de regarder du côté de cobol pour se rendre compte que la maintenance à très long terme est un point crucial pour les entreprises. Cobol est également un langage trèèèès vieux qui peut paraître totalement dépassé (sur certains points il l'est objectivement d'ailleurs). Mais quand une boite (typiquement une banque) a déjà tout son infrastructure qui tourne en Cobol, elle préférera se résigner à payer (très cher) des experts Cobol plutôt que devoir aligner les dizaines (centaines ?) de millions d'euros pour tout migrer dans une autre techno.
    Et justement, forte de cette expérience (malheureuse), l'industrie prête désormais une très grande attention à la pérennité des solutions technologiques choisie. Et pour le moment (et pour quelques années encore, j'en suis certain), on ne fait pas mieux que Java sur ce point, ne serait-ce que pour le nombre de développeurs Java dispos sur le marché.
    Mon projet du moment: BounceBox, un jeu multijoueurs sur Freebox, sur PC et depuis peu sur smartphone/tablette Android.

  3. #3
    Membre habitué
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    116
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France

    Informations forums :
    Inscription : Juin 2007
    Messages : 116
    Points : 149
    Points
    149
    Par défaut
    Je comprends très bien ton point de vue.

    Mais par exemple, pour faire des applications type clients lourd tu proposes quel framework java si l'on veux un rendu "moderne" type WPF, JavaFX ?

    JavaFX sera mûr et dispo avec un IDE intéressant d'ici combien de temps ? un ou deux ans ?

    Je sais que c'est une piste à troll, mais si au jour d'aujourd'hui on part de zéro, le choix de la techno est intéressante.

    Bien sûr que l'expertise Java est un facteur très important, mais pour une partie des applications que j'ai vu en entreprise, le soucis de performance reste présent, et faire du load balancing n'est pas forcément la réponse la plus intéressante je pense.

    Je ne connaissais pas Psyco et me semble effectivement très intéressant.

    Pour revenir à ce que tu disais, je pense que le temps de développement pour du Java resteras plus long que le même pour du Python pour des devs à expérience égale.

    Pour la migration de framework effectivement cela n'a probablement aucun intérêt.

    Sinon pour revenir à ton argument sur la durée de vie du langage je ne sais pas si c'est vraiment un bon argument, 1) il est très dur de trouver encore des devs cobol de moins de 30 ans et pour le cobol ce n'est pas le cas, mais typiquement pour les GUI, les technos actuelles sont clairement plus rapide à coder, à concevoir, à débugger et on des rendus absolument magnifique, impossible de le faire avec des technos trop vieilles. J'attends toujours de voir des interfaces façon WPF avec du Delphi 5...

    En fait je pense que ma principale déception vis-à-vis de Java ce situe sur le fait que Java (typiquement JEE) devient de plus en plus gros sans finalement ajouté une vraie dimension productivité, enfin je trouve, je reste un débutant...

  4. #4
    Membre chevronné Avatar de Mister Nono
    Homme Profil pro
    Ingénieur Mathématiques et Informatique
    Inscrit en
    Septembre 2002
    Messages
    2 232
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Ingénieur Mathématiques et Informatique
    Secteur : Santé

    Informations forums :
    Inscription : Septembre 2002
    Messages : 2 232
    Points : 1 897
    Points
    1 897
    Par défaut
    Citation Envoyé par Plorf Voir le message
    Bonjour à tous,
    Tout d'abord je pense que Java est une technologie malheureusement veillissante et à part pour faire du Web n'a plus de valeur ajoutée.
    Et dans le cadre du web, les frameworks comme spring, struts2, gwt permettent de faire des choses intéressantes mais restent très très lourde.

    J'aimerais essayer d'estimer et d'avoir des retour sur vos avis sur disons 5 ans.
    Je pense que d'ici 5 ans, Java aura trop de retard, je pense que Python est le successeur de Java car il comble sa plus grosse faiblesse.... la vitesse.

    De plus Python conserve une bonne partie de la philosophie Java. Il doit être faisable de faire une librairie/framework/outil permettant de migrer du Java 5 ou 6 en Python frameworké, en gros convertir des EJB en package ou proposer une gestion des EJB Java en Python. Sachant qu'il existe déjà des frameworks web en Python, pourquoi ne pas refaire un spring ou un struts2 pour Python ?

    On aurais donc un langage relativement proche, mais avec les performances en plus, ce qui permettrais de combler une grosse partie du retard actuel.

    Et pour le côté client lourd ?
    PyQt pour faire du graphique ? un portage de JavaFX ? Il faut pouvoir faire des interfaces utilisateurs au niveau du WPF de .Net, sinon on est plus crédible....
    Donc tu veux réinventer la roue avec Python ? Alors cela signifie que Python a beaucoup de retard sur Java.

    Une fois que Python fera tout comme Java, il sera aussi complexe à appréhender.

    Tu aurais demandé : Python successeur de PHP ? Cela aurait été plus approprié.

    A dans 5 ans.
    La connaissance ne sert que si elle est partagée.
    http://ms2i.net

  5. #5
    Rédacteur
    Avatar de lunatix
    Homme Profil pro
    Architecte technique
    Inscrit en
    Novembre 2002
    Messages
    1 960
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Architecte technique

    Informations forums :
    Inscription : Novembre 2002
    Messages : 1 960
    Points : 3 736
    Points
    3 736
    Par défaut
    bof, python apres un gros passage hype il y a quelques années n'a pas tellement progressé. peu utilisé en entreprise, toujours pas d'ide correct etc...

    voir le post http://groups.google.com/group/unlad...f544643e?pli=1 sur un google group pour voir que les performances de python sont loin derriere java.

    en gros j'y crois pas non

    a mon avis, si il doit y avoir un successeur a java, il tournera sur la JVM et sera surement un truc entre noop, scalaa et groovy.

  6. #6
    Membre chevronné

    Homme Profil pro
    Architecte logiciel
    Inscrit en
    Novembre 2006
    Messages
    1 252
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Architecte logiciel
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Novembre 2006
    Messages : 1 252
    Points : 1 954
    Points
    1 954
    Par défaut
    Curieux d'envisager que python pourrait être le successeur de java, alors que ruby l'enterre complètement.

    Oui c'est un troll.

  7. #7
    Modérateur
    Avatar de nouknouk
    Homme Profil pro
    Inscrit en
    Décembre 2006
    Messages
    1 655
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France

    Informations forums :
    Inscription : Décembre 2006
    Messages : 1 655
    Points : 2 161
    Points
    2 161
    Par défaut
    Citation Envoyé par Plorf Voir le message
    Je comprends très bien ton point de vue. Mais par exemple, pour faire des applications type clients lourd tu proposes quel framework java si l'on veux un rendu "moderne" type WPF, JavaFX ?
    Attention à ne pas me faire dire ce que je n'ai pas dit: mon psot précédent avait pour but de répondre à une question précise: Python remplacera-t-il java pour des questions de performances ?

    Ma réponse est non, du fait de l'énorme utilisation qui en est faite notamment dans les projets 'pro', typiquement pour le web (J2EE).

    Après je n'ai jamais dit que Java était le Saint Graal des langages le mieux adapté à tous les types de projets. D'ailleurs, s'il en existait un, depuis le temps ça se saurait et tous les autres auraient déjà périclité

    A nouveau, tout dépend du type de projet et de son environnement (typiquement : l'existant, les connaissances des dévs. impliqués, les qualités intrinsèques du langage, les frameworks et librairies tierces déjà disponibles, la prévision de la maintenance, les coûts de license, la portabilité et/ou l'environnement ciblé, etc ... la liste est (très) longue).

    Après, même pour un client lourd Java peut montrer ses atouts ; Eclipse n'est-il pas un excellent exemple de ce qu'on peut faire en Java ?
    Ceci étant dit, le domaine des IHM avec effets 'au goût du jour' n'est effectivement pas le point fort de Java ; Flash, Silverlight et d'autres langages s'avéreront probablement plus adaptés.

    Je sais que c'est une piste à troll, mais si au jour d'aujourd'hui on part de zéro, le choix de la techno est intéressante.
    Effectivement. Et dans ce cadre, ce que j'essaie de dire c'est pas que Python est à mettre à la poubelle (sinon, à nouveau, ça se saurait et Phyton n'existerait déjà plus) ; c'est juste que le choix d'un langage ne se fait pas sur un seul critère, mais sur une multitude dont la plupart n'ont rien à voir avec les capacités techniques de celui-ci (cf. mon exemple à propos de l'importance de la communauté de dév. pour le support et la maintenance à moyen et long terme)

    Bien sûr que l'expertise Java est un facteur très important, mais pour une partie des applications que j'ai vu en entreprise, le soucis de performance reste présent, et faire du load balancing n'est pas forcément la réponse la plus intéressante je pense.
    Certes, mais à nouveau on tombe dans les extrême. Concrètement, pour un projet 'type' (si tant est qu'il en existe un), la différence entre deux choix technologiques sera de l'ordre de 10%, allez 20% grand maximum.

    Et le surcoût pour un serveur 20% plus performant n'est en règle générale pas grand chose (quelques milliers d'euros) comparé à un consultant facturé 350€ à 500€ la journée. C'est ce qui se vérifie au jour le jour dans le monde 'pro' : rares sont les projets où le facteur 'performances' est un critère prépondérant dans le choix final (dans 95% des cas, c'est plutôt l'existant, dans le sens 'tout l'existant de l'entreprise cliente').

    Pour revenir à ce que tu disais, je pense que le temps de développement pour du Java resteras plus long que le même pour du Python pour des devs à expérience égale.
    A nouveau, ça dépend des projets et ce n'est qu'un critère parmi d'autres ; mais pour info un temps de développement ne se mesure au nombre de lignes de codes et J2EE offre des frameworks (Spring MVC, ...) qui accélèrent incroyablement le développement.

    1) il est très dur de trouver encore des devs cobol de moins de 30 ans et pour le cobol
    Je pense que tu as mal compris mes propos: le problème de trouver des dév. Cobol est justement majeur pour maintenir l'existant, et c'est le genre "d'épouvantail" qui fait que les DSI actuels seront d'autant plus tenté de choisir la techno la plus répandue plutôt que celle qui aura 5% de perfs ou de productivité supplémentaire. Et dans ce domaine, Java a un sérieux atout.

    En fait je pense que ma principale déception vis-à-vis de Java ce situe sur le fait que Java (typiquement JEE) devient de plus en plus gros sans finalement ajouté une vraie dimension productivité, enfin je trouve, je reste un débutant...
    Au contraire, l'écosystème qui tourne autour de J2EE est sans conteste un des plus étoffés : Struts, Hibernate, Spring, JBoss, Eclipse et ses milliers de plugins, etc... sont des perles chacun pris un par un.
    Mon projet du moment: BounceBox, un jeu multijoueurs sur Freebox, sur PC et depuis peu sur smartphone/tablette Android.

Discussions similaires

  1. Arrêt non souhaité programme Python lancé par Java
    Par a1331 dans le forum Général Java
    Réponses: 14
    Dernier message: 13/08/2013, 14h34
  2. Réponses: 2
    Dernier message: 07/06/2013, 13h01
  3. Module Python introuvable depuis Java
    Par flolebreton dans le forum Général Java
    Réponses: 0
    Dernier message: 18/04/2013, 16h55
  4. Réponses: 0
    Dernier message: 15/01/2009, 22h49
  5. Python VS Java
    Par AstraX dans le forum Langages de programmation
    Réponses: 12
    Dernier message: 04/07/2004, 17h13

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