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.
J'ai un compilateur qui produit : Runtime error: dereferencing invalid pointer
un autre : Erreur de segmentation
Ce n'est pas ce que j'appelle sans un mot.
Moi j'appelle ça indécis. On a clairement un cas de comportement mal défini. De plus c'est quoi cette erreur de segmentation : à l'exécution de la compilation (quel super compilateur) ou à l'exécution du programme (quel super compilateur).
C'est d'autant plus douteux sur les machines qui ne segmentent pas la mémoire.
Et ceci quelque soit le langage. La seule manière d'éviter un maximum d'erreur est de tester abondamment.
Permettez moi de vomir. Beuaaaaaaaaaaa Ah ça va mieux. Non mais. Tester un programme pour voir si il est valide. C'est bien digne d'un programmeur en C.
Bof, à une fusée Ariane pour chaque essai, à combien peut s'élever le déboguage d'un programme de contrôle en C ?
Á un paralytique par essai, à combien peut s'élever le coût de mise au point d'un contrôleur de poumon d'acier écrit en C ?
Ce ne sont que des exemples plus ou moins théorique. La réalité est bien pire. Je n'aimerais pas rebooter un Airbus en vol.
-- Joe Cool
J'ai un compilateur qui produit :
Runtime error: dereferencing invalid pointer
un autre :
Erreur de segmentation
Ce n'est pas ce que j'appelle sans un mot.
Moi j'appelle ça indécis. On a clairement un cas de comportement mal
défini. De plus c'est quoi cette erreur de segmentation : à l'exécution
de la compilation (quel super compilateur) ou à l'exécution du programme
(quel super compilateur).
C'est d'autant plus douteux sur les machines qui ne segmentent pas la
mémoire.
Et ceci quelque soit le langage. La seule manière d'éviter un maximum
d'erreur est de tester abondamment.
Permettez moi de vomir. Beuaaaaaaaaaaa
Ah ça va mieux. Non mais. Tester un programme pour voir si il est
valide. C'est bien digne d'un programmeur en C.
Bof, à une fusée Ariane pour chaque essai, à combien peut s'élever le
déboguage d'un programme de contrôle en C ?
Á un paralytique par essai, à combien peut s'élever le coût de mise au
point d'un contrôleur de poumon d'acier écrit en C ?
Ce ne sont que des exemples plus ou moins théorique. La réalité est bien
pire. Je n'aimerais pas rebooter un Airbus en vol.
J'ai un compilateur qui produit : Runtime error: dereferencing invalid pointer
un autre : Erreur de segmentation
Ce n'est pas ce que j'appelle sans un mot.
Moi j'appelle ça indécis. On a clairement un cas de comportement mal défini. De plus c'est quoi cette erreur de segmentation : à l'exécution de la compilation (quel super compilateur) ou à l'exécution du programme (quel super compilateur).
C'est d'autant plus douteux sur les machines qui ne segmentent pas la mémoire.
Et ceci quelque soit le langage. La seule manière d'éviter un maximum d'erreur est de tester abondamment.
Permettez moi de vomir. Beuaaaaaaaaaaa Ah ça va mieux. Non mais. Tester un programme pour voir si il est valide. C'est bien digne d'un programmeur en C.
Bof, à une fusée Ariane pour chaque essai, à combien peut s'élever le déboguage d'un programme de contrôle en C ?
Á un paralytique par essai, à combien peut s'élever le coût de mise au point d'un contrôleur de poumon d'acier écrit en C ?
Ce ne sont que des exemples plus ou moins théorique. La réalité est bien pire. Je n'aimerais pas rebooter un Airbus en vol.
-- Joe Cool
Tom
ah ? Ca vient de sortir ? Au niveau machine la récursivité est gérée par une pile. J'ose espérer
qu'un compilateur sait optimiser une pile. Sinon c'est plus grâve que ce que je pensais.
Tom
ah ? Ca vient de sortir ?
Au niveau machine la récursivité est gérée par une pile. J'ose espérer
qu'un compilateur sait optimiser une pile. Sinon c'est plus grâve que ce
que je pensais.
ah ? Ca vient de sortir ? Au niveau machine la récursivité est gérée par une pile. J'ose espérer
qu'un compilateur sait optimiser une pile. Sinon c'est plus grâve que ce que je pensais.
Tom
Tom
Vient donc la question: dans quel langage devrait-on le récrire, à ton avis, pour que ça devienne bien foutu ?
En Caml, pour commencer. Parce que dans vingt ans il y aura mieux. Et il ne faudra pas avoir peur de changer, ce qui est le cas aujourd'hui. Regardez comme tous ces gens sont paniqués ! Bah faorcément ! Pour des non informaticiens ce sont des dieux, il arrivent à faire calculer des trucs par une machine. Alors quand on leur remet les pieds sur terre et qu'on leur dit que ce qu'ils font est dépassé depuis vingt ans ils ont peur. Que voulez vous que je vous dise.
Tom
Vient donc la question: dans quel langage devrait-on le récrire, à ton
avis, pour que ça devienne bien foutu ?
En Caml, pour commencer. Parce que dans vingt ans il y aura mieux. Et il
ne faudra pas avoir peur de changer, ce qui est le cas aujourd'hui.
Regardez comme tous ces gens sont paniqués ! Bah faorcément ! Pour des
non informaticiens ce sont des dieux, il arrivent à faire calculer des
trucs par une machine. Alors quand on leur remet les pieds sur terre et
qu'on leur dit que ce qu'ils font est dépassé depuis vingt ans ils ont
peur. Que voulez vous que je vous dise.
Vient donc la question: dans quel langage devrait-on le récrire, à ton avis, pour que ça devienne bien foutu ?
En Caml, pour commencer. Parce que dans vingt ans il y aura mieux. Et il ne faudra pas avoir peur de changer, ce qui est le cas aujourd'hui. Regardez comme tous ces gens sont paniqués ! Bah faorcément ! Pour des non informaticiens ce sont des dieux, il arrivent à faire calculer des trucs par une machine. Alors quand on leur remet les pieds sur terre et qu'on leur dit que ce qu'ils font est dépassé depuis vingt ans ils ont peur. Que voulez vous que je vous dise.
Tom
Tom
La premiere consequence de ces theormes est que la Verite ne peut pas etre exprime en terme de demonstrabilite. Une chose prouvable n'est pas necssairement vraie et une chose vraie n'est pas toujours prouvable.
Révisez le théorème de Gödel. Parce que là je vais tomber dans les vappes à lire des conneries pareilles.
Je ne voue pas un culte au C. Je constate simplement que pour ecrire un Device Driver, le Basic n'est pas tip top (lisp non plus). Chaque langage a ses qulités, ses défauts et ses champs d'application. Il n'existe pas de langage parfait. Le C a simplement l'intéret d'etre assez proche de la machine pour permettre la réalisation d'applications "couches basse" tout un apportant un niveau d'abstraction pour facilité la protabilité du code. Point-barre. Après le simili Gödel, le simili Bach.
Non sans rire, vous avez bien avalé ce qu'on vous a dit en apprenant le C. Vous croyez au père noël aussi ? Faut arrêter les conneries 5 minutes. Le C n'est pas proche de la machine. Il est juste une surcouche au dessus des langages d'assemblages qui constituent les instructions d'une grosse partie des processeurs actuels. Si les processeurs étaient bien foutus ce ne serait pas le cas.
Tom
La premiere consequence de ces theormes est que la Verite ne peut pas
etre exprime en terme de demonstrabilite. Une chose prouvable n'est pas
necssairement vraie et une chose vraie n'est pas toujours prouvable.
Révisez le théorème de Gödel. Parce que là je vais tomber dans les
vappes à lire des conneries pareilles.
Je ne voue pas un culte au C. Je constate simplement que pour ecrire un
Device Driver, le Basic n'est pas tip top (lisp non plus). Chaque
langage a ses qulités, ses défauts et ses champs d'application. Il
n'existe pas de langage parfait. Le C a simplement l'intéret d'etre
assez proche de la machine pour permettre la réalisation d'applications
"couches basse" tout un apportant un niveau d'abstraction pour facilité
la protabilité du code. Point-barre.
Après le simili Gödel, le simili Bach.
Non sans rire, vous avez bien avalé ce qu'on vous a dit en apprenant le
C. Vous croyez au père noël aussi ? Faut arrêter les conneries 5
minutes. Le C n'est pas proche de la machine. Il est juste une surcouche
au dessus des langages d'assemblages qui constituent les instructions
d'une grosse partie des processeurs actuels. Si les processeurs étaient
bien foutus ce ne serait pas le cas.
La premiere consequence de ces theormes est que la Verite ne peut pas etre exprime en terme de demonstrabilite. Une chose prouvable n'est pas necssairement vraie et une chose vraie n'est pas toujours prouvable.
Révisez le théorème de Gödel. Parce que là je vais tomber dans les vappes à lire des conneries pareilles.
Je ne voue pas un culte au C. Je constate simplement que pour ecrire un Device Driver, le Basic n'est pas tip top (lisp non plus). Chaque langage a ses qulités, ses défauts et ses champs d'application. Il n'existe pas de langage parfait. Le C a simplement l'intéret d'etre assez proche de la machine pour permettre la réalisation d'applications "couches basse" tout un apportant un niveau d'abstraction pour facilité la protabilité du code. Point-barre. Après le simili Gödel, le simili Bach.
Non sans rire, vous avez bien avalé ce qu'on vous a dit en apprenant le C. Vous croyez au père noël aussi ? Faut arrêter les conneries 5 minutes. Le C n'est pas proche de la machine. Il est juste une surcouche au dessus des langages d'assemblages qui constituent les instructions d'une grosse partie des processeurs actuels. Si les processeurs étaient bien foutus ce ne serait pas le cas.
Tom
Joe Cool
Oui, mais je vous ai demandé ce qui posait problème, pas d'essayer d'exhiber chez moi une quelconque incompétence.
Un tres bon résumé est donné par http://membres.lycos.fr/godel/ :
Votre très bon résumé, c'est du n'importe quoi qui mélange morphologie, syntaxe, sémantique et philosophie à deux balles.
La premiere consequence de ces theormes est que la Verite ne peut pas etre exprime en terme de demonstrabilite.
C'est faux.
Une chose prouvable n'est pas necéssairement vraie et une chose vraie n'est pas toujours prouvable.
Quelle horreur !
Alors ton argument sur La Preuve Mathématique comme Vérité Absolue ;-)
Vous feriez mieux d'étudier un peu plus le problème. Visiblement, vous n'avez rien compris.
Je te conseille la lecture de l'excellentissime livre : http://www.lmet.fr/fiche.cgi?_ISBN=2-10-005435-X
Et moi je vous conseille la lecture de cet article :
« Über formal unentscheidbare Sätze der Principia Mathematica und verwandter Systeme », dans Monatshefte für Mathematik und Physik, volume 38, 1931;
Oui et ?
En gros cet article prouve qu'il existe des taches que l'esprit humain peut resoudre et pas la machine.
Ha ha ha ha ha !
Ca va dans le sens de ce que je dis.
Oui, il vous manque juste la compétence pour comprendre ce que vous avez lu.
Putain j'ai failli me pisser dessus !
Á défaut de spouvoir expliquer le pourquoi de cette incontinence, comme la totalité des intervenants dans ce fil. Je n'ai lu aucun argument en faveur du C, et pourtant tout le monde (ou presque) continue à vouer un culte incohérent à ce langage et à ses dérivés directs (C++, etc.) et indirects (linux, etc.)
Je ne voue pas un culte au C. Je constate simplement que pour ecrire un Device Driver, le Basic n'est pas tip top (lisp non plus).
C'est autant « tip top » que nécessaire. Seulement quand ils voient que les pilotes sont programmés en C dans les grosses boites (observation faite il y a quelques dizaines d'années), les informaticiens se disent qu'on ne peut pas faire autrement. L'inertie intellectuelle fait le reste.
Chaque langage a ses qulités, ses défauts et ses champs d'application. Il n'existe pas de langage parfait.
Même si il n'existe pas de langage parfait il existe des langages meilleurs que les autres. En particulier, il existe des langages complètement nuls, comme le C. Ce sont des langages qui ne sont adaptés à rien, mais dont l'usage remplace la valeur : la seule valeur du C est de structurer la tribu des ingénieurs informaticiens, un peu comme un e bannière.
Le C a simplement l'intéret d'etre assez proche de la machine pour permettre la réalisation d'applications "couches basse" tout un apportant un niveau d'abstraction pour facilité la protabilité du code.
Vous rabachez ce qu'on vous a appris, sans comprendre, sans avoir cherché à savoir quelle part de vérité il y a la dessous.
- le C n'est pas portable car sa spécification n'est pas rigoureuse; - le C n'est pas plus proche de la machine que n'importe quel autre langage : c'est le compilateur qui rend un langage aussi proche de la machine que l'on veut; - le C ne survit que par les mythes qui circulent dans la communauté des informaticiens, mythes ayant avec le temps et l'autorité des plus âgés atteint le rand de vérité absolue, que seuls les trolls peuvent contredire.
Nous sommes faces à une orthodoxie irrationnelle.
-- Joe Cool
Oui, mais je vous ai demandé ce qui posait problème, pas d'essayer
d'exhiber chez moi une quelconque incompétence.
Un tres bon résumé est donné par http://membres.lycos.fr/godel/ :
Votre très bon résumé, c'est du n'importe quoi qui mélange morphologie,
syntaxe, sémantique et philosophie à deux balles.
La premiere consequence de ces theormes est que la Verite ne peut pas
etre exprime en terme de demonstrabilite.
C'est faux.
Une chose prouvable n'est pas
necéssairement vraie et une chose vraie n'est pas toujours prouvable.
Quelle horreur !
Alors ton argument sur La Preuve Mathématique comme Vérité Absolue ;-)
Vous feriez mieux d'étudier un peu plus le problème. Visiblement, vous
n'avez rien compris.
Je te conseille la lecture de l'excellentissime livre :
http://www.lmet.fr/fiche.cgi?_ISBN=2-10-005435-X
Et moi je vous conseille la lecture de cet article :
« Über formal unentscheidbare Sätze der Principia Mathematica und
verwandter Systeme », dans Monatshefte für Mathematik und Physik,
volume 38, 1931;
Oui et ?
En gros cet article prouve qu'il existe des taches que l'esprit humain
peut resoudre et pas la machine.
Ha ha ha ha ha !
Ca va dans le sens de ce que je dis.
Oui, il vous manque juste la compétence pour comprendre ce que vous avez lu.
Putain j'ai failli me pisser dessus !
Á défaut de spouvoir expliquer le pourquoi de cette incontinence,
comme la totalité des intervenants dans ce fil. Je n'ai lu aucun
argument en faveur du C, et pourtant tout le monde (ou presque)
continue à vouer un culte incohérent à ce langage et à ses dérivés
directs (C++, etc.) et indirects (linux, etc.)
Je ne voue pas un culte au C. Je constate simplement que pour ecrire un
Device Driver, le Basic n'est pas tip top (lisp non plus).
C'est autant « tip top » que nécessaire. Seulement quand ils voient que
les pilotes sont programmés en C dans les grosses boites (observation
faite il y a quelques dizaines d'années), les informaticiens se disent
qu'on ne peut pas faire autrement. L'inertie intellectuelle fait le reste.
Chaque
langage a ses qulités, ses défauts et ses champs d'application. Il
n'existe pas de langage parfait.
Même si il n'existe pas de langage parfait il existe des langages
meilleurs que les autres. En particulier, il existe des langages
complètement nuls, comme le C. Ce sont des langages qui ne sont adaptés
à rien, mais dont l'usage remplace la valeur : la seule valeur du C est
de structurer la tribu des ingénieurs informaticiens, un peu comme un e
bannière.
Le C a simplement l'intéret d'etre
assez proche de la machine pour permettre la réalisation d'applications
"couches basse" tout un apportant un niveau d'abstraction pour facilité
la protabilité du code.
Vous rabachez ce qu'on vous a appris, sans comprendre, sans avoir
cherché à savoir quelle part de vérité il y a la dessous.
- le C n'est pas portable car sa spécification n'est pas rigoureuse;
- le C n'est pas plus proche de la machine que n'importe quel autre
langage : c'est le compilateur qui rend un langage aussi proche de la
machine que l'on veut;
- le C ne survit que par les mythes qui circulent dans la communauté des
informaticiens, mythes ayant avec le temps et l'autorité des plus âgés
atteint le rand de vérité absolue, que seuls les trolls peuvent contredire.
Oui, mais je vous ai demandé ce qui posait problème, pas d'essayer d'exhiber chez moi une quelconque incompétence.
Un tres bon résumé est donné par http://membres.lycos.fr/godel/ :
Votre très bon résumé, c'est du n'importe quoi qui mélange morphologie, syntaxe, sémantique et philosophie à deux balles.
La premiere consequence de ces theormes est que la Verite ne peut pas etre exprime en terme de demonstrabilite.
C'est faux.
Une chose prouvable n'est pas necéssairement vraie et une chose vraie n'est pas toujours prouvable.
Quelle horreur !
Alors ton argument sur La Preuve Mathématique comme Vérité Absolue ;-)
Vous feriez mieux d'étudier un peu plus le problème. Visiblement, vous n'avez rien compris.
Je te conseille la lecture de l'excellentissime livre : http://www.lmet.fr/fiche.cgi?_ISBN=2-10-005435-X
Et moi je vous conseille la lecture de cet article :
« Über formal unentscheidbare Sätze der Principia Mathematica und verwandter Systeme », dans Monatshefte für Mathematik und Physik, volume 38, 1931;
Oui et ?
En gros cet article prouve qu'il existe des taches que l'esprit humain peut resoudre et pas la machine.
Ha ha ha ha ha !
Ca va dans le sens de ce que je dis.
Oui, il vous manque juste la compétence pour comprendre ce que vous avez lu.
Putain j'ai failli me pisser dessus !
Á défaut de spouvoir expliquer le pourquoi de cette incontinence, comme la totalité des intervenants dans ce fil. Je n'ai lu aucun argument en faveur du C, et pourtant tout le monde (ou presque) continue à vouer un culte incohérent à ce langage et à ses dérivés directs (C++, etc.) et indirects (linux, etc.)
Je ne voue pas un culte au C. Je constate simplement que pour ecrire un Device Driver, le Basic n'est pas tip top (lisp non plus).
C'est autant « tip top » que nécessaire. Seulement quand ils voient que les pilotes sont programmés en C dans les grosses boites (observation faite il y a quelques dizaines d'années), les informaticiens se disent qu'on ne peut pas faire autrement. L'inertie intellectuelle fait le reste.
Chaque langage a ses qulités, ses défauts et ses champs d'application. Il n'existe pas de langage parfait.
Même si il n'existe pas de langage parfait il existe des langages meilleurs que les autres. En particulier, il existe des langages complètement nuls, comme le C. Ce sont des langages qui ne sont adaptés à rien, mais dont l'usage remplace la valeur : la seule valeur du C est de structurer la tribu des ingénieurs informaticiens, un peu comme un e bannière.
Le C a simplement l'intéret d'etre assez proche de la machine pour permettre la réalisation d'applications "couches basse" tout un apportant un niveau d'abstraction pour facilité la protabilité du code.
Vous rabachez ce qu'on vous a appris, sans comprendre, sans avoir cherché à savoir quelle part de vérité il y a la dessous.
- le C n'est pas portable car sa spécification n'est pas rigoureuse; - le C n'est pas plus proche de la machine que n'importe quel autre langage : c'est le compilateur qui rend un langage aussi proche de la machine que l'on veut; - le C ne survit que par les mythes qui circulent dans la communauté des informaticiens, mythes ayant avec le temps et l'autorité des plus âgés atteint le rand de vérité absolue, que seuls les trolls peuvent contredire.
Nous sommes faces à une orthodoxie irrationnelle.
-- Joe Cool
nicolas vigier
On 2005-03-09, Tom wrote:
Après le simili Gödel, le simili Bach. Non sans rire, vous avez bien avalé ce qu'on vous a dit en apprenant le C. Vous croyez au père noël aussi ? Faut arrêter les conneries 5 minutes. Le C n'est pas proche de la machine. Il est juste une surcouche au dessus des langages d'assemblages qui constituent les instructions d'une grosse partie des processeurs actuels.
Ce qui pour resumer, s'appelle un langage proche de la machine.
Après le simili Gödel, le simili Bach.
Non sans rire, vous avez bien avalé ce qu'on vous a dit en apprenant le
C. Vous croyez au père noël aussi ? Faut arrêter les conneries 5
minutes. Le C n'est pas proche de la machine. Il est juste une surcouche
au dessus des langages d'assemblages qui constituent les instructions
d'une grosse partie des processeurs actuels.
Ce qui pour resumer, s'appelle un langage proche de la machine.
Après le simili Gödel, le simili Bach. Non sans rire, vous avez bien avalé ce qu'on vous a dit en apprenant le C. Vous croyez au père noël aussi ? Faut arrêter les conneries 5 minutes. Le C n'est pas proche de la machine. Il est juste une surcouche au dessus des langages d'assemblages qui constituent les instructions d'une grosse partie des processeurs actuels.
Ce qui pour resumer, s'appelle un langage proche de la machine.
Oui, et il n'y a pas que les maths dans la vie. Il y a même des gens qui pensent que les maths, on n'en a rien à faire. Ou que si un événement a une probabilité 10^{-30} de se produire, c'est exactement pareil en ce qui nous concerne que s'il est impossible qu'il se produise. Ou encore que le formattage des informaticiens français par d'anciens mathématiciens généralement de seconde classe, pour rester poli, est une des grandes catastrophes de notre enseignement. Ou plus généralement le formattage des scientifiques français par les mathématiques, d'ailleurs on s'occupe en ce moment de faire cesser cette aberration ....
Quelle idée est passée par la tête des informaticiens théoriciens de tenter de prouver des programmes ? Les gens aiment les bugs, les programmes pourris jusqu'à la moelle. Laissons les dans leur merde. Les maths : aaaahrg c'est trop compliqué, faut pas toucher ! Faut laisser ça aux mathématiciens. Non mais vous croyez que Facom fait des tournevis que pour le plaisir ? Et bien les matheux c'est pareil : il ne font pas des maths juste pour avoir l'air intelligents.
Tom
Oui, et il n'y a pas que les maths dans la vie. Il y a même des gens qui
pensent que les maths, on n'en a rien à faire. Ou que si un événement a une
probabilité 10^{-30} de se produire, c'est exactement pareil en ce qui nous
concerne que s'il est impossible qu'il se produise. Ou encore que le
formattage des informaticiens français par d'anciens mathématiciens
généralement de seconde classe, pour rester poli, est une des grandes
catastrophes de notre enseignement. Ou plus généralement le formattage
des scientifiques français par les mathématiques, d'ailleurs on s'occupe en ce
moment de faire cesser cette aberration ....
Quelle idée est passée par la tête des informaticiens théoriciens de
tenter de prouver des programmes ? Les gens aiment les bugs, les
programmes pourris jusqu'à la moelle. Laissons les dans leur merde.
Les maths : aaaahrg c'est trop compliqué, faut pas toucher ! Faut
laisser ça aux mathématiciens.
Non mais vous croyez que Facom fait des tournevis que pour le plaisir ?
Et bien les matheux c'est pareil : il ne font pas des maths juste pour
avoir l'air intelligents.
Oui, et il n'y a pas que les maths dans la vie. Il y a même des gens qui pensent que les maths, on n'en a rien à faire. Ou que si un événement a une probabilité 10^{-30} de se produire, c'est exactement pareil en ce qui nous concerne que s'il est impossible qu'il se produise. Ou encore que le formattage des informaticiens français par d'anciens mathématiciens généralement de seconde classe, pour rester poli, est une des grandes catastrophes de notre enseignement. Ou plus généralement le formattage des scientifiques français par les mathématiques, d'ailleurs on s'occupe en ce moment de faire cesser cette aberration ....
Quelle idée est passée par la tête des informaticiens théoriciens de tenter de prouver des programmes ? Les gens aiment les bugs, les programmes pourris jusqu'à la moelle. Laissons les dans leur merde. Les maths : aaaahrg c'est trop compliqué, faut pas toucher ! Faut laisser ça aux mathématiciens. Non mais vous croyez que Facom fait des tournevis que pour le plaisir ? Et bien les matheux c'est pareil : il ne font pas des maths juste pour avoir l'air intelligents.
Tom
d4rk
Benjamin FRANCOIS wrote:
Tom s'est exprimé en ces termes:
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.
Vient donc la question: dans quel langage devrait-on le récrire, à ton avis, pour que ça devienne bien foutu ?
Oui, je pose la même question: avec quoi un système comme Linux devrait être écrit? Les langages fonctionnels sont très élégants, certes, mais comme quelqu'un l'a déjà dit, on ne peut pas faire de la programmation système avec. 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.
Benjamin FRANCOIS wrote:
Tom s'est exprimé en ces termes:
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.
Vient donc la question: dans quel langage devrait-on le récrire, à ton
avis, pour que ça devienne bien foutu ?
Oui, je pose la même question: avec quoi un système comme Linux devrait
être écrit?
Les langages fonctionnels sont très élégants, certes, mais comme
quelqu'un l'a déjà dit, on ne peut pas faire de la programmation système
avec.
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.
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.
Vient donc la question: dans quel langage devrait-on le récrire, à ton avis, pour que ça devienne bien foutu ?
Oui, je pose la même question: avec quoi un système comme Linux devrait être écrit? Les langages fonctionnels sont très élégants, certes, mais comme quelqu'un l'a déjà dit, on ne peut pas faire de la programmation système avec. 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.
Tom
Ce qui pour resumer, s'appelle un langage proche de la machine.
Ce n'est pas une spécification du langage, mais un fait lié à la construction actuelle des processeurs. Le langage est proche de rien du tout. On ne va pas dire que l'homme est proche du chien parce que des gus ont une tête de chien.
Tom
Ce qui pour resumer, s'appelle un langage proche de la machine.
Ce n'est pas une spécification du langage, mais un fait lié à la
construction actuelle des processeurs. Le langage est proche de rien du
tout.
On ne va pas dire que l'homme est proche du chien parce que des gus ont
une tête de chien.
Ce qui pour resumer, s'appelle un langage proche de la machine.
Ce n'est pas une spécification du langage, mais un fait lié à la construction actuelle des processeurs. Le langage est proche de rien du tout. On ne va pas dire que l'homme est proche du chien parce que des gus ont une tête de chien.
Tom
Tom
Non il a juste prouvé qu'il existait des propositions non décidables (ie: dont on ne peurtt prouver ni la véracité ni la fausseté). Donc la Preuve Mathématique n'a pas une portée absolue :-D
Les fonctions récursives primitives osnt un exemple de fonctions qui terminent toujours. Si des programmes primitifs récursifs terminent toujours on n'a pas besoin de prouver leur terminaison. De plus d'accord il y a des choses non décidables. Mais n'ayez pas un esprit booléen : celà ne veut pas dire que rien n'est décidable. Et pour ce qui est décidable (ce qui constitue la très large majorité de ce que l'on calcule sur nos machines) on peut les prouver (ou les infirmer). Je ne parle pas d'un théorème qui a 70 ans mes des résultats théoriques qu'il y a eu depuis. Et notemment les langages issus du lambda-calcul comme le Caml dont on peut prouver les programmes.
Il ya au moins deux problemes a cela : - chaque langage a un champ d'application et il n'y a pas de langage parfait, juste des langages plus adaptés à un domaine de réalisation que d'autres - on ne va pas jeter l'existant à la poubelle pour de simple considération ethético-philosophique.
et je ne parle pas du probleme de disponibilité des programmeur, de disponibilité des compilateurs, de pérénité des langages, etc..
Encore une fois, le langage choisi n'a que peu d'importance. C'est la conception qui compte avant tout. Pour construire un pont on peut choisir le metal, la pierre, le bois, le béton, etc... ou un mix de plusieurs. Chaque solution a ses avantages, ses défauts et ses limites mais aucune n'est parfaite.
Mais c'est la programmation impérative qu'il faut jeter à la poubelle. C'est une façon de penser qui n'est adaptée à rien, si ce n'est l'esprit tordu d'un programmeur en C. Ensuite on peut construire des langages sûrs, qui ne permettent pas de faire des programmes absurdes. Parce que comme l'a dit quelqu'un le problème est souvent entre la chaise et le clavier. Donc moins il y a des choses faites à ce niveau là et moins il y a des risques d'erreurs. Et en plus il faut vérifier ce qui a été fait par ce maillon faible de la chaîne. Et si quelqu'un me dit encore qu'il suffit de tester je l'étrangle.
Tom
Non il a juste prouvé qu'il existait des propositions non décidables
(ie: dont on ne peurtt prouver ni la véracité ni la fausseté). Donc la
Preuve Mathématique n'a pas une portée absolue :-D
Les fonctions récursives primitives osnt un exemple de fonctions qui
terminent toujours. Si des programmes primitifs récursifs terminent
toujours on n'a pas besoin de prouver leur terminaison.
De plus d'accord il y a des choses non décidables. Mais n'ayez pas un
esprit booléen : celà ne veut pas dire que rien n'est décidable. Et pour
ce qui est décidable (ce qui constitue la très large majorité de ce que
l'on calcule sur nos machines) on peut les prouver (ou les infirmer). Je
ne parle pas d'un théorème qui a 70 ans mes des résultats théoriques
qu'il y a eu depuis. Et notemment les langages issus du lambda-calcul
comme le Caml dont on peut prouver les programmes.
Il ya au moins deux problemes a cela :
- chaque langage a un champ d'application et il n'y a pas de langage
parfait, juste des langages plus adaptés à un domaine de réalisation que
d'autres
- on ne va pas jeter l'existant à la poubelle pour de simple
considération ethético-philosophique.
et je ne parle pas du probleme de disponibilité des programmeur, de
disponibilité des compilateurs, de pérénité des langages, etc..
Encore une fois, le langage choisi n'a que peu d'importance. C'est la
conception qui compte avant tout. Pour construire un pont on peut
choisir le metal, la pierre, le bois, le béton, etc... ou un mix de
plusieurs. Chaque solution a ses avantages, ses défauts et ses limites
mais aucune n'est parfaite.
Mais c'est la programmation impérative qu'il faut jeter à la poubelle.
C'est une façon de penser qui n'est adaptée à rien, si ce n'est l'esprit
tordu d'un programmeur en C.
Ensuite on peut construire des langages sûrs, qui ne permettent pas de
faire des programmes absurdes. Parce que comme l'a dit quelqu'un le
problème est souvent entre la chaise et le clavier. Donc moins il y a
des choses faites à ce niveau là et moins il y a des risques d'erreurs.
Et en plus il faut vérifier ce qui a été fait par ce maillon faible de
la chaîne.
Et si quelqu'un me dit encore qu'il suffit de tester je l'étrangle.
Non il a juste prouvé qu'il existait des propositions non décidables (ie: dont on ne peurtt prouver ni la véracité ni la fausseté). Donc la Preuve Mathématique n'a pas une portée absolue :-D
Les fonctions récursives primitives osnt un exemple de fonctions qui terminent toujours. Si des programmes primitifs récursifs terminent toujours on n'a pas besoin de prouver leur terminaison. De plus d'accord il y a des choses non décidables. Mais n'ayez pas un esprit booléen : celà ne veut pas dire que rien n'est décidable. Et pour ce qui est décidable (ce qui constitue la très large majorité de ce que l'on calcule sur nos machines) on peut les prouver (ou les infirmer). Je ne parle pas d'un théorème qui a 70 ans mes des résultats théoriques qu'il y a eu depuis. Et notemment les langages issus du lambda-calcul comme le Caml dont on peut prouver les programmes.
Il ya au moins deux problemes a cela : - chaque langage a un champ d'application et il n'y a pas de langage parfait, juste des langages plus adaptés à un domaine de réalisation que d'autres - on ne va pas jeter l'existant à la poubelle pour de simple considération ethético-philosophique.
et je ne parle pas du probleme de disponibilité des programmeur, de disponibilité des compilateurs, de pérénité des langages, etc..
Encore une fois, le langage choisi n'a que peu d'importance. C'est la conception qui compte avant tout. Pour construire un pont on peut choisir le metal, la pierre, le bois, le béton, etc... ou un mix de plusieurs. Chaque solution a ses avantages, ses défauts et ses limites mais aucune n'est parfaite.
Mais c'est la programmation impérative qu'il faut jeter à la poubelle. C'est une façon de penser qui n'est adaptée à rien, si ce n'est l'esprit tordu d'un programmeur en C. Ensuite on peut construire des langages sûrs, qui ne permettent pas de faire des programmes absurdes. Parce que comme l'a dit quelqu'un le problème est souvent entre la chaise et le clavier. Donc moins il y a des choses faites à ce niveau là et moins il y a des risques d'erreurs. Et en plus il faut vérifier ce qui a été fait par ce maillon faible de la chaîne. Et si quelqu'un me dit encore qu'il suffit de tester je l'étrangle.