-Vous avez bonne mine
-Java Bean ! Si java bien c'est java bean.
On a sur linuxfr une pseudo ligue contre le java, perso j'ai rien contre. Bien au contraire.
Souvenez vous :
-Fortran c'est nul, jamais un langage de haut niveau ne sera au niveau du code assembleur.
-Ben oui mais c'est pratique quand meme.
-C'est nul ca bouffe plein de memoire pour rien, en plus a cause d ela compilation ca sera toujours un boulet.
-Le C c'est nul, jamais il y aura autant de bibliotheques qu'en fortran.
-Ben oui mais c'est pratique quand meme
-C'est nul, ca bouffe plein de memoire pour rien, en plus sans les gotos ca sera toujours un boulet.
-Le C++ c'est nul, ca sera jamais aussi portable que le C
-Ben oui mais c'es pratique quand meme
-C'est nul, ca bouffe plein de ressources pour rien, en plus sans les pointeurs void ca sera toujours un boulet
-Java c'est nul, ca sera jamais aussi rapide que le C++
-Ben oui mais c'est pratique quand meme
-C'est nul, ca bouffe plein de memoire pour rien, en plus tant que ca tournera sur une JVM ca sera toujours un boulet.
Voila, voila,
Kha
l'informatique evolue tres vite, pour les informaticiens c'est moins sur.
# Re: Comment ca va ? Java bien
Posté par Moby-Dik . Évalué à 0.
[^] # Re: Comment ca va ? Java bien
Posté par Nicolas (site web personnel) . Évalué à 4.
[^] # Re: Comment ca va ? Java bien
Posté par Jerome Herman . Évalué à 3.
De plus le but de mon truc n'est pas de "demontrer" quoique ce soit mais juste de relever une analogie (a deux balles peut-etre, mais que dans mon imbecilite crasse je trouve pertinente). Personellement ca m'amuse c'est tout.
Kha
[^] # Re: Comment ca va ? Java bien
Posté par Larry Cow . Évalué à 1.
- Il y'a des gotos en C
- J'ai du rever, mais j'ai deja croise des pointeurs void en C++
- Java sans VM (via gcj) ne m'a guere plus convaincu que la la JVM de sun sous Linux (un poil plus rapide, mais toujours aussi long au chargement).
[^] # Re: Comment ca va ? Java bien
Posté par Moby-Dik . Évalué à 1.
- J'ai du rever, mais j'ai deja croise des pointeurs void en C++
Si tu n'aimes pas, tu n'utilises pas (mais les gens raisonnables savent qu'un goto bien placé peut parfois clarifier grandement une sous-routine). Il ne me semble pas compliqué de coder en C++ sans "goto" ni "void *" ;)
[^] # Re: Comment ca va ? Java bien
Posté par ckyl . Évalué à 2.
http://www.kerneltrap.org/node.php?id=553(...)
Le passage fort est :
robert love > I thought Edsger Dijkstra coined the "gotos are evil" bit in his
robert love > structured programming push?
linus> Yeah, he did, but he's dead, and we shouldn't talk ill of the dead.*
Au passage ceux qui n'ont pas lu ce thread a l'epoque apprendrons que les gotos peuvent clarifier grandement le code (contrairement a une idee assez courante) et meme optimiser un peu la vitesse d'execution (on parle de noyau la :-)
# Re: Comment ca va ? Java bien
Posté par Bruno (site web personnel) . Évalué à 4.
# Re: Comment ca va ? Java bien
Posté par free2.org . Évalué à 2.
[^] # Re: Comment ca va ? Java bien
Posté par stork . Évalué à 3.
[^] # Re: Comment ca va ? Java bien
Posté par free2.org . Évalué à 1.
cependant aucun n'est compatible à 100% avec le Java de Sun (c'est pas demain qu'il y aura un swing libre par exemple)
et aucun ne peut affirmer qu'il ne risque pas un jour un procès de Sun pour violation de brevet ou de copyright (voir l'exemple de SCO)
# Re: Comment ca va ? Java bien
Posté par Hobgoblins Master (Mastodon) . Évalué à 4.
Le problème n'est pas forcément là !
Je pense que la question qu'il faut se poser et que beaucoup oublient de se poser c'est : est-ce que mon programme fait ce qu'il doit faire avec les performances minimales que je me suis fixé. Si c'est oui alors le choix du langage est bon sinon, on peut améliorer le programme, si le programme est parfait mais qu'il n'atteint pas les performances escomptées alors on peut se poser la question du langage (et redescendre la cascade jusqu'au matériel si ça rame toujours trop...).
Je pense que ceux qui sont habitués à travailler avecdes cahiers des charges me comprendront facilement.
Personnellement
- je me suis jamais plongé sur un architecture de puce.
- l'assembleur : j'en ai fait un peu sur M68k, j'arrive à suivre à peut prêt sur 10 lignes quand je débug, mais c'est tout.
- le C, c'est le langage que je connais le mieux, il convient tout à fait à la plupart de mes besoins, c'est mon langage de prédilection.
- le C++ (peut-être que je devrais m'y mettre)
- le java, je l'utilise quand je veux faire de l'objet, à partir d'une modélisation (UML avec ou sans génération de code automatique), ou tout simplement quand je veux pas avoir à recompiler quand je change de plate-forme.
- les autres langages, j'arrive à peut près à comprendre des programmes courts...
[^] # Re: Comment ca va ? Java bien
Posté par Jerome Herman . Évalué à 4.
Ca c'est justement ce que l'on a tendance a penser intuitivement. Et bien que ce soit vrai, la question est : "est-ce que c'est realisable".
Perso dans mon boulot j'ai rencontre un paquet de gens qui me disais que l'assembleur etait tres superieur au C au niveau optimisation, surtout en ce qui concerne le bas niveau. A tous ces gens la je leur ai demande d'ecrire un malloc qui soit thread-safe et qui batte le malloc GNU compile avec GCC. Ben j'attend toujours.
Le fait que ce soit possible ne veut pas dire que ce soit faisable. Il arrive que dans un projet on tombe sur une routine qui va etre appelee pleins de fois et que le compilateur va optimiser pour une utilisation generique, alors que, dans ce cas particulier, c'est justement ce qu'il ne faut surtout pas faire. Pour ce cas de figure l'assembleur va etre la methode a utiliser pour ameliorer les perfs. Mais l'immense majorite du code restera en C.
Aujourd'hui il est impossible por une equipe de taille normal d'optimiser un programme d'un bout a l'autre et de l'ecrire tout en assembleur. On peut deja considerer que les compilateurs "battent" les programmeurs assembleur dans 90% des cas.
Pour la JVM le meme question se pose, pour l'instant les bonus d'optimisation apportees par une JVM ne sont pas aussi fort que ceux apportes par un compilateur dans la majorite des cas. Mais on peut se demander si ca ne va pas s'inverser. Sur un processeur de type RISC pur (processeur dit a architecture "moderne") on sait deja qu'une dynamo (emulation du processeur sur lui meme) entrainne en moyenne une acceleration des perfs de l'ordre de 10% (oui vous avez bien lu), parceque certains couplages d'appels qui n'avaient pas pu etre fait par le compilateur deviennent possibles. Donc potentiellement une JVM peut ameliore l'execution d'un programme. Peut elle le faire suffisament pour que ca soit tres difficile de battre une JVM avec un compilo dedie architecture ? Pas pour l'instant, peut etre jamais. Mais ca pourrait fort bien arriver, et perso je pense que ca arrivera plus vite qu'on ne le pense.
Kha
[^] # Re: Comment ca va ? Java bien
Posté par cedric . Évalué à 1.
Mais la n'est pas le probleme. Aujourd'hui avant d'optimiser son code en l'ecrivant, il vaut mieux commencer par s'occuper des acces memoires et faire un peu gaffe avec ce qu'on fait de ce cote la. La pluspart d'entre nous enchainons les malloc et eparpillons allegrement nos donnes mettant les caches a tres rudes epreuves, voir les rendant innefficace, or on perd facilement des dizaines de cycles, voir dans certain cas extreme des centaines. Alors qu'en assembleur on economise souvent que quelques cycles (exeption faite du calcul vectoriel qui n'a pour l'instant pas de langage facilitant son utilisation).
Donc, oui le Java est lent, mais ce n'est pas la faute au langage, mais de celle de sa jeunesse. Maintenant le C/C++ s'est bien quand on sait les utiliser, sinon ce sera lent aussi.
[^] # Re: Comment ca va ? Java bien
Posté par Larry Cow . Évalué à 0.
A propos de langage: le français tu en pense quoi? :)
[^] # Re: Comment ca va ? Java bien
Posté par outs . Évalué à 1.
Pas mal mais je prefere le lojban voir l'esperanto à la limite ;)
[^] # Re: Comment ca va ? Java bien
Posté par Tutur . Évalué à 1.
Sinon, le français n'a aucune logique.
[^] # Re: Comment ca va ? Java bien
Posté par Moby-Dik . Évalué à 1.
Hum ;)
# Re: Comment ca va ? Java bien
Posté par Boa Treize (site web personnel) . Évalué à 1.
C'est de toi, ou c'est repompé d'ailleurs ?
[^] # Re: Comment ca va ? Java bien
Posté par Olivier MARTIN . Évalué à 1.
Aujourd'hui tous les grands comptes tournent soit sous J2EE soit sous COM+ en grande majorité.
Si c'était "dla daube", ca se saurait.
[^] # Re: Comment ca va ? Java bien
Posté par ukemi . Évalué à 4.
[^] # Re: Comment ca va ? Java bien
Posté par Jerome Herman . Évalué à 1.
Kha
# Re: Comment ca va ? Java bien
Posté par iug . Évalué à 1.
Avec Java, je ne pense pas que ce soit possible d'être que 30% plus lent que le C. D'autant qu'à mon goût, le C c'est moins lourd à utiliser. J'ai du mal à voir les progrès réalisés par Java niveau commodité de codage. Si on le compare à C++ alors là on se rend compte que c'est une régression pas possible.
Java ça parraît mieux que le reste juste parce qu'il y a trois tonnes de librairies propriétaires. Et me dites pas que c'est portable parce que ça c'est un peu bidon comme argument. Y'a pas des masses d'archi sur lesquelles le JDK Sun est porté en entier. Le C basé sur des libs GNUS c'est plus portable :)
[^] # Re: Comment ca va ? Java bien
Posté par curlydemoniak . Évalué à 2.
[^] # Re: Comment ca va ? Java bien
Posté par cedric . Évalué à 1.
Maintenant vu la complexite et les regles de codage on ne peut plus infame, il est tres difficile aujourd'hui de produire de l'assembleur performant sans "tricher" avec les calculs vectoriels. Les compilos ont pas mal gagne grace a de meilleurs algos de scheduling et d'allocation des registres. Mais ce n'est toujours pas parfait, normal, car si je ne me trompes pas c'est un probleme NP complet.
[^] # Re: Comment ca va ? Java bien
Posté par Jerome Herman . Évalué à 1.
Et puis c'est pas parcequ'un code est vectorisable qu'il faut le vectoriser. Par exemple si j'ai une suite d'instructions qui prennent 6 parametres, c'est generalement une tres mauvaise idee de bloquer 6 registres pour vectoriser mon code. Parcque meme si je peux faire un preload de folie, derriere j'ai plus de registres pour effectuer mes instructions et ca va etre la fete dans la pile pour pouvoir m'en sortir.
A ce niveau la, une intervention humaine peut faire la difference, determiner quel code est vectorisable est plus un boulot qui requiert surtout de savoir quel va etre la priorite de ton appli, dans quel type d'environement elle tourne etc. C'est bien beau d'avoir un code vectorisabel qui tourne vite, mais si c'est pour le mettre en tache de fond ou il se fera interrompre a tout va ca sert a rien.
Ceci etant c'est vrai que lorsque je dois extraire des patch de beziers d'un nuage de points ou faire des conversion d'espace de couleurs avec compression sans perte sur de grosses images (ca fait tres longtemps que j'ai plus joue a ca, j'ai surement perdu la main) l'assembleur etait la solution la plus rapide. Mais ca rentre dans le cadre de 10% pour lesquels le compilo se fait battre par le programmeur assembleur. Reste 90%.
Kha
[^] # Re: Comment ca va ? Java bien
Posté par Jerome Herman . Évalué à 1.
Ben si tu veux au moment de la sortie du P4 les petits gars de chez intel ils ont fait un spec-test optimise assembleur P4. Bilan : 28% plus rapide que GCC sur les entiers.
Depuis le compilo Intel C/C++ avec optimisations P4 est sorti, bilan : 31% plus rapide que GCC sur les entiers. Bien sur dans l'intervalle GCC a fait beaucoup de progres sur les archi P4.
En fait le code fait a l'epoque en assembleur par les ingenieurs Intel est considere comme 10 a 15% plus lent que celui genere par le compilateur Intel aujourd'hui(toujours sur les entiers).
Kha
[^] # Re: Comment ca va ? Java bien
Posté par Nelis (site web personnel) . Évalué à 1.
Sinon, peux-tu m'expliquer la "régression pas possible" par rapport au C++ ?
Rien que le côté dynamique de Java (réfléxion, chargement de classes dynamiques, ...) et le security manager, ça fait déjà un énorme pas en avant.
# Re: Comment ca va ? Java bien
Posté par Fulgrim . Évalué à 3.
[^] # Re: Comment ca va ? Java bien
Posté par ukemi . Évalué à 6.
-visual basic Bean ! Si visual basic bien c'est visual basic bean.
mouais bof
# Re: Comment ca va ? Java bien
Posté par Tutur . Évalué à 2.
Le C portable, je demande a voir. Deja que le code depent du compilo, j'ose pas imaginer quand on change d'OS ou de manchine.
Sinon, tu as oublié les langage suivant: perl, python, ada.
En fait le gros pbs du java, c'est qu'il n'arrive pas a trouver sa place.
On l'utilisait pour le web, mais maintenant, c'est PHP qui le remplace.
En fait chaque langage a plus ou moins son domaine de predilection:
Perl: traitement de chaine de caractére
Fortran: calcul
HTML: pages web
PHP: pages web dynamique
Shell: petit scripts qui facilite la vie
C: Systemes
Ada: applications sécurisés, gros projets
J'en oublie pas mal (patapé patapé), mais libre à vous de completer la liste.
Sinon, si on trouve beacoup de soft en C/C++, c'est parce qu'un grand nombre de personnes ne savent pas programmer mais juste pisser du code C/C++
[^] # Re: Comment ca va ? Java bien
Posté par Cyril . Évalué à 1.
Le C portable, je demande a voir. Deja que le code depent du compilo, j'ose pas imaginer quand on change d'OS ou de manchine.
Il me semble que tu peut garder le meme compilateur entre differentes plateforme ... Et si le c est reputé portable c'est peut etre pas des conneries ...
Perl: traitement de chaine de caractére
c'est peut etre un peu reducteur non ?
Fortran: calcul
Je ne connait pas assez pour donner mon avis ...
HTML: pages web
Le HTML est un language de programmation ? j'apelerais plutot ça un language de description de document.
Sinon, si on trouve beacoup de soft en C/C++, c'est parce qu'un grand nombre de personnes ne savent pas programmer mais juste pisser du code C/C++
Je me demande si je ne suis pas tombé ds un gros troll poilu ....
[^] # Re: Comment ca va ? Java bien
Posté par XHTML/CSS inside (site web personnel) . Évalué à 1.
Je ne connait pas assez pour donner mon avis ...
C'est vrai !
Je ne conteste pas la rapidité de l'assembleur, mais faites un programme de multiplication de matrices en assembleur, et le même en Fortran... vous aurez certainement moins mal au crâne en fortran !
HTML: pages web
Le HTML est un language de programmation ? j'apelerais plutot ça un language de description de document.
Mouais, je suis à moitié d'accord. Je n'arrive pas à dire qu'HTML est un langage de programmation, mais ça me semble un petit peu réducteur de dire que c'est juste un langage de description de document...
a+
[^] # Re: Comment ca va ? Java bien
Posté par Hobgoblins Master (Mastodon) . Évalué à 1.
# Re: Comment ca va ? Java bien
Posté par Kriek . Évalué à 2.
The Tao gave birth to machine language. Machine language gave birth to the assembler.
The assembler gave birth to the compiler. Now there are ten thousand languages.
Each language has its purpose, however humble. Each language expresses the Yin and Yang of software. Each language has its place within the Tao.
But do not program in COBOL if you can avoid it.
# Re: Comment ca va ? Java bien
Posté par Yannick Beynet (site web personnel) . Évalué à 1.
[^] # Re: Comment ca va ? Java bien
Posté par Jerome Herman . É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.