Liens connexes

Dépêche modérée par

: Légende urbaine : un alligator dans le ramasse-miettes

Posté par jcs (page perso, ). Modéré le 05 juin 2003.
0
Ou comment couper court à certaines idées reçues sur les performances de Java. Un article paru dans le IBM developerWorks fait le point sur trois légendes urbaines très répandues sur la rapidité des applications écrites en Java : la synchronisation, les méthodes et classes déclarées final et les objets immuables. (PS : quelqu'un a une traduction plus heureuse pour immutable ?).

> Lire les commentaires (231 commentaires, moyenne: 1,7).  

Cette discussion est archivée, il n'est plus possible de laisser des commentaires.

Note : les commentaires appartiennent à ceux qui les ont postés. Nous n'en sommes pas responsables.

[+] Re: Légende urbaine : un alligator dans le ramasse-miettes

Posté par Brice Carpentier (Jabber id, page perso, ) le 05/06/2003 à 08:40. (lien). Évalué à -7.

attention chérie, ca va troller :)

--
Développeur OpenSource

Objets immuables

Posté par Mes Zigues () le 05/06/2003 à 08:47. (lien). Évalué à 1.

Objets persistants ?

perfs de java

Posté par Francois Revol (page perso, ) le 05/06/2003 à 08:59. (lien). Évalué à 15.

mais non java n'est pas lourd !
on fait même des serveurs X avec !

http://www.jcraft.com/weirdx/(...)
(il supporte même la transparence, bien avant les hacks de XFree)

Malheureusement la plupart des programmes pour java sont lourds, eux :-(

Re: Légende urbaine : un alligator dans le ramasse-miettes

Posté par B. franck () le 05/06/2003 à 09:15. (lien). Évalué à 3.

immuable ?

Re: Légende urbaine : un alligator dans le ramasse-miettes

Posté par Nicolas Delsaux (page perso, ) le 05/06/2003 à 09:26. (lien). Évalué à 15.

J'ai le rêve doux qu'un jour, les gens comprendront que Java en soi n'est pas lent. Malheureusement, c'est assez difficile de faire comprendre aux gens, même avec des benchs, que Java est aussi rapide qu'un autre langage. Pourquoi ?
Parce que la plupart du temps, les programmes sont codés avec des méthodes assez sales, inspirées des fameux "débuter Java en 21 jours" et autres âneries qui proposent l'utilisation des classes anonymes, internes et autres stupidités qui ont pour but unique de créer un maximum d'objets, alors que ça n'a aucun sens.
Malheureusement, pour qu'un développeur comprenne ça, il lui faut beaucoup de temps, et beaucoup de codes qui sont déja utilisés sont faits alors que le développeur ne le sait pas. Du coup, tout le monde croit que Java est lent, lourd, et tout ce qu'on veut.
Mais pourtant, Java est utilisé dans les nouvelles générations de portables, qui ne sont pas des foudres de guerre. Pourquoi ?
Parce que Java est sûr, facile à développer, et dispose de performances largement au niveau des autres langages.

--
"Putain, mais quelle fichue imagination je peux avoir ! ..."
John Brunner - Tous à Zanzibar

Re: Légende urbaine : un alligator dans le ramasse-miettes

Posté par alpage (Jabber id, page perso, ) le 05/06/2003 à 09:52. (lien). Évalué à 8.

Autres légendes urbaines :

- Linux est difficile à prendre en main pour les débutants
- Windows n'est pas fiable
- Perl permet de faire facilement du code illisible
- Les BSDistes sont des trolleurs

Comme quoi, dans les légendes, y a toujours une part de vrai ;)

Re: Légende urbaine : un alligator dans le ramasse-miettes

Posté par Bapt (page perso, ) le 05/06/2003 à 09:58. (lien). Évalué à 6.

On peut me dire ce que l'on veut sur la rapidité du Java : je veux bien le croire que c'est aussi rapide que du CPP, mais tu as la machine virtuelle dernière et c ça qui fait chier à mon avis (une fois qu'elle est lancée l'exécution peut être rapide).

En plus c bien beau de le dire mais si on prend deux exemple simple pour comparer Java et CPP :
Borland C++ Builder et Boland JBuilder, deux IDE propriétaires développés par la même boite (donc a priori la même rigueur de développement et de gestion de projet), il faudra alors m'expliquer pourquoi est ce que C++ Builder est bien plus "légé" et bien plus utilisable sur une machine équivalente que JBuilder.

Je peux prendre beaucoup d'exmple comme ça : pourquoi JEdit est une baleine (car s'en est une pour un éditeur texte), il a plein de fonctionnalité, mais bon.

Alors je le laisse bien la faute va retomber sur SWING, mais Java étant tout pourris au niveau UI sans SWING : rien de propre et d'intégré dans le JDK, pour faire un afficher correct en mode texte par exemple, ils sont ou les ncurses et autre termcap en Java pur !!!, on à pas le choix c SWING.

Quand a SWT, autant faire directement du CPP avec wxWindow, car pour c pas du java pur.

Enfin pour finir et pour dire que malgé tout j'aime bien JAVA, je viens d'essayer gcj-3.3 avec le support de SWING et AWT en compilation native, et là ouais le JAVA c bien :)

Re: Légende urbaine : un alligator dans le ramasse-miettes

Posté par Jean-Yves LENHOF (Jabber id, page perso, ) le 05/06/2003 à 10:38. (lien). Évalué à 5.

Je ne sais pas si cela fera avancer la discussion.... mais il y a ce document
http://www.internalmemos.com/memos/memodetails.php?memo_id=1321(...)

Mon avis personnel.... j'ai vu plus de machines enterrées à cause de Java qu'à cause de C, C++, Cobol.

Sinon au niveau programmation :

- Tjs utiliser le niveau max de warning (-Wall sur gcc) ..... si le compilo ns jette c'est qu'en général on n'est pas assez clair dans le code écrit (à priori le compilateur gcc est plus carré que le compilateur cc d'HPUX semble-t-il)

- Essayez l'Ada.... une fois que le programme compile (il est plus que carre le compilateur à ce niveau)....il y a de très forte chances pour que le programme fonctionne comme désiré.... C'est pas comme en C où le compilateur ne gueule pas et où on se mange un segmentation fault dans la tete de temps en temps parce que l'on a oublie de reserver de la memoire (c un peu pour ca que l'Ada est utilise sur Ariane) et regardez ce lien pour s'en convaincre http://www.adaic.org/whyada/ada-vs-c.html(...)

Sinon au niveau programmation Java :

- Pensez à catcher les exceptions correctement et pas juste mettre les instructions try & catch minimum pour que le compilo ne gueule pas

Et je précise que je n'aime pas la programmation c'est bien pour ca que j'ai choisi le métier d'inge systeme (meme si je suis de temps oblige de remettre les mains ds le camboui de temps en temps)

Re: Légende urbaine : un alligator dans le ramasse-miettes

Posté par Yngwiemanux () le 05/06/2003 à 12:11. (lien). Évalué à 2.

L'idée de pouvoir développer des applications indépendantes de la plateforme est séduisante. Mais à quel prix ? Quand je vois le nombre de personnes qu'il est nécessaire de mettre sur un projet Java comparé à des environnements plus traditionnels (souvent un rapport 2 à 3), je m'interroge sur les gains in fine, en terme de gestion de projet, de conception, de développement et de maintenance.

Je trouve que l'on est arrivé à de sacrées usines à gaz - proprio ou pas. En outre, je constate (mais des exceptions peuvent exister, il faut l'espérer) que nombre de "spécialistes" Java sont malheureusement infoutus d'appréhender la notion de système d'information dans son entièreté et donc incapable de concevoir un projet ou ses modules. Et une conception râtée, c'est un développement râté et donc un projet qui dérape et qui coûte la peau des fesses avant même la fin de la phase de recette.

A mon avis, en se concentrant sur les moyens de moderniser la technos qui sous-tendent le SI, on en a oublié l'objectif final: efficacité et productivité, ce pour quoi se destine l'outil informatique en général.

Ma conclusion à moi, mais qui ne veut pas définitive, c'est qu'entre les nouvelles technos (pas si neuves que ça d'ailleurs), les envies de se faire plaisir/mousser, les incompétences et les coûts faramineux engendrés, tout ça ressemble à un air de pipot.

Re: Légende urbaine : un alligator dans le ramasse-miettes

Posté par TImaniac (Jabber id, page perso, ) le 05/06/2003 à 16:09. (lien). Évalué à 0.

Sans vouloir rentrer dans un méchant troll, il faut tout de même rappeler que y'a pas que le Java et la JVM... et sans vouloir polémiquer, il me semble qu'il y a des (au moins une) alternnatives qui propose les même avantages, sans les inconvénients et avec d'autres avantages... (ca y est je vais me faire taper dessus) .NET pour ne pas citer d'exemple
Tant qu'à avoir une indépendance vis-à-vis de la plateforme, autant l'avoir aussi vis-à-vis du langage... les coûts de conversion ou de formation s'en trouve diminuer, et on n'est plus limité par une grammaire... chacun choisi... (Csharp, C++, VB même sous nux, Python, Perl, Eiffel, CAML, j'en passe, et des meilleurs que Java sur bien des points).
Sans parler de l'interopérabilité avec l'existant (COM, etc.)... encore du gain d'argent au développement pour un passage progressif...
et puis je veux pas dire, mais les spécifications de la machine virtuelle CLR sont normalisées et ouvertes à un consortium (dont Microsoft n'est qu'un des membres). Bref, même si c'est Microsoft qui a mis au point le premier environnement .NET digne de ce nom, je vois toujours pas pourquoi il n'est jamais mis en évidence face à Java... ou tout du moins face à la JVM (puisque on peut faire du Java sur une machine .NET, mais autant faire du Csharp :-p, clone plus évolué et moins limité )
Pour ce qui est des performances, il me semble qu'elle ne sont pas pire, tout du moins du même niveau.
Enfin bref, y'a des implentation libres de spécifications ouvertes qui existent, je vois toujours pas l'intérêt du Java face à ça...
Merci de ne pas me taper dessus :-)

Re: Légende urbaine : un alligator dans le ramasse-miettes

Posté par superpop () le 05/06/2003 à 19:52. (lien). Évalué à 2.

Je veux bien que java soit bien adapté pour les applications tels que les gros sites web avec J2EE ...

Mais franchement niveau GUI ou appli grand public, Java est un vrai flop ! Est ce que klk peut me citer une seule appli grand public sous Java qui vaille le coup ?

Ca fait quelque années que Sun promet une machine virtuelle plus rapide mais meme avec quelque améliorations tels que le JIT, on a rien vu ...et on verra surement jamais rien.

Re: Légende urbaine : un alligator dans le ramasse-miettes

Posté par Anthony () le 05/06/2003 à 21:45. (lien). Évalué à 1.

personnellement, j'ai ete assez bluffe par le possibilite offerte par sun d'ajouter le support (c un draft pour l'instant, le jsr14, je crois) de la genericite dans son dernier compilo. J'espere que ca passera bientot dans les specs de java....

un lien pour les curieux :
http://developer.java.sun.com/developer/technicalArticles/releases/(...)

Re: Légende urbaine : un alligator dans le ramasse-miettes

Posté par free2.org (page perso, ) le 06/06/2003 à 07:25. (lien). Évalué à 1.

Y'a aussi le problème des brevets et des copyrights détenus par Sun sur Java. MS et Jboss ont deja eu des problèmes avec Sun.

C'est d'ailleurs la même chose pour MS avec Mono .NET ...

Revenir en haut de page