OVH Cloud OVH Cloud

a-t-on le choix ?

444 réponses
Avatar
Tom
Bonjour,

On voit souvent des "quel linux choisir ?", des "pourquoi linux ?" etc.
Mais finalement à devoir choisir entre la peste (du côté de chez MS) et
la grippe (notre bon vieux nunux), celà ne vous arrive pas le matin en
vous réveillant de vous dire que les programmes qui font fonctionner
votre machines ne sont que des bidouillages plus ou moins réussis ?

Regardez les codes sources d'un programme en C. Même le code d'un bon
programmeur n'est rempli que d'horreurs. Ce fameux "void" : c'est quoi
cette abomination de la programmation ? Il n'y a aucune sémantique
valable là derrière. D'ailleurs les types en C n'ont de type que le nom.
Comment se fait il qu'on puisse écrire dans la 11e case d'un tableau de
10 éléments. Ce langage surestime beaucoup les capacités des personnes
qui vont l'utiliser. Une telle chose ne doit pas être possible. Comment
imaginer que ce genre de choses peut être voulu par le programmeur ?
Je pense que vous avez déjà vu du JAVA. Mais c'est à gerber cet
emboîtement de new, cette masse colossale de classes à faire pour faire
trois fois rien ! J'ose même pas imaginer la quantité de calculs
inutiles faits par la machine pour gérer ces merdes. D'accord il y a de
l'optimisation, mais c'est loin d'être suffisant.
Dans le temps les programmes étaient bidouillés parce qu'il n'y avait
pas assez de mémoire : par exemple on utilisait une variable pour
stocker deux informations. Maintenant l'horreur est à l'autre extrême :
on a tellement de mémoire de disponible que l'on utilise trop. En C :
tant pis c'est perdu. Un trou de mémoire ? Tant que le pc doit pas
redémarrer toutes les heures à cause de ça on s'en fout. En JAVA : il y
a le ramasse miettes alors on peut bouffer de la mémoire : c'est pô grave.
Dès que les programmes ont commencé à ne plus rentrer sur une disquette
ils sont devenus beaucoup trop compliqués pour fonctionner correctement.
On en vient à une époque où on trouve acceptable un programme quand il a
moins de cent bugs alors que rien que le fait de consommer trop de
ressources fait que le programme n'est pas bon. Aujourd'hui on nous
parle de .NET et de merdouilles dans le genre. A quoi ça sert de se
lancer dans la création de langages qui se copient les uns les autres.
C, C++, JAVA, Pascal : c'est la même chose, la même façon de penser. Et
c'est une manière de penser qui pousse à faire des fautes.
Bref l'informatique ne va pas fort.

Tom

10 réponses

Avatar
Thierry Boudet
On 2005-03-09, Tom wrote:

La philosophie du C est dépassée depuis vingt à trente ans.

Ben tant mieux. Je suis aussi dépassé depuis vingt ans.



--
_/°< ck&r

Avatar
Tom
Le C n'est peut-être pas parfait, évidemment, mais on peut _tout_ faire
avec, y compris des erreurs, mais c'est le prix à payer je pense.


Prix bien trop cher. Si on veut faire quelque chose on le fait bien ou
on ne le fait pas.

Tom

Avatar
nicolas vigier
On 2005-03-09, Tom wrote:
Alors si on veux pinailler, je n'ai _jamais_ vu un seul bout de code
écrit en C qui ne comporte pas à un endroit ou un autre un truc qui
n'est pas implementation defined. Et je ne parle pas de trucs
pathologiques du style i+=i++ !


Un exemple flagrant de la faiblesse du C : ce i+=i++ n'est pas un
comportement défini. Certains compilateurs vont incrémenter avant,
d'autres après l'affectation. Quel exemple de portabilité ! :-)


Ben oui, i+=i++ ca n'a aucun sens, et c'est ton probleme si tu utilises
volontairement ca dans un programme. Et un bon compilateur te previens
que tu as surement ecrit une connerie. C'est quoi la prochaine connerie
pour laquelle tu vas raler ? La fonction random() qui ne renvoit pas
toujours la meme chose ? La non fiabilite de la plupars des distribs
linux quand on execute un "rm -Rf /" en root ?

--
gpg fp: 8a7e 9719 b38d 97c6 6af0 d345 12a0 3708 2c8c 3c11
http://boklm.mars-attacks.org/


Avatar
Thierry Boudet
On 2005-03-09, Tom wrote:

Avec le Caml on arrive déjà au marteau.

Au lieu de t'énerver, montre-nous ce que tu as

réalisé avec ton "language-of-choice", comme ça
on pourra comparer...


--
_/°< coin

Avatar
Sam Hocevar
On Wed, 09 Mar 2005 10:29:08 +0100, Tom wrote:

On dirait que tu ne comprends pas très bien. Je vais te faire un
dessin pour t'expliquer. Voici une représentation d'un tableau a[10] :
____ ____ ____ ____ ____ ____ ____ ____ ____ ____
| | | | | | | | | | |
|a[0]|a[1]|a[2]|a[3]|a[4]|a[5]|a[6]|a[7]|a[8]|a[9]|
|____|____|____|____|____|____|____|____|____|____|

Comme tu peux le constater, la première case du tableau est a[0], et
la 10e case est a[9]. On se rend immédiatement compte que la 11e case de
ce tableau, s'il y en avait une, serait a[10] et non a[11] comme dans
ton exemple.


Bah à la place d'écrire dans la onzième case il écrit dans la douzième.
Que c'est magnifique.


Non, regarde le dessin de plus près : il n'y a que dix cases à ce
tableau, pas douze. Un enfant de cinq ans est capable de compter les
cases de ce tableau et voir qu'il y en a dix, un peu d'effort que diable !

Sam.
--
Sam Hocevar <http://sam.zoy.org/>
Software should be free -- http://www.debian.org/
Media access should be free -- http://www.videolan.org/
Knowledge must be free -- http://www.wikipedia.org/


Avatar
nicolas vigier
On 2005-03-09, Tom wrote:
Et je peux t'assurer que je m'efforce de suivre scrupuleusement la norme ...


C'est ça le problème en C : il faut s'efforcer de respecter la norme. Ce
qui veut dire qu'il faut le vouloir de respecter la norme. Ca veut dire
quoi ça ? Que l'on peut faire des programmes ne respectant pas les
normes ? Donc que les compilateurs ne les respectent pas ou n'arrivent
pas à forcer le programmeur à les respecter. Il y a forcément un
problème quelque part avant même que le programmeur ne tape une ligne de
code.


Ca va surement te sembler incroyable, mais oui, si tu ecris des
conneries dans un fichier et que t'essaies de compiler, ben ca marche
pas forcement tres bien. Et c'est un peu pareil en Caml, le compilo
n'est pas capable de deviner ce que tu veux faire, il se contente
d'executer ce que tu as ecrit. Scandale !

--
gpg fp: 8a7e 9719 b38d 97c6 6af0 d345 12a0 3708 2c8c 3c11
http://boklm.mars-attacks.org/


Avatar
nicolas vigier
On 2005-03-09, Tom wrote:
Mais pourtant il y a Ada et AdaOS ;-)


Ada est réputé pour être un langage sûr. Je ne connais pas plus que ça
ce langage donc je ne ferai pas de commentaires.


De toute facon quand on voit les commentaires sur les trucs que tu
pretends connaitre :)

--
gpg fp: 8a7e 9719 b38d 97c6 6af0 d345 12a0 3708 2c8c 3c11
http://boklm.mars-attacks.org/


Avatar
Tom
Non, regarde le dessin de plus près : il n'y a que dix cases à ce
tableau, pas douze. Un enfant de cinq ans est capable de compter les
cases de ce tableau et voir qu'il y en a dix, un peu d'effort que diable !


Garcimore faisait ce genre de tours de magie : rien dans la manche.
C'estpas parce qu'on ne la voit pas qu'elle n'existe pas. Mais en fait
elle n'existe juste pour que tu puisse écrire dedans.
C'est une monstruosité. Bien sûr que t'as alloué 10 cases dans ton
tableau. Mais tu peux écrire sur une onzième case et là pouf le système
ne bronche pas. Sauf si les cases avaient le malheur d'être alloués en
fin de segment et donc que cette case n'existe effectivement pas et
plante comme une merde. Le linuxien a beau faire le malin à côté du
Windozien : ses programmes plantent aussi. Rappelez vous de votre
déception quand vous l'avez découvert lors de vos premiers pas sous
linux. Naturellement vous ne vous en rappelez plus.

Tom

Avatar
Joe Cool
On 2005-03-09, Tom wrote:

Avec le Caml on arrive déjà au marteau.



Au lieu de t'énerver, montre-nous ce que tu as
réalisé avec ton "language-of-choice", comme ça
on pourra comparer...


Quand on arrive à l'argument d'autorité, c'est qu'on à plus rien à dire.

Vous êtes dos au mur.

--
Joe Cool


Avatar
nicolas vigier
On 2005-03-09, Tom wrote:
Elle se porte bien, merci pour elle. Elle aurait besoin d'un coup de
rasoir, cela dit, ça commence à faire loin.


Et après ce sont mes propos qui n'ont rien à faire ici. Vous voulez quoi
que je vienne dire toute mon admiration sur linux, c'est ça un débat ?
J'aime bien Linux. Mais c'est loin d'être bien foutu. Et pour être bien
foutu ça devrait être fait dans un langage bien foutu. Et par des gens
qui pensent autrement qu'en impératif. Mais peut être avez vous des
arguments pour me prouver que le C est un joli langage. Si ce n'est pas
le cas vous pouvez retourner à votre rasoir.


Ben tu reviendras quand t'auras ecrit un OS en caml. Ca devrait etre
super simple et aller vite, puisqu'apparement il n'y a aucun bug
possible.

--
gpg fp: 8a7e 9719 b38d 97c6 6af0 d345 12a0 3708 2c8c 3c11
http://boklm.mars-attacks.org/