J'ai l'impression qu'on a deux types de commentaires:
1. OpenStep, c'est bien mangez-en, vous coderez plus vite, mieux tout ça;
2. Connais pas mais si c'était mieux, ça se saurait.
Je ne connais pas OpenStep mais le second type d'argument m'ennerve.
Il y a maintenant 8 ans, on m'a fait découvrir ocaml.
J'ai assez vite trouvé que c'était pas mal: un langage qui compile en natif mais
qui tourne aussi sur une machine virtuelle, c'est bien,ça permet de ne pas
toujours recompiler. En plus, à l'époque, le code compilé tournait peut-être
2 fois plus vite que la version natif. Ce langage était (et est toujours) développé
à l'INRIA par une petite équipe de bourrins.
À la même époque, on commençait à entredre parler de java: la révolution,
on a inventé les machines virtuelles, vous pourrez ne compiler qu'une seule
fois et ça tournera partout. Moi, ça me faisait rire. Surtout que j'ai eu à coder
en java à cette époque, sur la jvm de SUN (j'étais sur solaris). La révolution
java, je la trouvai risible. Mais les marcketeux de chez SUN étaient bons et
SUN avait assez de sous pour que tout le monde crois que java était génial.
Je ne dis pas que ce langage n'apportait rien mais il était déjà très en retard
sur beaucoup de points par rapport à certains langages académiques. Vous
allez dire que je lance un FUD et que dans cette enfilade de messages, on en
tient un et c'est suffisant. Ce que je voudrai dire, c'est que les personnes
à qui je parlais d'ocaml me disaient toutes que si ocaml, c'était bien, ça se
saurait, que les gens l'utiliseraient etc...
Quelques années plus tard, à la fac, j'ai eu un projet « compilation ». Le
langage était imposé: ocaml. Il y a eu des haut cris: ocaml, c'est de la
merde... La prof à tenu bon. En trois mois, toute la promo a appris un
nouveau langage et a écrit un compilateur pour un sous-langage de
smalltalk. Et toute la promo était fan d'ocaml. Cette même année, un prof
a tenu à ce qu'on fasse un projet en C++. Le premier jour, je lui ai dit que
C++ n'était pas adapté à ce qu'il voulait faire et qu'ocaml serait mieux.
Il a tenu bon. Trois mois plus tard, aucun projet ne fonctionnait et en deux
heures, je lui ai codé son truc en ocaml. Il m'a répondu que peut-être mon
truc fonctionnait mais c'était forcément lent. On a fait la course. Mon truc
codé en 2 heures en ocaml allait plus vite que le sien codé en C++.
Dites les gens, le problème de beaucoup de projets est que c'est chaint
de réfléchir. On veut pondre un truc vite. Alors on ne prend pas le temps
de réfléchir, on fonce tête baissée et on sort une première version. Et puis
on se rend compte que c'est largement sous-optimal alors on modifie la
spécif et on sort une seconde version, puis une troisième...
En 96, quand je codais en java, le compilo me sortait déjà qu'un certain
nombre de chose que je faisais étaient « deprecated ». Ils avaient du
réflichir longtemps avant de les définir pour que si peu de temps après, ce
soit déjà deprecated.
Alors, je me répète, je ne connais pas OpenStep mais
1. Si les spécifs d'OpenStep n'ont pas changée en 10 ans et qu'elles
permettent de faire des trucs (cf. cocoa), je trouve que ce point seul
justifie qu'on s'y intéresse;
2. Affirmer que si c'était bien, ça se saurait et que de toute façon,
C++, qt, gtk ou n'importe quoi d'autre, c'est fondamentalement mieux,
c'est d'une connerie et d'une étroitesse d'esprit affolante.
Frédéric
P.S. Le fait que je n'ai lu aucun vrai argument contre OpenStep et le
fait que la spécif reste d'actualité me font penser qu'OpenStep, c'est
bien mangez-en.
# Hors sujet mais pas tant que ça
Posté par fmaz fmaz . En réponse à la dépêche 10 ans d'OpenStep. Évalué à 10.
1. OpenStep, c'est bien mangez-en, vous coderez plus vite, mieux tout ça;
2. Connais pas mais si c'était mieux, ça se saurait.
Je ne connais pas OpenStep mais le second type d'argument m'ennerve.
Il y a maintenant 8 ans, on m'a fait découvrir ocaml.
J'ai assez vite trouvé que c'était pas mal: un langage qui compile en natif mais
qui tourne aussi sur une machine virtuelle, c'est bien,ça permet de ne pas
toujours recompiler. En plus, à l'époque, le code compilé tournait peut-être
2 fois plus vite que la version natif. Ce langage était (et est toujours) développé
à l'INRIA par une petite équipe de bourrins.
À la même époque, on commençait à entredre parler de java: la révolution,
on a inventé les machines virtuelles, vous pourrez ne compiler qu'une seule
fois et ça tournera partout. Moi, ça me faisait rire. Surtout que j'ai eu à coder
en java à cette époque, sur la jvm de SUN (j'étais sur solaris). La révolution
java, je la trouvai risible. Mais les marcketeux de chez SUN étaient bons et
SUN avait assez de sous pour que tout le monde crois que java était génial.
Je ne dis pas que ce langage n'apportait rien mais il était déjà très en retard
sur beaucoup de points par rapport à certains langages académiques. Vous
allez dire que je lance un FUD et que dans cette enfilade de messages, on en
tient un et c'est suffisant. Ce que je voudrai dire, c'est que les personnes
à qui je parlais d'ocaml me disaient toutes que si ocaml, c'était bien, ça se
saurait, que les gens l'utiliseraient etc...
Quelques années plus tard, à la fac, j'ai eu un projet « compilation ». Le
langage était imposé: ocaml. Il y a eu des haut cris: ocaml, c'est de la
merde... La prof à tenu bon. En trois mois, toute la promo a appris un
nouveau langage et a écrit un compilateur pour un sous-langage de
smalltalk. Et toute la promo était fan d'ocaml. Cette même année, un prof
a tenu à ce qu'on fasse un projet en C++. Le premier jour, je lui ai dit que
C++ n'était pas adapté à ce qu'il voulait faire et qu'ocaml serait mieux.
Il a tenu bon. Trois mois plus tard, aucun projet ne fonctionnait et en deux
heures, je lui ai codé son truc en ocaml. Il m'a répondu que peut-être mon
truc fonctionnait mais c'était forcément lent. On a fait la course. Mon truc
codé en 2 heures en ocaml allait plus vite que le sien codé en C++.
Dites les gens, le problème de beaucoup de projets est que c'est chaint
de réfléchir. On veut pondre un truc vite. Alors on ne prend pas le temps
de réfléchir, on fonce tête baissée et on sort une première version. Et puis
on se rend compte que c'est largement sous-optimal alors on modifie la
spécif et on sort une seconde version, puis une troisième...
En 96, quand je codais en java, le compilo me sortait déjà qu'un certain
nombre de chose que je faisais étaient « deprecated ». Ils avaient du
réflichir longtemps avant de les définir pour que si peu de temps après, ce
soit déjà deprecated.
Alors, je me répète, je ne connais pas OpenStep mais
1. Si les spécifs d'OpenStep n'ont pas changée en 10 ans et qu'elles
permettent de faire des trucs (cf. cocoa), je trouve que ce point seul
justifie qu'on s'y intéresse;
2. Affirmer que si c'était bien, ça se saurait et que de toute façon,
C++, qt, gtk ou n'importe quoi d'autre, c'est fondamentalement mieux,
c'est d'une connerie et d'une étroitesse d'esprit affolante.
Frédéric
P.S. Le fait que je n'ai lu aucun vrai argument contre OpenStep et le
fait que la spécif reste d'actualité me font penser qu'OpenStep, c'est
bien mangez-en.