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 ?).
Aller plus loin
# Re: Légende urbaine : un alligator dans le ramasse-miettes
Posté par Brice Carpentier . Évalué à -7.
[^] # Re: Légende urbaine : un alligator dans le ramasse-miettes
Posté par Tutur . Évalué à -5.
http://www.geocities.com/SiliconValley/Hills/9267/fuddef.html(...)
[^] # Re: Légende urbaine : un alligator dans le ramasse-miettes
Posté par Damien Pobel (site web personnel) . Évalué à -4.
https://damien.pobel.fr
# Objets immuables
Posté par Mes Zigues . Évalué à 1.
[^] # Re: Objets immuables
Posté par Guillaume Rousse (site web personnel) . Évalué à 4.
Persistant est un contre-sens par contre: ce n'est pas parce qu'un objet persiste qu'il ne change pas.
[^] # Re: Objets immuables
Posté par Simon Walter . Évalué à 2.
[^] # Re: Objets immuables
Posté par Roger Rabbit . Évalué à 8.
objet persistant = objet dont on peut enregistrer l'état et ainsi réactiver ultérieurement.
[^] # Re: Objets immuables
Posté par Benoît Bailleux (Mastodon) . Évalué à 3.
immutable (in "Webster's Revised Unabridged Dictionary")
\Im*mu"ta*ble\, a. [L. immutabilis; pref. im- not + mutabilis mutable. See Mutable.] Not mutable; not capable or susceptible of change; unchangeable; unalterable.
Le Robert contient la définition suivante :
IMMUTABLE [i(m)mytabl] adj.
- Rare et littér. Qui ne peut changer. - Immuable (plus cour.)
Alors en se la pétant rien qu'un peu, on peu utiliser ce terme tel quel (lequel a donné l'autre : l'Anglais, ou le Français ?)
[^] # Re: Objets immuables
Posté par NebuchadnezzaR . Évalué à 8.
le latin ;-)
[^] # Re: Objets immuables
Posté par Brice Carpentier . Évalué à 1.
j'avais un prof de java qui nous mettait ca a chaque cours on a jamis compris pourquoi !
(oui, vous pouvez moinsser, mais attendez svp qu'il réponde c important)
[^] # Re: Objets immuables
Posté par let antibarbie = xp <- xp - 1 . Évalué à 6.
[^] # Re: Objets immuables
Posté par huhuhu . Évalué à 3.
[^] # Re: Objets immuables
Posté par Brice Carpentier . Évalué à 1.
[^] # Re: Objets immuables
Posté par fasthm . Évalué à 3.
les sketchs, on voyait john cleese apparaitre et déclarer :
"and now for something completly different".
cf le splash screen de la demo de wxpython par exemple :-)
La gent féminine, pas la "gente", pas de "e" ! La gent féminine ! Et ça se prononce comme "gens". Pas "jante".
[^] # Re: Objets immuables
Posté par Hyacinthe De Cavallère . Évalué à 7.
Ce n'est pas un spectacle des monty python, mais une phrase récurrente de l'emission 'Monty Python Flying Circus' que John Cleese, assis derrière un bureau, déclamait en dehors de tout contexte (comme d'habitude chez les Pythons).
C'est une phrase très connue outre manche (et chez les anglophones) au point qu'une publicité (je ne sais plus pour quel produit) s'en ait servi. De nombreux comiques l'utilisent également comme référence culturelle....
</Culture Monty Python>
[^] # Re: Objets immuables
Posté par CyrMon . Évalué à 2.
Il est à noter que la véritable citation est, comme dit plus haut, "And now, for something completely different".
[^] # Re: Objets immuables
Posté par LeMagicien Garcimore . Évalué à 3.
Voilaaaaa
[^] # Re: Objets immuables
Posté par Brice Carpentier . Évalué à 0.
et maintenant moinssez moi ca ;)
[^] # Re: Objets immuables
Posté par jerome (site web personnel) . Évalué à 2.
[^] # Re: Objets immuables
Posté par Tony Flow . Évalué à 3.
N'oublions pas également que le terme SPAM vient également d'un de leur sketch !
(héhé, j'adore John Cleese dans le Ministère des Démarches Ridicules)
[^] # Re: Objets immuables
Posté par Benoît Bailleux (Mastodon) . Évalué à 1.
[^] # Re: Objets immuables
Posté par Eric Boulat . Évalué à 1.
[^] # Re: Objets immuables
Posté par Jean-Marc Leroy . Évalué à 1.
# perfs de java
Posté par Francois Revol (site web personnel) . Évalué à 10.
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: perfs de java
Posté par Sami Dalouche . Évalué à 4.
et hop, pas plus lourd que le reste, avec l'avantage en prime d'avoir un beau code ...
sam
[^] # Re: perfs de java
Posté par let antibarbie = xp <- xp - 1 . Évalué à 6.
IMHO ca dépends plus de la façon de développer l'appli.
Maintenant y'a toujours le probleme de la grosse consommation de mémoire qui contribue sur les systèmes un peu faiblots à faire couler les performances (e.g. si obligé de swapper ou si XP).
Maintenant y'a aussi un probleme de chargement initial de la JVM (hmm je sais pas trop a quoi c'est dû, ptet kil alloue par défaut une certaine quantité mémoire de base au lancement).
[^] # Re: perfs de java
Posté par let antibarbie = xp <- xp - 1 . Évalué à 0.
[^] # Re: perfs de java
Posté par rhizome . Évalué à 0.
[^] # Re: perfs de java
Posté par Guillaume DESRAT . Évalué à 4.
[^] # Re: perfs de java
Posté par Nim . Évalué à 0.
Une erreur courrement faite on dirait :).
[^] # Re: perfs de java
Posté par boubou (site web personnel) . Évalué à 6.
[^] # Re: perfs de java
Posté par Tutur . Évalué à 1.
[^] # Re: perfs de java
Posté par durandal . Évalué à 3.
[^] # Re: perfs de java
Posté par imr . Évalué à 4.
[^] # Re: perfs de java
Posté par Aurelien Gateau (site web personnel) . Évalué à 4.
Oups désolé, c parti tout seul
[^] # Camelidés (fut: Re: perfs de java)
Posté par Christophe GRAND (site web personnel) . Évalué à 2.
Une erreur courrement faite on dirait :).
Les clopes Camel aussi ont pour emblème un dromadaire.
Les anglophones désignent par camel n'importe quel camélidé. Le dromadaire étant le dromedary et et la chameau le bactrian camel.
[^] # Re: perfs de java
Posté par Sami Dalouche . Évalué à -1.
alors vive les applis java/gnome en gcj, qu'on puisse un peu oublier le c....
(a quand le kernel linux en java gcj ? lol)
sam
[^] # Re: perfs de java
Posté par Nicolas Antoniazzi (site web personnel) . Évalué à 2.
Je ne sais pas si vous avez testé la plateforme de développement eclipse, mais sa vitesse n'a compètement rien à voir entre windows et linux. Je n'irai pas jusqu'à dire que sous windows ça tourne à fond, mais au minimum 2 fois plus vite que sous linux. En tout cas pour la réactivité d'affichage des fenetres, y'a pas photos.
Je ne sais pas trop qu'elle en est la cause (peut-être XFree)... Mais je trouve ca un peu dommage.
Enfin, de toute manière ça ne m'empeche pas de l'utiliser sous linux même si ca ramouille un peu parce que c'est tout de même bien pratique :)
[^] # Re: perfs de java
Posté par Antoine Reilles (site web personnel) . Évalué à 4.
j'avais posté un journal a ce sujet, mais il semble que pour la jvm de sun, ils aient fait un gros effort sur la version windows, avec un garbage collector performant, et une bonne répartition de charge. Sur un bi-pro, avec une appli multithreadée, les deux procs sont utilisés a fond, et si l'appli ne l'est pas, les deux procs sont bien utilisés aussi, par la jvm, alors que sous linux c'est catastrophique
est ce que c'est volontaire ? probablement !
d'un autre coté, la jvm de blackdown a l'air plus optimisée que les autres, alors a quand une jvm totalement libre ? ça aiderai sûrement, non ?
[^] # Re: perfs de java
Posté par Nicolas Antoniazzi (site web personnel) . Évalué à 5.
Proposed Items (Eclipse Platform subproject, Responsive UI theme)
The following work items are being actively investigated, but we are not yet able to promise any solution for this release:
( new) Address platform-specific UI performance problems. There is a noticable UI performance and responsiveness difference between Eclipse running on Windows and Eclipse running on Linux GTK, Linux Motif, or QNX Photon, all on the same hardware, with Windows clearly outperforming the others. Improvements made to SWT alone have not reduced this "performance gap" enough. In order to improve Eclipse performance in the other operating environments, we need to make a concerted effort to determine the root causes (suspects include low-level thread scheduling and synchronization), and then take steps to address them. [SWT, Platform UI] [Theme: Responsive UI]
[^] # Re: perfs de java
Posté par let antibarbie = xp <- xp - 1 . Évalué à 1.
[^] # Re: perfs de java
Posté par Roger Rabbit . Évalué à 1.
des fenetres. c'est flagrant ...
Un début d'explication a été donné sur le site www.javagaming.org ... le mec en question dirigait la team Swing/Java2D chez sun, et son explication
au problème était que la conception d'XFree rendait très délicate l'implémentation de composants GUI speed. [ je n'ai pas retrouvé ce passage, le site a été updaté il y a un an et le forum a été perdu , dsl ].
Peut etre que les raisons avancées ne sont que les prémices d'un beau
troll dans le but de masquer leur incompétence, mais c'est néanmoins la seule explication qu'il a donné .
L'équipe de sun a fait aussi beaucoup d'efforts sur les libs relatives au développement de jeux vidéos [ xbuffering, page swapping, stockage des données en ram video, vrai fullscreen .... etc ] , et malheureusement à ma connaissance ces fonctionnalités ne sont disponibles que sous plateforme win.
A l'heure actuelle je ne vois que l'association gcj/swt pour construire des gui speed ... c'est bien dommage :'((
[^] # Re: perfs de java
Posté par Roger Rabbit . Évalué à 2.
October 15, 2002
Guest Speakers: Calvin Austin, Hui Huang, and Juergen Kreileder
Moderator: Edward Ort (MDR-EdO)
http://developer.java.sun.com/developer/community/chat/JavaLive/200(...)
extrait :
" The biggest issue with Linux is the number of threads and the thread overhead."
[^] # Re: perfs de java
Posté par Gniarf . Évalué à 0.
(et non, ce n'est pas un troll)
[^] # Re: perfs de java
Posté par Trick . Évalué à 1.
Sinon est-ce que ce ne serait pas un remède à la lenteur du X et de libérer aussi la mémoire X pour la machine virtuelle Java qui en bouffe pas mal?
[^] # Re: perfs de java
Posté par marvin . Évalué à 1.
Yep. On remarquera également l'absence sous linux d'une version officielle de l'API Java de communication (javax.com), permettant entre autres l'accès à un port série/parallèle. Il existe bien une alternative (la classe "gnu.io.RXTXCommDriver", par Kevin Hester) mais celle-ci prend en compte uniquement les ports séries...
[^] # Re: perfs de java
Posté par Laurent Vaills . Évalué à 2.
De plus cette implémentation n'est pas seulement disponible que sous Linux mais aussi sous Windows, SparcSolaris et MacOs me semble-t-il.
http://www.rxtx.org(...)
[^] # Re: perfs de java
Posté par marvin . Évalué à 1.
Ooops, effectivement, je m'était basé sur le site de Kevin
(http://www.geeksville.com/~kevinh/linuxcomm.html(...)):
>There is no parallel port support. If you'd like to add this support, please join the RXTX development effort.
L'information date un peu, apparement :)
[^] # Re: perfs de java
Posté par boubou (site web personnel) . Évalué à 2.
[^] # Re: perfs de java
Posté par Roger Rabbit . Évalué à 2.
[^] # GTK...
Posté par Francois Revol (site web personnel) . Évalué à 1.
[^] # Re: GTK...
Posté par Roger Rabbit . Évalué à 1.
[^] # Re: perfs de java
Posté par Pat Le Nain . Évalué à 1.
[^] # Re: perfs de java
Posté par Roger Rabbit . Évalué à 5.
plus d'info là :
Sur les nouveautés Swing
http://java.sun.com/j2se/1.4.2/docs/guide/swing/1.4/Post1.4.html#1.(...)
Sur le 1.4.2
http://developer.java.sun.com/developer/community/chat/JavaLive/200(...)
Sur SWT
http://dev.eclipse.org/viewcvs/index.cgi/~checkout~/platform-swt-ho(...)
[^] # Re: perfs de java
Posté par Thomas Cataldo (site web personnel) . Évalué à 2.
[^] # Re: perfs de java
Posté par manuel . Évalué à 1.
SWT par contre utilise bien le toolkit natif de la plateforme (gtk, mfc ou motif suivant l'os).
Heu... mfc n'est pas le toolkit natif de win.
[^] # Re: perfs de java
Posté par harbort . Évalué à 1.
Ça c'est ton point du vue ... et personnellement, je n'aime pas du tout lire/relire du code en java !
[^] # Re: perfs de java
Posté par boubou (site web personnel) . Évalué à 1.
Bof. Rien ne prouve qu'un code compilé en natif soit plus efficace qu'un code compilé en JIT (tu me diras qu'on pourrait avoir du JIT dans GCJ (on est d'ailleurs obligé pour faire du vrai Java), mais bon, ça devient n'importe quoi). En "regardant" un code java tourner, on peut faire des optimisations très sioux qui ne peuvent pas être faites statiquement...
[^] # Re: perfs de java
Posté par Christophe GRAND (site web personnel) . Évalué à 1.
Une fois "jitté" certes ! Mais il faut bien que le compilo JIT fasse son boulot alors qu'avec un compilo classique c'est déjà fait.
Le régime permanent est similaire dans les deux cas mais l'une des deux solutions crée un régime transitoire beaucoup plus important ce qui se traduit par un manque de réactivité.
Moralité :
Si tu as une appli qui ne s'arrête jamais le code compilé en natif n'est pas plus efficace qu'un code compilé en JIT.
Si tu as une appli utilitaire que tu n'arrêtes pas de lancer et d'arrêter, là le code natif est meilleur.
[^] # Re: perfs de java
Posté par boubou (site web personnel) . Évalué à 2.
[^] # Re: perfs de java
Posté par boubou (site web personnel) . Évalué à 2.
[^] # Re: perfs de java
Posté par Jerome Herman . Évalué à 3.
A condition bien sur que le passage par le regime transitoire ne permette pas de recuperer le temps perdu.
Il n'est pas rare du tout que le retour sur investissement en JIT se fasse des le deuxieme passage dans une zone de tests. Un compilateur JIT est capable de determiner si la realisation d'un test est susceptible de changer ou pas, et si il y a des portions du tests qui seront toujours fausses. De la il peut parfaitement optimiser le compile.
Au premier passage on aura Evaluation de la zone de test+compilation+evaluation optimisee du resultat, des le deuxieme on aura directement evaluation optimisee du resultat. Un language pur compile est incapable de faire ca. Sur des tests "lourds" l'overhead de java est negligeable au premier passage, et le gain au deuxieme est souvent monstrueux.
Moralite :
Si il y a des portions de ton programme qui servent plus d'une fois lors d'une utilisation standard, le JIT peut reserver des surprises.
Kha
[^] # Re: perfs de java
Posté par HappyCrow . Évalué à 0.
oui mais c'est interprete donc c'est forcement plus lent que ce qui est compile...
Pour des langages interpretables et compilables et independant de l'OS (toutes les librairies Java ne sont pas compilables!):
Le langage OCaml (francais)
http://caml.inria.fr(...)
Le langage Scheme (americain)
http://www.swiss.ai.mit.edu/projects/scheme/index.html(...)
Pour etre sur une bonne fois pour toute que "JAVA EST BIEN UNE USINE A GAZ"
(le lien qui suit est un comparatif de la plupart des langages)
http://www.bagley.org/~doug/shootout/(...)
Java se fait ramasser dans la plupart des tests...par OCaml par exemple.
Mon avis perso: Java ce n'est bien qu'une mode et seule la puissance commerciale
de SUN en est la cause...
# Re: Légende urbaine : un alligator dans le ramasse-miettes
Posté par B. franck . Évalué à 3.
# Re: Légende urbaine : un alligator dans le ramasse-miettes
Posté par Nicolas Delsaux (site web personnel) . Évalué à 10.
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.
[^] # Re: Légende urbaine : un alligator dans le ramasse-miettes
Posté par Roger Rabbit . Évalué à 1.
Je voulais juste préciser que l'utilisation en soi de classes anonymes ou internes n'est pas une stupidité ... c'est leur mauvaise utilisation - ie la gestion de la création d'objet - qui peut poser problème.
[^] # Re: Légende urbaine : un alligator dans le ramasse-miettes
Posté par Moby-Dik . Évalué à 1.
C'est le principal problème de Java. Maîtriser Perl ou PHP, ça prend trois jours (allez, une semaine pour Perl). Java est le pain-bénit des charlatans qui vendent de l'"expertise" et du "consulting" à tout va à de pauvres gens dupés par la propagande des magazines informatiques.
[^] # Re: Légende urbaine : un alligator dans le ramasse-miettes
Posté par Yusei (Mastodon) . Évalué à 5.
Disons que je le maîtrise assez pour pouvoir écrire mes programmes, mais pas assez pour pouvoir comprendre à coup sûr ce que fait le programme de quelqu'un d'autre... Les joies du "Il y a plusieurs manières de le faire" :-)
[^] # Re: Légende urbaine : un alligator dans l e ramasse-miettes
Posté par Roger Rabbit . Évalué à 5.
n'y a qu'une api majeure qui réalise bon nombre de choses. C'est selon
moi un gros [+]. Pas besoin de se prendre la tete à comparer les Xmilles libs dispos qui font la meme chose, plus ou moins différement.
Tu dis que maitriser PHP prend 3 jour, maitriser perl prendrait 1 semaine. Bon la c'est net tu n'es pas sérieux :) Tous les gens qui font du php on fait au minimum 3 jour de php ... pourtant tout le monde n'est pas un php
guru ... et a regarder de plus pres du code php on observe qu'il a ceux qui
savent [ bien ] coder du php et les autres ... idem pour perl .... ne connaissant que peu perl et si j'avais a en faire, l'expertise d'un guru perl me semblerait la bienvenue.
[^] # Re: Légende urbaine : un alligator dans l e ramasse-miettes
Posté par Moby-Dik . Évalué à 0.
Sérieusement. Je n'ai pas parlé de devenir un "gourou", mais d'être capable de programmer correctement. PHP est à peu près le langage le plus beginner-friendly à l'heure actuelle ; Java est à l'opposé. Trouve-moi un doc aussi concis, simple, accessible que le manuel officiel PHP pour se mettre le pied à l'étrier en Java. Pour programmer correctement, tu n'as pas besoin de connaître l'API par coeur ; il suffit de connaître le langage et de s'être familiarisé avec la structure de l'API (à condition d'avoir une doc correcte à disposition, ce qui est le cas pour PHP).
Pas besoin de se prendre la tete à comparer les Xmilles libs dispos qui font la meme chose
Je n'ai pas parlé des XWindowseries, j'ai parlé de PHP et Perl. Les principaux modules de PHP sont livrés dans la distribution standard. Pour Perl, il y a CPAN. Je ne connais pas Python mais j'imagine qu'il y a ce genre de choses aussi.
Quant à Java, l'API est centralisée mais elle est mammouthesque.
et a regarder de plus pres du code php on observe qu'il a ceux qui
savent [ bien ] coder du php et les autres
Qu'est-ce que tu essaies de démontrer ? Ce n'est pas parce qu'un langage est plus facile qu'un autre qu'il n'y a pas de mauvais programmeurs. Ce n'est pas parce qu'on arrive pas à lire un programmer Perl mal foutu qu'on n'est pas capable de programmer correctement en Perl.
[^] # Re: Légende urbaine : un alligator dans l e ramasse-miettes
Posté par shbrol . Évalué à 1.
[^] # Re: Légende urbaine : un alligator dans l e ramasse-miettes
Posté par Mickaël Rémond (site web personnel) . Évalué à 1.
Mickaël
[^] # Re: Légende urbaine : un alligator dans l e ramasse-miettes
Posté par vrm (site web personnel) . Évalué à 4.
90% du code php c'est programmé rapide et mal (voir le support objet de php..)
[^] # Re: Légende urbaine : un alligator dans l e ramasse-miettes
Posté par Amand Tihon (site web personnel) . Évalué à 7.
Ce langage qui semble si attrayant quand on le découvre alors qu'on sort du C/C++ se montre vite assez ignoble.
Tu parles du support objet bancal, mais il y a aussi les inconsistances dans le nommage des fonctions... même au sein d'une seule "lib" ( http://www.php.net/manual/en/ref.strings.php(...) ), certaines fonctions agglutinent, d'autres utilisent le _ pour séparer les mots : stripslashes() vs. strip_tags() par exemple.
Sans oublier que « c'est tellement facile » qu'on se retrouve avec un source où structure HTML et instructions php se mélangent allègrement...
Vous l'aurez compris, je n'aime plus ce langage :)
[^] # Re: Légende urbaine : un alligator dans l e ramasse-miettes
Posté par _seb_ . Évalué à 7.
Rappellons également que PHP est un language très jeune, 7/8 ans pas beaucoup plus AMHA.
Ses performances, ses "libertés" de programmation (tu peux faire des choses très vite fait et mal codées mais qui fonctionnent ou faire du code très propre) sont des atouts très interressants pour des developpements (web) qui évoluent en permanance. PHP est bien fait pour ce genre de chose. Le p'tit stagiaire va pouvoir faire sa page web sans trop de problème et rapidement être motivé pour faire la suite.
Java, c'est un gros bouzin dont les fonctionnalités sont énormes (et interréssantes) mais qui necessite une expertise pointue (de l'experience et des connaissances). Les projets qui utilisent java pour faire du java, on en voit trop souvent et on voit bien dans le code qu'ils ne profitent en rien des suptilités du language (objet qui ressemble à une grosse bibliothèque de methodes).
Java, pourquoi pas ? ou plutôt Java ! Pourquoi ?
[^] # Re: Légende urbaine : un alligator dans l e ramasse-miettes
Posté par xsnipe . Évalué à 1.
La version 5 est très alléchante.
[^] # Re: Légende urbaine : un alligator dans l e ramasse-miettes
Posté par Moby-Dik . Évalué à -4.
C'est marrant tous les gens qui sont allergiques au mélange code/HTML. C'est pourtant un des avantages d'un langage comme PHP. Note : personne ne t'oblige à mélanger code et HTML ; mais tu en as la possibilité et c'est très bien comme ça (sauf pour les intégristes fatigants de la programmation élitiste qui voudraient bien forcer les autres à ne programmer que d'une manière standardisée).
Et si le programmeur est mauvais ou paresseux, ce n'est pas le langage qu'il faut remplacer.
[^] # Re: Légende urbaine : un alligator dans l e ramasse-miettes
Posté par Moby-Dik . Évalué à -2.
voir le support objet de php.
Ca ne gêne que ceux qui ne jurent que par l'objet et ne comprennent pas le bénéfice de la simplicité. PHP a au moins l'intérêt de proposer de l'objet en plus du procédural, alors que Java ne connaît pas le procédural, ce qui oblige à faire de la conception lourde pour la moindre petite appli. Remarque, c'est bien, ça gonfle le prix des prestations, ce qui rejoint mon propos du départ.
[^] # Re: Légende urbaine : un alligator dans l e ramasse-miettes
Posté par Gloo . Évalué à 3.
J'ai vu du C plus agreable que du java. L'inverse aussi. Depend des codeurs et du lecteur, pas du langage. L'objet est supposé se rapprocher de la façon dont l'Homme apprehende les choses.
"Java ne connaît pas le procédural"
J'ai vu des methodes de 300 lignes en java... je crois que l'on est loin de l'objet avec son identité, son comportement et son état... ou d'une conception compliquée: y en a pas.
"ce qui oblige à faire de la conception lourde pour la moindre petite appli"
cf plus haut.
"ce qui rejoint mon propos du départ."
L'histoire des charlatans ? C'est pareil dans tous les secteurs, pour toutes les technos.
"les intégristes fatigants de la programmation élitiste qui voudraient bien forcer les autres à ne programmer que d'une manière standardisée"
Ou qui voudraient simplement faire passer des moulinettes dans le code ? Qui voudraient que les gens puissent se comprendre et travailler efficacement ensemble ?
Il y a de vrais integristes fatiguants quelle que soit la techno.
"Ca ne gêne que ceux qui ne jurent que par l'objet et ne comprennent pas le bénéfice de la simplicité"
Ceux qui ne comprennent rien à l'objet, pensent que c'est plus compliqué que du procedural.
Enfin bon, je te sens aigri avec Java. Perso, je m'en fiche. C'est un langage comme un autre et je pensais que ca allait troller plus sur l'article qui a lui seul vaut dejà 150 commentaires, mais qui auraient été probablement plus interessant que ton troll de petit joueur.
Bref, je te rejoins que sur un seul truc. Java, c'est proprio.
[^] # Re: Légende urbaine : un alligator dans l e ramasse-miettes
Posté par Fabimaru (site web personnel) . Évalué à 0.
En poussant un peu plus loin, tu vas me dire que tu peux faire quelque chose de lisible avec du brainfuck, puisque ça dépend du codeur et du lecteur:
http://www.muppetlabs.com/~breadbox/bf/(...)
[^] # Re: Légende urbaine : un alligator dans le ramasse-miettes
Posté par boubou (site web personnel) . Évalué à 1.
Quel humour ! Tu maîtrises les regexp Perl en une semaine ? Tu maîtrises la sémantique délirante de Perl en une semaine ? Tu peux relire un programme évolué en Perl en une semaine ? Quel pipo lamentable.
[^] # Re: Légende urbaine : un alligator dans le ramasse-miettes
Posté par Moby-Dik . Évalué à -1.
Je te donne un mois pour Perl si ça te chante ;-) Ca ne change rien au fait que c'est dix fois moins que pour Java.
(quand même, pour répondre : les regexps, ça existe en-dehors de Perl, même si celles de Perl ont plus de fonctionnalités ; la "sémantique délirante", je vois pas, toutes les structures classiques sont très compréhensibles, les machins exotiques étant superflus pour l'écriture d'un programme normal ; "relire un programme évolué", oui, s'il est bien écrit, et je dirais même plus qu'en Java : ce n'est pas ma faute si certains programmeurs Perl sont des amateurs d'obfuscation, et ça ne change rien à l'utilisabilité du langage en lui-même)
[^] # Re: Légende urbaine : un alligator dans le ramasse-miettes
Posté par tcws . Évalué à 1.
Perl c'est vraiment bien :)
[^] # Re: Légende urbaine : un alligator dans le ramasse-miettes
Posté par LeMagicien Garcimore . Évalué à 3.
Ce sont des classes commes les autres une fois compilées.
Je vois pas pourquoi elle pourraient ralentir le programme...
[^] # Re: Légende urbaine : un alligator dans le ramasse-miettes
Posté par Yusei (Mastodon) . Évalué à 3.
Personnellement je n'aime pas le langage Java (et pourtant je m'en suis assez bouffé pour programme relativement proprement... enfin autant que possible, en Java), donc que les implémentations soient rapides ou pas, c'est la même chose.
Pour le type de programmes que je fais, par exemple, Ruby est bien plus rapide, alors que c'est un langage (interprété) réputé lent. Pour ce que je fais, il est plus rapide en temps de développement, et (au feeling) plus rapide à l'exécution... Mais je ne fais pas des calculs scientifiques avec, par exemple, je ne prétend pas être un benchmark vivant :-)
[^] # Re: Légende urbaine : un alligator dans le ramasse-miettes
Posté par boubou (site web personnel) . Évalué à 2.
Oui, enfin, les classes anonymes et internes, c'est fait pour implémenter des pointeurs sur fonction objets, alors dans ce genre de cas, l'inlining est par définition impossible. Donc ça ne change rien. D'autre part, je ne suis pas sûr du tout que le chargement des classes prennent vraiment du temps en Java et de toute manière, c'est négligeable sur un programme qui tourne plus de quelques secondes.
Ceci étant, si le sens de ton post est de dire qu'il manque des pointeurs sur fonction en Java, c'est un point de vue qui se défend, mais un tel ajout demanderait la modification de la JVM, alors bon...
[^] # Re: Légende urbaine : un alligator dans le ramasse-miettes
Posté par Yusei (Mastodon) . Évalué à 1.
Non, je ne trouve pas que ça manque. D'ailleurs je ne faisais qu'expliquer ce que voulait dire le monsieur plus haut, en précisant que moi même je doutais que ça soit réellement sensible niveau performances.
[^] # Re: Légende urbaine : un alligator dans le ramasse-miettes
Posté par Nicolas Delsaux (site web personnel) . Évalué à 1.
Quant aux pointeurs sur fonctions, ils sont disponibles beaucoup plus facilement en utilisant correctement les interfaces. On appelle çàa du design by contract ;-)
Et pour les vrais porcs, il y a aussi l'objet Method qui, lui, est un vrai pointeur sur fonction, ou plutôt pointeur sur méthode.
[^] # Re: Légende urbaine : un alligator dans le ramasse-miettes
Posté par boubou (site web personnel) . Évalué à 2.
Ce n'est pas seulement le chargement de classes qui est long,c 'est aussi le fait qu'à chaque appel de la méthode définissant la classe, on crée une nouvelle instance. Et ça, c'est long.
Je ne vois pas en quoi les classes anonymes changent quelque chose à ça. Pour programmer une classe anonyme, il faut se baser sur une interface. Si tu n'implémentait cette interface par une classe anonyme, tu le ferais par une classe normale et tu aurais exactement le même nombre de chargement de classe et de création d'instance, sauf si tu programmes comme un porc, ce qui n'a rien à voir avec les classes anonymes.
Quant aux pointeurs sur fonctions, ils sont disponibles beaucoup plus facilement en utilisant correctement les interfaces. On appelle çàa du design by contract ;-)
Oui, donc tu n'as rien compris. Parce que pour faire une classe anonyme, il faut une interface...
Et pour les vrais porcs, il y a aussi l'objet Method qui, lui, est un vrai pointeur sur fonction, ou plutôt pointeur sur méthode.
Les pointeurs sur fonction obtenus grâce aux classes anonymes sont typés statiquement, ce qui n'est pas le cas des appels par l'objet Method. De plus, celui-ci nécesite aussi un création d'objet et, étant basé sur l'api de réflexion, il rame. Bref, tu racontes vraiment n'importe quoi.
[^] # Re: Légende urbaine : un alligator dans le ramasse-miettes
Posté par Nicolas Delsaux (site web personnel) . Évalué à 1.
Pour les classes internes, écris-en une sous Eclipse qui accède aux données de la classe encapsulante et regarde le message d'erreur.
En clair, il dit qu'il doit créer une méthode accesseur, et passer de fait la visibilité de private à protected, juste pour ta pauvre classe interne. Tu aurais très bien pu coder toi-même une seconde classe, non interne, dans le fichier, qui fasse la même chose. Tu aurais alors nettement gagné en propreté des accès, et en évolutivité, puisque tu peux alors beaucoup plus facilement séparer tes deux classes.
[^] # Re: Légende urbaine : un alligator dans le ramasse-miettes
Posté par Pat Le Nain . Évalué à 1.
[^] # Re: Légende urbaine : un alligator dans le ramasse-miettes
Posté par Pat Le Nain . Évalué à 1.
[^] # Re: Légende urbaine : un alligator dans le ramasse-miettes
Posté par boubou (site web personnel) . Évalué à 2.
Sinon, je suppose que tu décris un bug d'Eclipse, parce qu'une classe interne accède directement à tout le contenu de la classe englobante, même aux variables privées. C'est d'ailleurs un des intérêts des classes internes, par exemple pour implémenter des itérateurs.
[^] # Re: Légende urbaine : un alligator dans le ramasse-miettes
Posté par Nicolas Delsaux (site web personnel) . Évalué à -1.
On parle bien de la même classe anonyme, là ?
Celle que tu définis avec un
Celui-là, ?
Et bien dans ce cas, à chaque appel de la méthode où tu as ce code, tu crées une nouvelle instance de ta classe, par définition. Et donc, tu ralentis ton code.
Sinon, je suppose que tu décris un bug d'Eclipse, parce qu'une classe interne accède directement à tout le contenu de la classe englobante, même aux variables privées. C'est d'ailleurs un des intérêts des classes internes, par exemple pour implémenter des itérateurs.
Non, je décris le message d'information que peut te renvoyer Eclipse, avec une compilation un peu stricte, lors de l'utilisation de telles classes. Tout simplement parce que la création de l'accesseur synthétique est la seule méthode pour accéder à ces champs private.
[^] # Re: Légende urbaine : un alligator dans le ramasse-miettes
Posté par Guillaume Laurent (site web personnel) . Évalué à 3.
Et ça t'arrive souvent de faire des "addListeners()" en boucle toi ? Bien sur que ça crée une instance de la classe, il faut bien qu'il y en ait une. Ou est le problème ?
[^] # Re: Légende urbaine : un alligator dans le ramasse-miettes
Posté par Nicolas Delsaux (site web personnel) . Évalué à 0.
Ca arrive lorsque, par exemple, les boutons ne sont pas recyclés, ou le code est généré, ou le développeur n'est pas très malin.
En gros, oui, ça arrive, et plus souvent qu'on ne croit.
Et pour parler d'autre chose que des listeners, on le fait souvent aussi lorsqu'on crée un FileFilter dans une méthode, et que cette méthode charge un ensemble de fichiers plusieurs fois dans l'application.
Enfin bref, il y a tout un tas de contextes où ça peut arriver, et surtout où ça risque d'arriver plusieurs fois dans la vie de l'application. Et si c'est à chaque fois qu'un bouton est affiché dans l'interface, ça peut monter très haut, et générer énormément d'instances, alors que l'utilisation d'un Listener codé dans une classe séparée est plus propre, et permet en outre de gérer ce pattern singleton.
[^] # Re: Légende urbaine : un alligator dans le ramasse-miettes
Posté par Guillaume Laurent (site web personnel) . Évalué à 2.
Je ne vois pas comment ça peut causer un pb de perfs. Pour chaque listener il y a un objet derrière (disons un bouton), donc bien avant que la création des listeners eux-mêmes puisse poser un pb, la création de ces objets va en poser un bien plus immédiat.
[^] # Re: Légende urbaine : un alligator dans le ramasse-miettes
Posté par Pierre Tramo (site web personnel) . Évalué à 1.
C'est problème de développeur, pas de langage.
Dans tous les langages on peut commettre de telles horreurs sous-optimisées.
générer énormément d'instances, alors que l'utilisation d'un Listener codé dans une classe séparée est plus propre, ...
Tu peux générer autant d'instances si ta classe est séparée que si c'est une classe interne (anonyme ou non). Ce sont deux notions parfaitement orthogonales.
Et moi ça ne me parrait pas nécessairement plus propre de créer un fichier juste pour y mettre une classe d'une seule méthode dont le corps fait trois lignes à tout casser.
Dans le cas où le code de la classe interne doit accéder aux attributs ou aux méthodes de la classe externe (ce qui est fréquent pour un event listener), il faudrait fournir une instance de l'ex-objet externe à l'ex-objet interne, et probablement augmenter inutilement la visibilité de certains attributs/méthodes de l'ex-classe externe.
...et permet en outre de gérer ce pattern singleton.
1. il y a des cas qui se prettent pas naturellement au pattern singleton
2. on peut faire un sigleton avec une classe interne aussi bien qu'avec une classe dans un fichier séparé
3. avec une classe anonyme on peut faire la même chose :
et ensuite : addListener(listener);
Après, si le développeur ne sait pas réutiliser des objets, ... (en gros qu'il ne sait pas faire de prog objet correctement), il ne faut pas mettre ça sur le dos du langage...
[^] # Re: Légende urbaine : un alligator dans le ramasse-miettes
Posté par Guillaume Laurent (site web personnel) . Évalué à 1.
Ah, parce que réutiliser des objets c'est de la programmation objet "correcte" ? Il me semble au contraire que c'est parce qu'il est toujours trop couteux en Java de créer des objets qu'on est obligé de les réutiliser.
C'est clairement un des points ou Java a totalement échoué : la façon "instinctive" d'utiliser le langage fait écrire du code pas performant. Il faut apprendre des techniques pas du tout triviales pour éviter ça, et ça complexifie d'autant l'écriture des programmes. C++ a le même problème mais pas sur la création d'objet (plutôt sur les affectations, la manière "instinctive" de faire induit des plantages ou des fuites de mémoire).
Après, évidemment les "experts" disent "ah mais oui si tu fais comme ça c'est que tu sais pas coder". Non, c'est faux. C'est le langage qui est mal conçu.
[^] # Re: Légende urbaine : un alligator dans le ramasse-miettes
Posté par Pierre Tramo (site web personnel) . Évalué à 1.
Suivant les cas, oui.
Il me semble au contraire que c'est parce qu'il est toujours trop couteux en Java de créer des objets qu'on est obligé de les réutiliser.
La création d'un objet nécessite une allocation mémoire, c'est une opération coûteuse dans tous les langages.
C'est clairement un des points ou Java a totalement échoué : la façon "instinctive" d'utiliser le langage fait écrire du code pas performant. Il faut apprendre des techniques pas du tout triviales pour éviter ça, et ça complexifie d'autant l'écriture des programmes.
Tous les langages et toutes les méthodes de programmation nécessitent un apprentissage...
Après, évidemment les "experts" disent "ah mais oui si tu fais comme ça c'est que tu sais pas coder". Non, c'est faux. C'est le langage qui est mal conçu.
Ah ? Tous les langages dans lesquels le premier venu peut coder comme un goret sont des langages mal conçus ? Il ne doit pas y avoir des masses de langages bien conçus alors...
[^] # Re: Légende urbaine : un alligator dans le ramasse-miettes
Posté par Guillaume Laurent (site web personnel) . Évalué à 1.
A part les cas où c'est nécéssaire pour des raisons de performances, à quels cas penses-tu ?
La création d'un objet nécessite une allocation mémoire, c'est une opération coûteuse dans tous les langages.
Non. En C++, si tu crée un "petit" objet sur la stack, ça n'est pas très couteux...
Tous les langages et toutes les méthodes de programmation nécessitent un apprentissage...
Tu n'as pas compris : si tu apprends la programmation objet, en général la réutilisation des objets ne sera pas présenté comme un concept de base, bien au contraire. Ça sera plutôt dans la section "trucs et astuces si votre programme rame vraiment trop".
Ah ? Tous les langages dans lesquels le premier venu peut coder comme un goret sont des langages mal conçus ? Il ne doit pas y avoir des masses de langages bien conçus alors...
Je ne parle pas du "premier venu". Ceci dit, oui, il n'y a pas beaucoup de langages bien conçus sur ce plan là (je ne connais que Python et Ruby qui s'en sortent).
[^] # Re: Légende urbaine : un alligator dans le ramasse-miettes
Posté par boubou (site web personnel) . Évalué à -2.
[^] # Re: Légende urbaine : un alligator dans le ramasse-miettes
Posté par rhizome . Évalué à 3.
[^] # Re: Légende urbaine : un alligator dans le ramasse-miettes
Posté par Tof . Évalué à 2.
http://arkanae.tuxfamily.org/fr/index.html(...)
Mais tu veux tester la vitesse, écrit un programme en java (pas d'awt, juste un truc en console) et compare ! Mais ne lance pas une calculatrice en applet java dans mozilla, c'est pas vraiment une référence...
[^] # Re: Légende urbaine : un alligator dans le ramasse-miettes
Posté par gnumdk (site web personnel) . Évalué à 2.
Alors la, je te contredis tout de suite, quand je dis que java rame(et je le dit), c'est le temps d'initialisation du programme qui je prend en compte, apres, effectivement, arkanae se defend bien meme si il y'a un peu de lag par moment...
Par exemple cube(ecrit en C) se lance instantanément tandis que arkanae, c'est loin d'etre rapide...
http://wouter.fov120.com/cube/(...)
[^] # Re: Légende urbaine : un alligator dans le ramasse-miettes
Posté par Moby-Dik . Évalué à 4.
[^] # Re: Légende urbaine : un alligator dans le ramasse-miettes
Posté par Yusei (Mastodon) . Évalué à 2.
[^] # Re: Légende urbaine : un alligator dans le ramasse-miettes
Posté par vrm (site web personnel) . Évalué à 1.
[^] # Re: Légende urbaine : un alligator dans le ramasse-miettes
Posté par Pierre Tramal (site web personnel) . Évalué à 3.
DTC!
Daizaulait
[^] # Re: Légende urbaine : un alligator dans le ramasse-miettes
Posté par Tutur . Évalué à 1.
Décharger = traduction de donwload dans lynx
[^] # Re: Légende urbaine : un alligator dans le ramasse-miettes
Posté par Nicolas Delsaux (site web personnel) . Évalué à 1.
[^] # Re: Légende urbaine : un alligator dans le ramasse-miettes
Posté par boubou (site web personnel) . Évalué à 1.
[^] # Re: Légende urbaine : un alligator dans le ramasse-miettes
Posté par darkleon (site web personnel) . Évalué à 1.
Ben ok, mais tous les tutoriels utilisent ces anneries, et si tu as des liens vers des tutoriels qui s'en dispensent je suis preneur.
En particulier pour les listenners sur un evennement.
Swing est une usine à gaz à lui tout seul, et tu fais 50 copier/coller pour gérer les évenements d'une fenêtre.
C'est peut être trés jolis au niveau conceptuel, mais relire un programme swing tient plus du jeu de labyrinthe ou il faut se rappeller de tous les embranchements qu'autre chose.
[^] # Re: Légende urbaine : un alligator dans le ramasse-miettes
Posté par Nicolas Delsaux (site web personnel) . Évalué à 1.
Cependant, si tu essayes de coder sans, tu te rendras compte que le code est plus lisible, et donc plus maintenable et plus rapide (puisqu'il est plus facile d'optimiser quelque chose qu'on peut lire, et qu'en plus on ne crée pas une instance à chaque appel de méthode, la plaie de Swing).
[^] # Re: Légende urbaine : un alligator dans le ramasse-miettes
Posté par Alexandre Beraud . Évalué à 2.
http://www.bagley.org/~doug/shootout/lang/java/(...)
[^] # Re: Légende urbaine : un alligator dans le ramasse-miettes
Posté par Nicolas Delsaux (site web personnel) . Évalué à 2.
Pas moi. Il est clair que si tu disposais d'un processeur Java, l'encombrement mémoire de tes programmes serait nettement moins lourd, puisque par exemple les classes System et compagnie ne seraient pas des émulations interrogeant la machine physique.
En l'occurence, ce n'est pas le cas, et il faut faire avec.
Cependant, la JVM 1.5 va apporter un début de réponse avec le mode serveur, qui permettra de lancer tous les programmes dans la même VM, plutôt que d'en lancer une par instance de JEdit ;-)
[^] # Re: Légende urbaine : un alligator dans le ramasse-miettes
Posté par Roger Rabbit . Évalué à 1.
[^] # Re: Légende urbaine : un alligator dans le ramasse-miettes
Posté par Alexandre Beraud . Évalué à 2.
[^] # Re: Légende urbaine : un alligator dans le ramasse-miettes
Posté par Nicolas Delsaux (site web personnel) . Évalué à 1.
Et comment tu le compares aux autres sans utiliser la machine virtuelle ? Pour ma part, une comparaison de deux langages sous machine virtuelle serait une erreur, puisque ça correspond plus à une proof of concept qu'à une vraie utilisation. La seule comparaison qui vaille réellement est celle dans un environnement réel, en l'occurence ton OS préféré.
Que ce soit utile, cross-platform, facile à apprendre, souple et tout ce qu'on veut soit, je dis juste que c'est une belle pompe à RAM comparé à Perl par exemple (même si ce n'est pas tout à fait comparable
Donc tu compares avec la machine virtuelle, ce qui est normal puisqu'il s'agit d'un tout. Tu peux difficilement dissocier le langage de Java de sa plateforme et de ses bibliothèques.
Et au final, on est d'accord.
[^] # Re: Légende urbaine : un alligator dans le ramasse-miettes
Posté par hex . Évalué à 2.
[^] # Re: Légende urbaine : un alligator dans le ramasse-miettes
Posté par Cedric Cellier . Évalué à 1.
# Re: Légende urbaine : un alligator dans le ramasse-miettes
Posté par rhizome . Évalué à 8.
- 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 aurel (site web personnel, Mastodon) . Évalué à 4.
[^] # Re: Légende urbaine : un alligator dans le ramasse-miettes
Posté par Sami Dalouche . Évalué à 1.
sam
[^] # Re: Légende urbaine : un alligator dans le ramasse-miettes
Posté par rhizome . Évalué à 1.
BSDiste, linuxien débutant, utilisateur de Windows et goret-coder Perl : une vraie légende vivante.
[^] # Re: Légende urbaine : un alligator dans le ramasse-miettes
Posté par ours Ours (site web personnel) . Évalué à 1.
(les bsdistes doivent la coder eux même ou alors émuler la version linux)
# Re: Légende urbaine : un alligator dans le ramasse-miettes
Posté par Bapt (site web personnel) . Évalué à 6.
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 Yusei (Mastodon) . Évalué à 2.
Ça marche comment pour Swing, y'a une bibliothèque particulière, ça utilise GTK, ou bien ca compile tout en statique ? Dans le dernier cas le binaire doit être énorme... à priori il n'y a pas de bijection entre les API de Swing et GTK donc ça ne doit pas être évident, donc je suppose que c'est la première possibilité la bonne ?
[^] # Re: Légende urbaine : un alligator dans le ramasse-miettes
Posté par swapon . Évalué à 2.
[^] # Re: Légende urbaine : un alligator dans le ramasse-miettes
Posté par Bapt (site web personnel) . Évalué à 2.
tu rajoute : deb http://www.fs.tum.de/~bunk/debian(...) woody/bunk-1 main contrib non-free
dans ton sources.list
ensuite :
apt-get install gcj-3.3
et tu verras si le support AWT/SWING n'y est pas.
unzip -l /usr/share/java/libgcj-3.3.jar | grep swing
unzip -l /usr/share/java/libgcj-3.3.jar | grep awt
[^] # Re: Légende urbaine : un alligator dans le ramasse-miettes
Posté par jeeeeeee . Évalué à 2.
2.4 What is the state of AWT support?
Work is in progress to implement AWT and Java2D. We intend to support both GTK and xlib peers written using CNI. Some components are already working atop the xlib peers.
2.5 How about support for Swing?
Once AWT support is working then Swing support can be considered. There is at least one free-software partial implementations of Swing that may be usable.
Ben non ça y'est pas ! (en tout cas pas encore)
[^] # Re: Légende urbaine : un alligator dans le ramasse-miettes
Posté par Bapt (site web personnel) . Évalué à 2.
Maintenant installe toit gcc-3.3 ou va faire un tour sur le CVS de gcc dans le dossier libjava et tu verras.
en dernier recours :
http://japi.sab39.org/htmlout/h-libgcj-jdk14.html(...)
Si ça y est pas je ne sais pas ce que c'est, mais c pas encore totalement fini et stable c pour ça que je dit vivement la 3.4:
java. awt: 99.63%
javax. swing: 95.19%
[^] # Re: Légende urbaine : un alligator dans le ramasse-miettes
Posté par jeeeeeee . Évalué à 1.
Mais bon tu m'as quand même donné envie de jeter un oeil ;-)
J'essaierai ton adresse pour apt ce soir.
[^] # Re: Légende urbaine : un alligator dans le ramasse-miettes
Posté par Bapt (site web personnel) . Évalué à 1.
voila pour des screenshot (ils sont vieux)
En fait AWT/SWING doit donner la possibilité de gérer un affiche en xlibs et en gtk
http://gcc.gnu.org/java/faq.html#2_4(...)
Mais faut pas se leurer c pas encore pro et c tout foireux :), mais ça à le mérite de compiler et de parfois bien vouloir se lancer quand le code est pas trop compliqué pour lui, sinon on obtiens des truc du genre :
java.lang.Error not implemented
ou alors on se rends vite compte que beaucoup de chose sont encore manquante comme :
javax.swing.JTextArea, etc.
vivement la version 3.4 :)
# Re: Légende urbaine : un alligator dans le ramasse-miettes
Posté par Jean-Yves LENHOF (site web personnel) . Évalué à 5.
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 enicolas . Évalué à 1.
Par contre, la base d'utilisateur est quand meme faible, et la conséquence n'est-t-elle pas un manque cruel de librairies ?
Ceux qui connaissent bien Ada, y a-t-il des librairies OO pour les UI portables par exemple ? (genre bindings GTK ou QT ou wxWindows) ?
[^] # Re: Légende urbaine : un alligator dans le ramasse-miettes
Posté par Brice Carpentier . Évalué à 2.
[^] # Re: Légende urbaine : un alligator dans le ramasse-miettes
Posté par Jean-Yves LENHOF (site web personnel) . Évalué à 1.
http://directory.google.com/Top/Computers/Programming/Languages/Ada(...)
Avec en complement !:
http://www.averstar.com/~stt/bindings/x11ada/x11ada.html(...)
[^] # Re: Légende urbaine : un alligator dans le ramasse-miettes
Posté par let antibarbie = xp <- xp - 1 . Évalué à 1.
mais OCaml apporte une touche de fraîcheur et de style fonctionnel, et pareil pour les erreurs à la compilation, "quand ca compile" ça a plus de chance de marcher qu'un prog C/C++.
[^] # Re: Légende urbaine : un alligator dans le ramasse-miettes
Posté par Jean-Yves LENHOF (site web personnel) . Évalué à 1.
http://libre.act-europe.fr/GtkAda/(...)
D'ailleurs un debuggueur a été produit avec la version GtkAda pour Gtk 1.2...
http://libre.act-europe.fr/gvd/(...)
[^] # Re: Légende urbaine : un alligator dans le ramasse-miettes
Posté par core . Évalué à 2.
tu veux peut-être parler de "bibliothèques" ?
[^] # Re: Légende urbaine : un alligator dans le ramasse-miettes
Posté par kesako . Évalué à 0.
java vis a vis de c /c++ c'est comme le proprio face au libre : dans le libre , c'est parfois plus dur a mettre en place , mais on a un controle total sur ce qu'on fait, sur les evolutions.... alors que le proprio impose ses choix, son timming,...
en c/c++ on a un control total, avec java on depend , entre autres, de la VM
perso , je n'ai rien contre le language java , mais je ne peux pas blairer la presence de la VM. La VM Java c'est la reponse des annes 90 de l'industrie au pb de la fragmentation des Unix . Avec linux tournant sur toutes sortes de machines, cela n'a pas d'interet.
[^] # Re: Légende urbaine : un alligator dans le ramasse-miettes
Posté par Pat Le Nain . Évalué à 3.
Si tu veux faire tourner une appli sur une machine dont tu ne connais pas l'architecture (c notre cas, on code pour un serveur Linux mais ce pourrait très bien devenir un windows dans le futur), tu codes en Java. La présence de linux sur "toutes" les archis ne change pas le problème du client qui ne veut pas changer d'OS (à cause d'une appli proprio par ex).
(au fait, java très bien, merci =>[])
[^] # Re: Légende urbaine : un alligator dans le ramasse-miettes
Posté par __caffeine__ . Évalué à 2.
Moi je voudrais qu'on m'explique un truc, c'est l'omniprésence de Java dans les projets d'applis cross-platform. ça fait un an maintenant que je me suis mis à Python, et j'ai de plus en plus de mal à trouver des avantages à Java. Avec Python, j'ai la même portabilité, les mêmes possibilités (web services, XML, connection SGBD, applications web, GUI, appel de libs C ou autres très facile - en tout vachement plus simple que JNI, des bindings à foison - OpenGL etc...), du code vachement moins verbeux, une emprunte mémoire bien plus petite et une vitesse d'exécution a priori équivalente, du moins pour ce que j'ai fait jusque là.
Je veux bien qu'il y ait tout le marketing Sun derrière (alors que les pythoniens ont une culture d'aimables farceurs qui AMHA peut les desservir), mais ça n'explique pas tout.
(et oui, ça ressemble à un troll, mais je m'en fous du moment que j'ai des réponses constructives...)
[^] # Re: Légende urbaine : un alligator dans le ramasse-miettes
Posté par Pat Le Nain . Évalué à 1.
Je ne dénigre pas les qualités de Python, langage que je connais très peu (je dois bien l'avouer) et que j'aimerais connaitre plus (si j'avais du temps bien sûr), mais la mode est à Java en ce moment.
[^] # Re: Légende urbaine : un alligator dans le ramasse-miettes
Posté par Delahaye Matthieu . Évalué à -1.
[^] # Re: Légende urbaine : un alligator dans le ramasse-miettes
Posté par Yusei (Mastodon) . Évalué à 1.
C'est juste un peu plus lent sur une machine virtuelle que sur une machine matérielle (ce qui pousse à compiler au vol), et il n'y a pas assez de marché pour produire des ordinateurs donc l'architecture matérielle est celle de Java (la plateforme).
En Java, on dépend de la VM, en C/C++ on dépend de la MM (machine matérielle ), donc c'est à mon avis un mauvais argument.
Moi je rêve d'une JVM libre qui tourne partout, même s'il est peu probable que je code en Java (le langage) pour cette JVM.
[^] # Re: Légende urbaine : un alligator dans le ramasse-miettes
Posté par Moby-Dik . Évalué à 0.
Mais on [pv]eut imposer Java ("technologie" propriétaire, soit dit en passant) ? ;)
[^] # Re: Légende urbaine : un alligator dans le ramasse-miettes
Posté par Yusei (Mastodon) . Évalué à 2.
[^] # Re: Légende urbaine : un alligator dans le ramasse-miettes
Posté par boubou (site web personnel) . Évalué à 0.
[^] # Re: Légende urbaine : un alligator dans le ramasse-miettes
Posté par kesako . Évalué à -1.
ne reve pas , tant que java n'est pas libre ca n'a aucune chance de se produire.
[^] # Re: Légende urbaine : un alligator dans le ramasse-miettes
Posté par Fabimaru (site web personnel) . Évalué à 1.
Possible, mais pour que ça soit rapide il faudra toujours faire des écritures spécifiques à la plate-forme (compilation JIT).
[^] # Re: Légende urbaine : un alligator dans le ramasse-miettes
Posté par Yusei (Mastodon) . Évalué à 1.
[^] # Re: Légende urbaine : un alligator dans le ramasse-miettes
Posté par Olivier Serve (site web personnel) . Évalué à 3.
C'est bien ce qui s'est passé pour OpenGL puis DirectX...
[^] # Re: Légende urbaine : un alligator dans le ramasse-miettes
Posté par Nicolas Delsaux (site web personnel) . Évalué à 1.
C'est un comité ouvert qui détermine les évolutions du langage. Et après, tu me parleras de la machine virtuelle, et je te répondrai qu'il en existe plusieurs pour chaque plateforme. Sun, IBM, Weblogic, et autres proposent des machines virtuelles, il n'y a donc pas trop de problèmes de ce côté-là.
[^] # Re: Légende urbaine : un alligator dans le ramasse-miettes
Posté par Brice Carpentier . Évalué à 2.
[^] # Re: Légende urbaine : un alligator dans le ramasse-miettes
Posté par Tutur . Évalué à 1.
[^] # Re: Légende urbaine : un alligator dans le ramasse-miettes
Posté par Jean-Yves LENHOF (site web personnel) . Évalué à 2.
Et le code sources de vos programmes Ada est portable !!! Donc en général une simple compilation est nécessaire pour changer de plateforme...
Que dire encore.... regardez la beauté des possibilités des "generique'" et comme le fait remarque qq d'autre le traitement des rdz-vous
Bref un grand langage pas assez utilisé
[^] # Re: Légende urbaine : un alligator dans le ramasse-miettes
Posté par Anthony . Évalué à 1.
Maintenant, si tu travailles dans la defense ou l'aerospatiale, ya pas de probleme, t'en verra, des gens qui utilisent ada...
C'est juste que c'est pas exactement la meme communaute d'utilisateurs, pas les memes priorites et pas le meme marketing.
[^] # Re: Légende urbaine : un alligator dans le ramasse-miettes
Posté par tcws . Évalué à 1.
je --->[]
# Re: Légende urbaine : un alligator dans le ramasse-miettes
Posté par Yngwiemanux . Évalué à 2.
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 jeeeeeee . Évalué à 5.
D'où nous sors tu ces chiffres ????? troll d'entré de jeu :o)
je m'interroge sur les gains in fine, en terme de gestion de projet, de conception, de développement et de maintenance
Moi au contraire je trouve que ça fait parti des avantages de Java.
Conception objet sympa, frameworks intéressants, développement agréable et plus carré qu'en cpp, javadoc ...
Et puis je vois pas trop le rapport entre la conception / gestion de projet et le langage utilisé mais bon.
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
Tout ça c'est applicable a n'importe quel language je vois toujours pas le lien avec Java ...
les incompétences et les coûts faramineux engendrés, tout ça ressemble à un air de pipot
C'est toi qui pipote.
Un projet peut coûter cher quelque soit le language utilisé à partir du moment où les gens sont incompétents :-)
Apparemment tu n'as du avoir que de mauvaises expériences ... c'est bien dommage, mais c'est pas pour autant qu'il faut reporter les fautes de personnes sur le langage de programmation ....
[^] # Re: Légende urbaine : un alligator dans le ramasse-miettes
Posté par Yngwiemanux . Évalué à 3.
Non, ce n'est pas un troll, je ne pratique jamais la trollerie ;-). Sérieusement, les chiffres je les observe sur le terrain dans les PME et les grands comptes. Ca fait 10 ans que je bosse en SSII et je me suis donc coltiné pas mal de projets assez conséquents, tous aussi différents les uns que les autres fonctionnellement et techniquement. Enfin, j'ai aussi pas mal "d'antennes" sur ce qui se fait ailleurs et je n'ai pas de sons de cloches très différents de ce que je sais par ma propre expérience. Il est entendu que je ne dis pas que cet état de fait est vérifiable partout. Ce qui est vécu sur le terrain, c'est qu'il te faut une ressource pour JSP, une autre pour les Beans, une autre pour l'archi, un admin, un CP Java... Bref une quantité de spécialistes différents qui travaillent chacun dans son petit monde et qui ne savent pas ce qui se passe à côté.
Tout ça c'est applicable a n'importe quel language je vois toujours pas le lien avec Java ...
Peut-être me suis-je mal exprimé sur un point: je ne critique nullement Java. Je critique surtout le bordel mercantile et d'effet mode organisé autour de lui et qui a pour conséquence d'aveugler pas mal de monde. Du reste, et nous sommes d'accord, que ce soit Java ou Cafetiere++, le résultat est le même car la mode (limite frénésie) veut que la nouvelle donne soit Java sinon rien. Et en cela je critique les choix qui ne sont pas toujours adaptés au contexte si l'on ne garde que ses critères idéologiques.
Apparemment tu n'as du avoir que de mauvaises expériences
C'est bien ça. Et comme je l'ai dit auparavant: ma conclusion ne se veut pas définitive. Mais là encore, pour le moment, je suis nullement convaincu, mais je suis prêt à réviser ma position.
[^] # Re: Légende urbaine : un alligator dans le ramasse-miettes
Posté par Nicolas Delsaux (site web personnel) . Évalué à 2.
J'aime bien ce genre de chiffres. Il faut mettre plus de personnes, mais tu ne nous dit pas que le projet est développé plus rapidement, ou que tes développeurs Java sont des mecs sous-payés.
Je trouve que l'on est arrivé à de sacrées usines à gaz - proprio ou pas.
Si tu me donnes l'exemple des serveurs d'application, je serais d'accord avec toi. C'est la plus mauvaise raison pour laquelle Java a perçé, alors qu'il est très fort dans bien d'autres domaines. Les EJB, c'est une espèce de merde noire où il faut, pour s'en sortir, faire appel à des vraies usines à gaz que sont les serveurs d'application. Mais sorti de là, Java marche très bien, se développe au moins aussi vite qu'un autre langage, et donne en plus un code largement plus clair que son équivalent C(++).
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.
Tu me parles du monde des SSII, et je te comprends. Les SSII sont la faillite de l'informatique moderne. On pense trop au salaire et pas assez à la technique. Si les gens se concentraient sur leur métier de technicien plutôt que sur celui de vendeur de patates chaudes, tu n'aurais sûrement pas ce discours.
J'ai pour ma part toujours travaillé chez des éditeurs de logiciel, et avec des gens compétents. A ceux-là, on ne demande pas de rendre le client heureux, mais d'implémenter telle fonctionnalité. Et dans ce cas, l'exigence technique rend le travail meilleur et personne n'est déçu.
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.
Typique de la SSII.
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.
Les coûts faramineux ? En développement Java, qu'est-ce qui coûte de l'argent, hormis le salaire du développeur ? Rien.
[^] # Re: Légende urbaine : un alligator dans le ramasse-miettes
Posté par Yngwiemanux . Évalué à 3.
????
Les coûts faramineux ? En développement Java, qu'est-ce qui coûte de l'argent, hormis le salaire du développeur ? Rien.
Si la définition du coût d'un développement Java (ou autre) se résume au seul salaire des développeurs, tu te trompes lourdement. Et je n'en suis pas étonné car apparemment tu sembles concentré sur la seule vision technique d'un projet alors qu'il implique d'autres aspects (gestion de projet, analyse et modélisation, tests en environnement de recette + prod, formation des utilisateurs....) qui ont des coûts. Et je ne parle pas du temps perdu (et donc coûteux) lorsque les projets n'avancent pas convenablement ou dérapent complètement. Et celà n'a strictement rien à voir avec les SSII. Et les SSII ne vendent que de la bidoche, les éditeurs vendent leur came et enfin les deux protagonistes se lient d'intérêts commerciaux. Ce n'est pas Java qui est en cause, encore une fois, mais ce que l'on en fait. Et c'est pareil avec les autres outils de dev. Cependant, aujourd'hui en-dehors de Java et des ERP, point de salut pour faire tourner sa boîte. Ce n'est pas moi qui le dit, il suffit d'ouvrir ses yeux et d'être curieux pour s'en rendre compte. Et c'est cet automatisme que je remets en cause, ce même automatisme qui génère ce que je critique dans mon premier message.
[^] # Re: Légende urbaine : un alligator dans le ramasse-miettes
Posté par Christophe GRAND (site web personnel) . Évalué à 1.
Et les gros et moyens systèmes qui font encore beaucoup de boulot...
[^] # Re: Légende urbaine : un alligator dans le ramasse-miettes
Posté par Yngwiemanux . Évalué à 1.
[^] # Re: Légende urbaine : un alligator dans le ramasse-miettes
Posté par Christophe GRAND (site web personnel) . Évalué à 1.
PA : Ch job AS400 "moderne" IdF ou Rh-Al ;-)
[^] # Re: Légende urbaine : un alligator dans le ramasse-miettes
Posté par Yngwiemanux . Évalué à 1.
Il n'empêche que c'est une machine étonnante et bien pensée
Entièrement d'accord. Il y a des tas de choses qui me manquent lorsque je suis sous Linux par rapport à l'AS/400. Mais bon, comme je ne suis pas aussi bon sous nunux que sous AS400, je me dis que ça vient de moi. Question subsidiaire si tu veux/peux: il y a moyen d'avoir le principe des JOBQ ?
Pour ta PA, tu connais quoi sur le 400 ? Il y en a des projets AS400 mordernent qui trainent, malhereusement de trop nombreux clients ont du mal à comprendre qu'on sait faire autre chose que natif 5250. C'est ben triste.
[^] # Re: Légende urbaine : un alligator dans le ramasse-miettes
Posté par Yngwiemanux . Évalué à 1.
Hum, j'ai les doigts qui marchent pas bien => modernes
;-)
[^] # Re: Légende urbaine : un alligator dans le ramasse-miettes
Posté par let antibarbie = xp <- xp - 1 . Évalué à 1.
[^] # Re: Légende urbaine : un alligator dans le ramasse-miettes
Posté par Yngwiemanux . Évalué à 1.
Ben sur l'AS/400, mis à part le dev natif et les AGL (Synon, Adelia, Obsydian), tu peux aussi faire du Java, Net.Data, PHP (récemment porté), de la messagerie... De quoi s'occuper un peu!
[^] # Re: Légende urbaine : un alligator dans le ramasse-miettes
Posté par boubou (site web personnel) . Évalué à 1.
Mon pauvre ami. Et comment fais tu pour développer une application transactionnelle basée sur un système à échange de messages sans te faire chier comme un rat mort ? Parce qu'à part les J2EE et .Net, franchement, je ne vois pas.
C'est bien de défendre Java. C'est mieux de le faire bien.
[^] # Re: Légende urbaine : un alligator dans le ramasse-miettes
Posté par Yngwiemanux . Évalué à 1.
MQ Series ? J'en garde d'assez bons souvenir... Enfin, sauf la première release ;-)
[^] # Re: Légende urbaine : un alligator dans le ramasse-miettes
Posté par Gloo . Évalué à 2.
Ahahahaha...
Je relis ton premier poste ("L'idée de pouvoir développer des applications") je fais un quasi collé ici:
"usine à gaze" (20000 applications cobol), "Quand je vois le nombre de personnes" (2000 personnes pour le SI), "je m'interroge sur les gains in fine"
tout ce beau monde "infoutus d'appréhender [le] système d'information dans son entièreté" Tu m'etonnes, il faudrait être multi centenaire et insomniaque.
"on en a oublié l'objectif final: efficacité et productivité". j'en parlerai à tout ceux qu'on a du rappeler 20 ans après qu'ils aient ecrit leur code pour le bug de l'an 2000, ou qui doivent interopperer avec ce genre de techno. Enfin bon IBM est le roi du libre, de l'interoperabilité, notre sauveur à tous :o)
Avec ce type de projet, ca "coute la peau des fesses avant même" d'avoir commencé.
J'aime bien les gens qui font (ou on fait) du gros système. Vraiment :).
Dedicace à un pote qui ne lira jamais ces lignes.
[^] # Re: Légende urbaine : un alligator dans le ramasse-miettes
Posté par Yngwiemanux . Évalué à 1.
Tu m'etonnes, il faudrait être multi centenaire et insomniaque
Tu connais la définition du mot Appréhender ?
Enfin bon IBM est le roi du libre, de l'interoperabilité, notre sauveur à tous :o)
Affirmation ex nihilo et je ne vois pas le rapport avec mon propos.
2000 personnes pour le SI
Pffff... Entre l'ignorance et la mauvaise foi, je prendrais bien les deux.
C'est navrant.
EOS
PS: c'est vraiment un pote ton pote ?
[^] # Re: Légende urbaine : un alligator dans le ramasse-miettes
Posté par Gloo . Évalué à 1.
oui. Et on rigole souvent tous les deux de nos boulots respectifs autours d'une mousse.
Toutes les anecdotes, les technos, les chiffres, c'est ce qu'il se passe dans sa boite et c'est son boulot depuis plus de 20 ans. Alors bon, tu peux devenir aggressif, parler d'ignorance et de mauvaise foi si tu veux, ne pas comprendre que je fais reference à l'ensemble de tes posts, c'est toi que ca regarde.
A la difference de toi, je ne dénigre aucune des 2 technos. De ces technos, j'en suis à la fois amusé et emerveillé: "et pourtant, elle(s) tourne(nt) !".
[^] # Re: Légende urbaine : un alligator dans le ramasse-miettes
Posté par Yngwiemanux . Évalué à 1.
Je ne dénigre aucune techno, tu ne m'as pas compris. Je ne cherche pas être agressif non plus, je n'en vois pas l'intérêt. Simplement quand tu parles de 2000 Cobolistes pour une application, ça n'a aucune signification puisque sans contexte énoncé. Le COBOL, c'est bon, je connais pas coeur et pas sur gros système, mais sur mini. A l'époque où j'en faisais, c'était sur une application de logisitique multipays et utilisée par 9 filialles en Europe. Nous étions 5 pour tout faire (analyse, modelisation, dev, migration, recettes, maintenance fonctionnelle etc...). Et ça marchait fort bien. Sur notre plateau il y avait d'autres équipes projets, chacune avait une taille variable en fonction de l'importance du projet. Mis bout à bout, ça faisait pas mal de monde mais certainement pas 2000, même pas 50.
Bien sûr on trouvera toujours des cas où des quantités hallucinantes de ressources sont affectées sur un même projet et que l'on a du mal à justifier. Ce n'est pas la techno qui est en cause. Par contre, et c'était l'objet de mon premier post, il existe des technos qui semblent impliquer un nombre de ressources bien supérieures à d'autres techno ; ce qui ne signifie pas que je tape ou ensence l'une ou l'autre. Les rivalités entre vieux routiers de l'informatique et les petits jeunes qui en veulent, ça fait belle lurette que ça me passe au-dessus de la tête.
De ces technos, j'en suis à la fois amusé et emerveillé: "et pourtant, elle(s) tourne(nt) !"
Presque pareil...
Cordialement
[^] # Re: Légende urbaine : un alligator dans le ramasse-miettes
Posté par Nicolas Roard (site web personnel) . Évalué à 3.
Version libre : http://www.gnustepweb.org(...) -- ça marche mais ça manque de doc et d'exemples !
Perso pour faire un site web complexe, je trouve ça vraiment super, tout est proprement encapsulé dans des composants, tout utilise le modèle vue composant, etc.
Pour ce qui est du stockage en base de données, on prends au choix EOF (Enterprise Object Foundation si je ne me trompe pas) côté Apple et GDL2 (GNUstep Database Layer) pour GNUstep. Le principe : un mapping de ta base de données vers des objets. Du coup côté programme, tu ne fait plus de SQL, la cohérence entre les objets et les tables est automatique, les relations de dépendance également. Tu peux même décider de mapper un objet non pas vers une table mais sur une série de tables voir une requête SQL. Bref, très intéressant...
[^] # Re: Légende urbaine : un alligator dans le ramasse-miettes
Posté par boubou (site web personnel) . Évalué à 1.
[^] # Re: Légende urbaine : un alligator dans le ramasse-miettes
Posté par Nicolas Roard (site web personnel) . Évalué à 2.
Si tu veux, struts+EJB c'est vaguement équivalent à WebObjects, la différence c'est que WO est LARGEMENT moins usine à gaz. Et perso, je préfère quand je n'ai pas trois milliards de fichiers de confs xml à remplir ou générer. Je préfère quand le fonctionnement reste simple, mais puissant.
En tout cas moi je connais les deux, merci.
[^] # Re: Légende urbaine : un alligator dans le ramasse-miettes
Posté par boubou (site web personnel) . Évalué à 1.
[^] # Re: Légende urbaine : un alligator dans le ramasse-miettes
Posté par Bapt (site web personnel) . Évalué à 1.
[^] # Re: Légende urbaine : un alligator dans le ramasse-miettes
Posté par Nicolas Delsaux (site web personnel) . Évalué à 1.
Est-ce que j'ai dit que J2EE était merdique ? Non, je dis juste que les EJB, comme toute couche d'interface entre deux systèmes complètement différents, sont obligés d'utiliser le pire des deux systèmes.
Et puis, pour reprendre un argument d'un autre intervenant, tu connais beaucoup d'autres systèmes, à part effectivement les mainframes où l'usine à gaz est la règle, où ce soit le cas ?
C'est bien de défendre Java. C'est mieux de le faire bien.
Je défends Java comme j'aimerais le voir utilisé, c'est-à-dire en tant que vraie plateforme portable et transportable. Malheureusement, ce n'est pas encore assez le cas selon moi. Et J2EE ne fait rien pour ça.
[^] # Re: Légende urbaine : un alligator dans le ramasse-miettes
Posté par DiZ . Évalué à 1.
# Re: Légende urbaine : un alligator dans le ramasse-miettes
Posté par TImaniac (site web personnel) . Évalué à 0.
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 Nicolas Delsaux (site web personnel) . Évalué à 4.
C'est vrai que .NET est totallement portable sous Windows ;-)
La vraie portabilité de ce point de vue, c'est le C ANSI.
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).
Ce que tu oublies, c'est que Java est une machine virtuelle, il est donc possible d'utiliser d'autres langages que le Java sur une plateforme Java. La page http://grunge.cs.tu-berlin.de/~tolk/vmlanguages.html(...) liste les langages disponibles sous VM Java. on y trouve ainsi TCL, Lisp, BASIC, Logo, Prolog, Eiffel, Smalltalk, COBOL, ADA, Forth, Fortran, C (avec C2J), ...
L'argument me semble donc difficilement recevable ;-)
Sans parler de l'interopérabilité avec l'existant (COM, etc.)... encore du gain d'argent au développement pour un passage progressif...
Il existe également de nombreuses API d'interopérabilité COM/DCOM, dont notamment l'utilisation des EJB et de CORBA qui eprmet de dialogue r de manoière transparente avec DCOM.
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é )
Ah, j'avais pas vu que c'était un glorieux troll C#/Java, désolé.
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 :-)
Parce que java est lui aussi libre et ouvert, grâce aux langages déja cités, mais également grâce au JCP auqel tu peux participer pour faire évoluer Java.
[^] #
Posté par TImaniac (site web personnel) . Évalué à 0.
C'est vrai que .NET est totallement portable sous Windows ;-)
La vraie portabilité de ce point de vue, c'est le C ANSI.
les projets dotGNU et Mono prouve que c un environnement portable. Les implentation dans les pda et les téléphone aussi.
Ce que tu oublies, c'est que Java est une machine virtuelle, il est donc possible d'utiliser d'autres langages que le Java sur une plateforme Java. La page http://grunge.cs.tu-berlin.de/~tolk/vmlanguages(...) liste les langages disponibles sous VM Java. on y trouve ainsi TCL, Lisp, BASIC, Logo, Prolog, Eiffel, Smalltalk, COBOL, ADA, Forth, Fortran, C (avec C2J), ...
L'argument me semble donc difficilement recevable ;-)
Ce que tu oublies c que la JVM n'a pas été conçu pour... la machine virtuelle CLR a été faite pour.(Commmon Langage Runtime) là preuve, la plupart des langages "compatibles" restent des lanages de très haut niveau... c pas demain la veille qu'on fera tourner du C++ sur une JVM (je parle pas de conversion de code)
Merci pour les infos sur l'interopérabilité DOMCOM :)
Et désolé pour le troll :)
[^] # Re: Légende urbaine : un alligator dans le ramasse-miettes
Posté par allcolor (site web personnel) . Évalué à 1.
[^] # Re: Légende urbaine : un alligator dans le ramasse-miettes
Posté par xsnipe . Évalué à 1.
Bien, .NET paraît séduisant sur le papier et malgré qques qualités indéniables, je reproche :
- J'aime pas qu'on m'oblige à développer que sur Windows, non pas parceque j'aime pas mais j'aime bien choisir en fonction des projets (et ne me parlez pas de mono svp...).
- La trop grande jeunesse de l'ensemble (vaut mieux attendre qques années je pense avant de pouvoir juger de la qualité...)
Voili-voilà.
[^] # Re: Légende urbaine : un alligator dans le ramasse-miettes
Posté par boubou (site web personnel) . Évalué à 1.
Tu sais aussi sûrement que ce qui compte dans une plate-forme de développement, ce n'est finalement pas la machine virtuelle, ni même le langage (oui, C# c'est pas mal, tout à fait du même niveau que Java, avec des + et des -), mais surtout les API. Alors le projet Mono me fait bien rire. Ca fait des années que classpath tente d'atteindre java 1.2 et ils n'y sont pas encore (même si eclipse peut tourner en 100% open source), alors que les api Java ne sont même pas protégées par Sun.
[^] # Re: Légende urbaine : un alligator dans le ramasse-miettes
Posté par Jerome Herman . Évalué à 2.
Ensuite loin de moi l'idee de taper sur le design MS mais j'en ai ras le bol de devoir appeler des fonctions pour modifier des variables (genre setThisVariableToZero(mon_handle, mon_scope, mon_objet, mon_instance, mes_permissions, mon_jesaispastropquoi_cesttoujoursaNULL)). Et je deteste changer des variables pour generer des actions (MonHandle.makethiswork=1).
Je suis peut etre vieux jeu, mais je doit reconnaitre que j'aime bien l'idee d'utiliser des variables pour stocker des informations et d'appeler des des fonctions (ou methodes hein c'est encore mieux) pour generer des changements d'etats.
Autre gros reproche que je fais a la techno .Net et qui a mon sens est lie au cote "VM+un vague bout d'OS quand meme" c'est les #@!!$#@ de pointeurs vers des fonctions qui DOIVENT etre stockees dans des variables globales. Dans tous les livres que j'ai pu lire, ils mettent ce genre de methode dans la section "a eviter a tout prix". Et moi perso a chaque fois que j'utilise le systeme des messages de C# je grince des dents.
Voila, voila
Kha
[^] # Re: Légende urbaine : un alligator dans le ramasse-miettes
Posté par Romain Guy . Évalué à 1.
[^] #
Posté par TImaniac (site web personnel) . Évalué à 1.
Mais si tu développes une application entièrement orientée .NET (c'est le but), je vois pas trop l'intérêt d'utiliser les messages... le C# a introduit les événements beaucoup plus facile à utiliser qu'en Java par exemple...
Par contre je vois pas ce que tu entends par " c'est les #@!!$#@ de pointeurs vers des fonctions qui DOIVENT etre stockees dans des variables globales"... tu utilises ca quand ? comment ? pour faire quoi ?
Ma petite expérience de l'API .NET ne m'a pas fait rencontrer tes problèmes de "setthisvariabletozero", c toujours une structure de la forme "variable = 0;" (c'est pas pour rien que le C# a introduit les get() et set(), y'a pas besoin de chercher le nom de la fonction pour modifier une variable...). Ensuite me semble pas avoir utilisé une seule fois un changement de variable pour exécuter une action "(MonHandle.makethiswork=1)"
[^] # Re: Légende urbaine : un alligator dans le ramasse-miettes
Posté par boubou (site web personnel) . Évalué à 2.
Tout le monde n'est pas d'accord. Perso, je préfère les classes anonymes aux delegates. Dans les cas simples (une seule méthode), les delegates sont moinx verbeux, mais ils ne peuvent pas s'adapter aux cas évolués...
# Re: Légende urbaine : un alligator dans le ramasse-miettes
Posté par superpop . Évalué à 2.
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 Roger Rabbit . Évalué à 1.
une application GUI évoluée que j'utilise régulierement, netbeans [ screenshot http://antonin.tuxfamily.org/capture4.png(...) ]
sinon tu trouveras une liste de projets aboutis ici :
http://solutions.sun.com/NASApp/catalogs/en/US/adirect/sun?cmd=advi(...)
fais attention la liste est tres longue .....
pour les projets en emergence/en cours/aboutis , tu peux regarder la aussi :
http://sourceforge.net/softwaremap/trove_list.php?form_cat=198(...)
[8914 projects in result set]
[^] # Re: Légende urbaine : un alligator dans le ramasse-miettes
Posté par superpop . Évalué à 1.
Euh un IDE t'appeles ca une appli grand public toi ?
[^] # Re: Légende urbaine : un alligator dans le ramasse-miettes
Posté par Roger Rabbit . Évalué à 1.
Une grande [ majeure ] partie des softs que j'utilise ne sont pas "grand-public" ... fais le compte des appz que tu utilises régulierement,
et détermine raisonnablement si elles sont grand-public. [ je connais
un soft bogué "grand-public" ;) ]
Je répondais à ton observation "les GUI java sont un grand flop", en
mentionnant des liens mettant en valeur des applications java
fonctionnelle et utilisées IRL.
Si tu veux continuer le débat du "grand-public", je te répondrais que le
grand-public est encore majoritairement micromou ou macos ...
Comme sur de nombreux points [ tv, politique, société ... etc ] le public
doit etre informé et éduqué pour pouvoir percevoir autre chose que le
grand public, ie la substance prémaché qu'on tente de lui imposer.
[^] # Re: Légende urbaine : un alligator dans le ramasse-miettes
Posté par superpop . Évalué à 0.
- Un navigateur Web qui vaille la peine. Jamais entendu parler un browser valable en java, pkoi ?
- Une suite bureautique
- Un client mail
...
Aucune appli JAVA de ce genre n'as jamais percé ou ne s'est fait connaitre. Pourtant le java maintenant ca commence à dater et on ne peut pas dire que c'est le temps qu'ils leur a manqué ...!!!
Alors j'aimerais bien savoir pkoi Java n'a jamais reussi à percer dans ces domaines sinon parce k'il est [top] lent et mal foutu ...
D'ailleurs on peut se se demander pkoi SUN n'as pas developpé StarOffice en JAVA ???
[^] # Re: Légende urbaine : un alligator dans le ramasse-miettes
Posté par Yngwiemanux . Évalué à 1.
[^] # Re: Légende urbaine : un alligator dans le ramasse-miettes
Posté par Roger Rabbit . Évalué à 2.
maintenant tu me cites pour les langages suivants :
perl, python, php, ruby, ocaml, C# .... etc
- Un navigateur Web qui vaille la peine. Jamais entendu parler un browser valable en * pkoi ?
- Une suite bureautique
- Un client mail
Aucune appli * de ce genre n'as jamais percé ou ne s'est fait connaitre. Pourtant le * maintenant ca commence à dater et on ne peut pas dire que c'est le temps qu'ils leur a manqué ...!!!
lol, allez .....
Alors j'aimerais bien savoir pkoi * n'a jamais reussi à percer dans ces domaines sinon parce k'il est [top] lent et mal foutu ...
D'ailleurs on peut se se demander pkoi * n'as pas developpé * en * ???
[^] # Re: Légende urbaine : un alligator dans le ramasse-miettes
Posté par superpop . Évalué à -2.
Perl, python, php et ruby n'ont tres certainement pas la meme vocation que java ! Ce sont avant des langages de scritping et meme si il est possible d'ecrire des applis avec GUI, ce sont avant tout des langages pour faire des scripts.
Et puis C# est trop jeune pour le comparer à Java dans ce domaine ...
No comment pour ocaml ...
[^] # Re: Légende urbaine : un alligator dans le ramasse-miettes
Posté par Fabimaru (site web personnel) . Évalué à 1.
[^] # Re: Légende urbaine : un alligator dans le ramasse-miettes
Posté par Roger Rabbit . Évalué à 1.
[^] # Re: Légende urbaine : un alligator dans le ramasse-miettes
Posté par Romain Guy . Évalué à 3.
Tu pourras jeter un oeil sur la dernière version électronique de l'encyclopédie Britannica... c'est une interface Swing :) C'est assez grand public ?
[^] # Re: Légende urbaine : un alligator dans le ramasse-miettes
Posté par Guillaume Laurent (site web personnel) . Évalué à 2.
Dans ta petite bulle rose, peut-être pas, mais dans le monde réel oui. Une appli qui monte : Quickrules, fait par YASU.
D'ailleurs on peut se se demander pkoi SUN n'as pas developpé StarOffice en JAVA ???
Tu sais de quoi tu parles toi, c'est un bonheur. :-)
[^] # Re: Légende urbaine : un alligator dans le ramasse-miettes
Posté par superpop . Évalué à 0.
N'empeche que les personnes qui m'ont repondu sont capables de donner un voir 2 softs mais pas plus. Ca reflete bien la faible (mais pas inexistante) percée de Java dans le domaine des applis bureautiques.
[^] # Re: Légende urbaine : un alligator dans le ramasse-miettes
Posté par Guillaume Laurent (site web personnel) . Évalué à 1.
Java a plus percé dans le monde des serveurs et de l'embarqué, c'est vrai. Mais aussi pas mal en bureautique, simplement pas sous Linux (Java tourne beaucoup mieux sous Windows), et pas dans des applis grand-public.
[^] # Re: Légende urbaine : un alligator dans le ramasse-miettes
Posté par darkleon (site web personnel) . Évalué à 2.
C'est imbitable comme truc, c'est mal pensé par rapport à l'utilisateur, tu mets plein de temps avant de commencer à comprendre ou tu pourrais trouver la fonction qui t'interesse, c'est contre-intuitif. Alors oui je sais, mais un outils de développement, il faut le maitriser, ça demande du temps, bla, bla, bla.
Seulement voilà, il y a des options que tu utilises une fois quand il te tombe un oeil et entre 2 utilisations tu dois te retaper la doc pour la retrouver. Quand je parle de contre intuitif, c'est que tu ne peux même pas retrouver cette option par rapport à une logique de l'application, "j'ai besoin de ça, à priori, ça devrait être dans tel menu parce que je sais que l'application regroupe ce genre/catégories d'options dans ce menu".
Je sais bien que c'est l'IDE officielle de développement Java, mais franchement entre NetBean et Eclipse, on hésite pas longtemps.
J'ai pas aimé FORTE pour java, j'ai pas aimé NETBEAN, (j'ai travaillé sur des projets avec) je les ai toujours trouvés lourds, pas réactifs, genre tu TRAINE UN BOULET D'UNE TONNE à chaque action (et en plus fortement bugges dans le cas de forte).
Et puis on m'a montré ECLIPSE et quelques fonctionalités pratique, et paf en 10min j'étais tombé amoureux, un outils de dévéloppeurs fait par des développeurs avec pleins d'astuces pour programmer plus vite et qui EST REACTIF.
Alors NETBEAN, c'est peut être trés beau comme concept et trés dans la philosphie Java, mais ECLIPSE est carrèment plus productif.
Et attention, je ne connaissais pas ECLIPSE pendant que je travaillais avec FORTE et NETBEAN (mais c'est vrai qu'à l'époque, je preferais déjà Jbuilder5 ou "editeur de texte basique").
Et je dis ça d'autant plus ouvertement que je trouves que VISUAL AGE (la génération précedente d'IDE d'IBM) est aussi trés mal foutus, bordélique et contre intuitif.
C'est une affaire de gout et de couleurs, mais je partage mon opinion :-)
Mais je constate que IBM est reparti de zéro en prenant compte des envies et des besoins des développeur.
Alors que NetBean est un demonstrateur technologie du concept d'une application java pure et idéale.
Malheureusement, le mieux n'est pas forcément l'ami du bien.
[^] # Re: Légende urbaine : un alligator dans le ramasse-miettes
Posté par bleh . Évalué à 1.
[^] # Re: Légende urbaine : un alligator dans le ramasse-miettes
Posté par darkleon (site web personnel) . Évalué à 1.
Actuellement on travaille sur Visual Age, on va passer progressivement sous WSAD.
Pour l'instant on utilise VA pour l'appli et eclipse pour les JSP (ce qui permet d'avoir un versionning avec CVS que ne peut pas faire VA, bien sur, on peut passer par le studio je sais plus quoi jsp qui est livré avec VA, mais c'est encore plus super bordélique.
Réactif oui mais après 10 min pour démarrer ...
Ah ouais, là je dois avouer que j'ai une vue biaisé.
A la maison j'ai un athlon XP1900+ avec 512mo.
Au boulot on a des machines assez costaud de 1ghz à 2,4ghz toutes avec 512mo.
Sur les autres postes (~1ghz), quand je vois eclipse il est déjà ouvert, et j'ai eu la "chance" d'avoir un nouveau poste à 2,4ghz, donc je n'ai pas été sensibilisé sur ce point.
Et dans tous les cas on est sous win qui apparement est la configuration la plus rapide pour faire tourner Eclipse.
On prend vite le gout du luxe :-)
Dans la vue package, un auto-collapse
Tout à fait d'accord, c'est le même problème avec la plupart des gestionnaires de fichiers ou toutes les applications qui utilisent des vues en arbres (comme un éditeur XML/HTML avec les balises par exemple).
La recompilation automatique ... La vue "debug"
C'est là que je commence à m'inquiéter, comme je le dis plus haut à part faire 2 ou 3 programmes de test et la gestion des JSP, on a pas encore utilisé Eclipse de fond en comble.
C'est drôle, j'aime bien la vue "Browser" dans WSAD qui justement ressemble à Visual Age ... comme quoi les gouts et les couleurs ;-)
Tout n'est pas mauvais dans VA, mais ça été pensé pour faire des applications uniques et séparées.
Ce n'était pas vraiment adapté aux développement d'application sur serveur. Toutes les fonctions s'y rapportant ressemblent à des gros patch pour adapter l'outils.
A priori faire une application sur VA indépendante, VA peut être un bon outils.
Ce que j'ai bien aimé sur Eclipse pour l'instant, c'est la gestion automatique des imports ce qui permet de nettoyer les fichiers au fur et à mesure de son évolution et d'éviter de se retrouver avec une vingtaine d'import et ne pas savoir quels sont ceux qu'il faut garder ou pas.
Oui il faut être rigoureux et le faie systématiquement, mais quand on reprend une application existante, on a pas toujours le temps ni la visibilité pour savoir qu'est ce qui est nécessaire ou pas (je parle des imports par rapports aux autres packages développés en interne).
J'ai trouvé le systéme d'auto-complétion avec l'apparition de la javadoc particuliérement utile pour repérer rapidement la bonne fonction.
C'est vrai que j'ai tendance maintenant à écrire le début du nom de la fonction et "ctrl+espace".
ça devient de plus en plus du légo. d'un autre côté ça évite d'aller ouvrir le fichier de la classe correspondante et de rechercher le nom de la méthode. Le gain de temps est indéniable, VA faisait déjà l'auto complétion mais sans la Javadoc.
Rien n'est parfait dans ce bas monde, mais Eclipse est une IDE qui te permet d'être à jour sans dépenser pleins de sous tous les 6 mois pour les mises à jour.
Et dans un milieu professionnel, ça te permet d'être à jour, car avant d'obtenir l'autorisation de la comptabilité pour l'achat d'une version, tu as déjà 2 versions de retard.
Ce n'est pas vraiment un problème financier, car ça rentre dans les dépenses du projet, mais de réactivité du service financier.
[^] # Re: Légende urbaine : un alligator dans le ramasse-miettes
Posté par bleh . Évalué à 1.
Disons que j'ai exagéré les 10 minutes mais WSAD met bien 5 minutes montre en main à démarrer sur des P4 à 2GHz avec 1Go de mémoire (au boulot hein ! chez moi je n'ai pas cette config ;-). Cependant, à l'utilisation il est bien plus rapide que NetBeans qui utilise Swing.
C'est là que je commence à m'inquiéter, comme je le dis plus haut à part faire 2 ou 3 programmes de test et la gestion des JSP, on a pas encore utilisé Eclipse de fond en comble.
Si le projet sur lequel tu bosses n'utilise pas d'EJB (ou que tu bosses sur la partie IHM), je te conseille de ne pas debugger avec Websphere mais plutot avec Tomcat qui est bien plus léger et qui surtout évite d'être obligé de prendre un café entre chaque point d'arrêt. Autant en production Websphere est rapide autant en debug c'est un cauchemard.
Le système de recompilation quand il est activé est vraiment gonflant parce qu'une recompilation quand tu as 10 projets avec chacun près de 200 classes, ça peut prendre près de 10 minutes (vraiment) tout ça à cause d'un update de ta vue !!
Maintenant, il faut quand même reconnaître que WSAD est nickel pour ce qui est de l'intégration de tests JUnit, la complétion est formidable, le système d'organisation automatique des imports est bien pensé, programmer avec est vraiment plaisant mais comme évidemment la perfection n'est pas de ce monde (comme tu le dis), on trouve toujours quelque chose à dire. Pour moi WSAD est ce qui se fait de mieux mais je n'ai pas testé Intellij Idea (dont parle guillaume plus bas) et c'est vrai que j'en ai eu de bons echos.
[^] # Re: Légende urbaine : un alligator dans le ramasse-miettes
Posté par Guillaume Laurent (site web personnel) . Évalué à 0.
As-tu essayé Intellij Idea ?
[^] # Re: Légende urbaine : un alligator dans le ramasse-miettes
Posté par allcolor (site web personnel) . Évalué à 0.
[^] # Re: Légende urbaine : un alligator dans le ramasse-miettes
Posté par darkleon (site web personnel) . Évalué à 1.
Non, car j'utilise les outils utilisés dans les projets ou que je peux utiliser sur ma machine perso sans être un "vilain pirate".
Pour l'instant j'ai eu l'occasion d'utiliser :
JBuilder 4 & 5
Forte et NetBeans
Visual Age 3.5 & Eclipse 2.1
Je ne suis pas à la recherche d'une IDE "Absolue", mais qui soit suffisament efficace et accessible au niveau licence pour pouvoir la proposer sur un projet sans avoir à faire une demande de 6 mois.
A une époque IBM a refourgué un paquet de VA3.5 avc Websphére, mais la tendance, c'est quand même d'utiliser des IDE libres sur des projets clients ce sont eux qui fournissent l'environement et le développement est ponctuel (mais ça peut prendre trés longtemps). Et oui je travailles en SSII vite fait mal fait.
La problèmatique est différente chez un éditeur qui peut rentabiliser les licences sur plusieurs projets, mais je n'ai pas été de ce côté de la barrière.
[^] # Re: Légende urbaine : un alligator dans le ramasse-miettes
Posté par Yusei (Mastodon) . Évalué à 1.
[^] # Re: Légende urbaine : un alligator dans le ramasse-miettes
Posté par Nicolas Roard (site web personnel) . Évalué à 1.
Mais honnêtement c'est la seule appli Java gui que j'utilise ... ah plus LimeWire... mais bon ça fait pas lourd au final !
[^] # Re: Légende urbaine : un alligator dans le ramasse-miettes
Posté par Wawet76 . Évalué à 1.
[^] # Re: Légende urbaine : un alligator dans le ramasse-miettes
Posté par Nicolas Delsaux (site web personnel) . Évalué à 1.
http://java.sun.com/products/jfc/tsc/sightings/(...)
[^] # Re: Légende urbaine : un alligator dans le ramasse-miettes
Posté par Pierre Tramo (site web personnel) . Évalué à 1.
Beaucoup d'applications embarquées dans les téléphones portables, dans les télévisions et dans les décodeurs satellite de nouvelle génération sont écrites en Java.
Ce ne sont pas vraiment des technos serveur, et on trouvera difficilement d'applications plus grand public. Et même si leurs utilisateurs ne les connaissent pas en tant qu'applications (mais uniquement comme faisant partie d'un tout, mélant électronique et informatique), elles sont _très_ répandues.
# Re: Légende urbaine : un alligator dans le ramasse-miettes
Posté par Anthony . Évalué à 1.
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 Romain Guy . Évalué à 3.
Voici donc un petit printf() pour la route :
Et l'utilisation des types génériques qui évitent les cast à outrance :
[^] # Re: Légende urbaine : un alligator dans le ramasse-miettes
Posté par Dugland Bob . Évalué à 1.
LinkedList ys = new LinkedList();
ys.add("zero"); ys.add("one");
String y = ys.iterator().next();
Il est en inférence le type générique ? ça sentirait pas une peu la morue l'inférence sur des type hiérachiques à classe racine unique (et d'ailleur pas que unique ; exo : chercher pourquoi) ?¿?
[^] # Re: Légende urbaine : un alligator dans le ramasse-miettes
Posté par Romain Guy . Évalué à 1.
[^] # Re: Légende urbaine : un alligator dans le ramasse-miettes
Posté par Romain Guy . Évalué à 1.
LinkedList<String>
[^] # Re: Légende urbaine : un alligator dans le ramasse-miettes
Posté par Dugland Bob . Évalué à 1.
# Re: Légende urbaine : un alligator dans le ramasse-miettes
Posté par free2.org . Évalué à 1.
C'est d'ailleurs la même chose pour MS avec Mono .NET ...
[^] # Re: Légende urbaine : un alligator dans le ramasse-miettes
Posté par Nicolas Delsaux (site web personnel) . Évalué à 0.
Tiens, un troll poilu qui remonte ?
Je te signale à tout hasard que le langage Java est libre, évolue suivant les désirs du JCP, une communauté ouverte, et qu'il existe aussi des JVM libres (certes un peu moins développées que les JVms commerciales).
Quant à MS et Java, je te laisse regarder les archives de LinuxFr pour y constater que les problèmes sont essentiellement dûs à la stratégie embrace and extend de Microsoft.
Enfin, pour JBoss et Java, la situation est beaucoup plus complexe. Il se trouve que la norme J2EE contient un certain nombre de limitations légales ou pseudo-légales qui restreignent les capacités de communication sur le code-source, et donc rend difficile la mise en place d'un serveur Open-Source J2EE. Ce qui n'a pas empêché JOnAS de passer avec succès cette certification. Le problème entre Sun et JBoss group est donc plus dû à des querelles politiques qu'à une réelle incompatibilité.
C'est d'ailleurs la même chose pour MS avec Mono .NET ...
Pas d'avis sur la question.
[^] # Re: Légende urbaine : un alligator dans le ramasse-miettes
Posté par free2.org . Évalué à 3.
[^] # Re: Légende urbaine : un alligator dans le ramasse-miettes
Posté par Cédric Poirson . Évalué à 1.
Suivre le flux des commentaires
Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.