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.
Et par exemple lors du passage de tableaux à plusieurs dimensions entre le C et au hasard le Fortran.
Ah mais, ce n'est plus du C, alors. Il est évident qu'on ne peut pas faire _en C_ quelque chose qui n'est pas du C.
Oui, c'est trivial. Et absurde parce que la machine en question travaille peut-être sur des mots de quatorze bits.
Qu'est-ce que ça change ? Il est impossible de faire un code qui fonctionne sur plusieurs architectures _et_ qui utilise complètement à fond les spécificités de chaque architecture. Il faut savoir ce que l'on veut.
JKB , dans le message <slrnd2ugf8.qb.knatschke@rayleigh.systella.fr>, a
écrit :
Et par exemple lors du passage de tableaux à plusieurs dimensions
entre le C et au hasard le Fortran.
Ah mais, ce n'est plus du C, alors. Il est évident qu'on ne peut pas faire
_en C_ quelque chose qui n'est pas du C.
Oui, c'est trivial. Et absurde parce que la machine en question
travaille peut-être sur des mots de quatorze bits.
Qu'est-ce que ça change ? Il est impossible de faire un code qui fonctionne
sur plusieurs architectures _et_ qui utilise complètement à fond les
spécificités de chaque architecture. Il faut savoir ce que l'on veut.
Et par exemple lors du passage de tableaux à plusieurs dimensions entre le C et au hasard le Fortran.
Ah mais, ce n'est plus du C, alors. Il est évident qu'on ne peut pas faire _en C_ quelque chose qui n'est pas du C.
Oui, c'est trivial. Et absurde parce que la machine en question travaille peut-être sur des mots de quatorze bits.
Qu'est-ce que ça change ? Il est impossible de faire un code qui fonctionne sur plusieurs architectures _et_ qui utilise complètement à fond les spécificités de chaque architecture. Il faut savoir ce que l'on veut.
Joe Cool
Joe Cool , dans le message <422f4807$0$30592$, a
C'est la seule notion pertinente, quand on se limite à ce qui est calculé. Un programme représentant un calcul, il est naturel d'exiger que ce programme calcule la même chose quelque soit l'implémentation, modulo les limitations de la machine.
<soupir> Allez, j'explique une dernière fois.
Parfois, le programme doit se contenter, plutôt que de donner le résultat attendu, de se terminer par un lapidaire « va t'acheter une babasse plus puissante, gros naze ». C'est inévitable, car tous les ordinateurs sont finis.
Ceci n'a rien à voir avec les « undefined behaviour » du C. Rien n'interdit de garantir une exécution identique dans la zone de validité définie par les limites de la machine, comme il est facile d'adapter un programme d'une machine de Turing à bande infinie sur une machine de turing à bande finie. Ne faites pas semblant de ne pas comprendre, vous frisez la mauvaise foi.
-- Joe Cool
Joe Cool , dans le message <422f4807$0$30592$636a15ce@news.free.fr>, a
C'est la seule notion pertinente, quand on se limite à ce qui est
calculé. Un programme représentant un calcul, il est naturel d'exiger
que ce programme calcule la même chose quelque soit l'implémentation,
modulo les limitations de la machine.
<soupir> Allez, j'explique une dernière fois.
Parfois, le programme doit se contenter, plutôt que de donner le résultat
attendu, de se terminer par un lapidaire « va t'acheter une babasse plus
puissante, gros naze ». C'est inévitable, car tous les ordinateurs sont
finis.
Ceci n'a rien à voir avec les « undefined behaviour » du C. Rien
n'interdit de garantir une exécution identique dans la zone de validité
définie par les limites de la machine, comme il est facile d'adapter un
programme d'une machine de Turing à bande infinie sur une machine de
turing à bande finie. Ne faites pas semblant de ne pas comprendre, vous
frisez la mauvaise foi.
C'est la seule notion pertinente, quand on se limite à ce qui est calculé. Un programme représentant un calcul, il est naturel d'exiger que ce programme calcule la même chose quelque soit l'implémentation, modulo les limitations de la machine.
<soupir> Allez, j'explique une dernière fois.
Parfois, le programme doit se contenter, plutôt que de donner le résultat attendu, de se terminer par un lapidaire « va t'acheter une babasse plus puissante, gros naze ». C'est inévitable, car tous les ordinateurs sont finis.
Ceci n'a rien à voir avec les « undefined behaviour » du C. Rien n'interdit de garantir une exécution identique dans la zone de validité définie par les limites de la machine, comme il est facile d'adapter un programme d'une machine de Turing à bande infinie sur une machine de turing à bande finie. Ne faites pas semblant de ne pas comprendre, vous frisez la mauvaise foi.
-- Joe Cool
JKB
Le 09-03-2005, à propos de Re: a-t-on le choix ?, Nicolas George écrivait dans fr.comp.os.linux.debats :
JKB , dans le message , a écrit :
Ah bon ?!... Pas moi (et pourtant, moi-même, je me targue d'écrire du C correctement et portable).
J'attends encore de voir ce code de matrices qui ne marche pas sur sparc64 avant de juger.
Dès que je le retrouve, je te l'envoie !
JKB
Le 09-03-2005, à propos de
Re: a-t-on le choix ?,
Nicolas George écrivait dans fr.comp.os.linux.debats :
JKB , dans le message <slrnd2ugak.qb.knatschke@rayleigh.systella.fr>, a
écrit :
Ah bon ?!... Pas moi (et pourtant, moi-même, je me targue d'écrire du C
correctement et portable).
J'attends encore de voir ce code de matrices qui ne marche pas sur sparc64
avant de juger.
Le 09-03-2005, à propos de Re: a-t-on le choix ?, Nicolas George écrivait dans fr.comp.os.linux.debats :
JKB , dans le message , a écrit :
Ah bon ?!... Pas moi (et pourtant, moi-même, je me targue d'écrire du C correctement et portable).
J'attends encore de voir ce code de matrices qui ne marche pas sur sparc64 avant de juger.
Dès que je le retrouve, je te l'envoie !
JKB
Nicolas George
Joe Cool , dans le message <422f4807$0$30592$, a écrit :
C'est la seule notion pertinente, quand on se limite à ce qui est calculé. Un programme représentant un calcul, il est naturel d'exiger que ce programme calcule la même chose quelque soit l'implémentation, modulo les limitations de la machine.
<soupir> Allez, j'explique une dernière fois.
Parfois, le programme doit se contenter, plutôt que de donner le résultat attendu, de se terminer par un lapidaire « va t'acheter une babasse plus puissante, gros naze ». C'est inévitable, car tous les ordinateurs sont finis.
Ce que je dis, c'est qu'il est tout à fait acceptable que la limite au delà de laquelle le programme cesse de fonctionner dépende du système sur lequel il tourne. Le programme n'est pas moins portable pour autant.
Joe Cool , dans le message <422f4807$0$30592$636a15ce@news.free.fr>, a
écrit :
C'est la seule notion pertinente, quand on se limite à ce qui est
calculé. Un programme représentant un calcul, il est naturel d'exiger
que ce programme calcule la même chose quelque soit l'implémentation,
modulo les limitations de la machine.
<soupir> Allez, j'explique une dernière fois.
Parfois, le programme doit se contenter, plutôt que de donner le résultat
attendu, de se terminer par un lapidaire « va t'acheter une babasse plus
puissante, gros naze ». C'est inévitable, car tous les ordinateurs sont
finis.
Ce que je dis, c'est qu'il est tout à fait acceptable que la limite au delà
de laquelle le programme cesse de fonctionner dépende du système sur lequel
il tourne. Le programme n'est pas moins portable pour autant.
Joe Cool , dans le message <422f4807$0$30592$, a écrit :
C'est la seule notion pertinente, quand on se limite à ce qui est calculé. Un programme représentant un calcul, il est naturel d'exiger que ce programme calcule la même chose quelque soit l'implémentation, modulo les limitations de la machine.
<soupir> Allez, j'explique une dernière fois.
Parfois, le programme doit se contenter, plutôt que de donner le résultat attendu, de se terminer par un lapidaire « va t'acheter une babasse plus puissante, gros naze ». C'est inévitable, car tous les ordinateurs sont finis.
Ce que je dis, c'est qu'il est tout à fait acceptable que la limite au delà de laquelle le programme cesse de fonctionner dépende du système sur lequel il tourne. Le programme n'est pas moins portable pour autant.
Nicolas George
Joe Cool , dans le message <422f46e2$0$30592$, a écrit :
N'importe qui connaissant l'état de l'art en informatique sait que le C est un langage préhistorique.
Affirmation sans fondement aucun.
et je constate avec amertume que la plupart des ingénieurs informaticiens ne maitrisent pas les bases de leur discipline.
Ah ça... Ce ne sont que des ingénieurs, après tout.
Joe Cool , dans le message <422f46e2$0$30592$636a15ce@news.free.fr>, a
écrit :
N'importe qui connaissant l'état de l'art en informatique sait que le C
est un langage préhistorique.
Affirmation sans fondement aucun.
et je constate avec amertume que la
plupart des ingénieurs informaticiens ne maitrisent pas les bases de
leur discipline.
Ah ça... Ce ne sont que des ingénieurs, après tout.
Joe Cool , dans le message <422f46e2$0$30592$, a écrit :
N'importe qui connaissant l'état de l'art en informatique sait que le C est un langage préhistorique.
Affirmation sans fondement aucun.
et je constate avec amertume que la plupart des ingénieurs informaticiens ne maitrisent pas les bases de leur discipline.
Ah ça... Ce ne sont que des ingénieurs, après tout.
Eric Jacoboni
Nicolas George <nicolas$ writes:
Eric Jacoboni , dans le message , a écrit :
Les avis là-dessus sont partagés...
Je suppose que tu parles de 1 et pas de 2.
Merci de pas me prendre pour une tanche...
Non, les avis ne sont pas partagés.
Disons alors que certains avis sont faux. Mais si tu fais une recherche rapide sur Google, tu verras que certains considèrent 1 comme premier. C'est ce que moi j'appelle avis partagé.
Cela dit, je m'en fous, je ne suis pas matheux. Le seul moment où j'ai besoin des nombres premiers est dans les cours d'algos, pour introduire les boucles, les conditionnelles et, un peu plus tard, les tableaux avec le crible d'Erathosthène. En plus, d'un point de vue pratique, ça m'arrange assez de commencer à 2.
-- Éric Jacoboni, né il y a 1413836213 secondes
Nicolas George <nicolas$george@salle-s.org> writes:
Eric Jacoboni , dans le message <m2wtsgy939.fsf@mac.scrogneugneu.org>, a
écrit :
Les avis là-dessus sont partagés...
Je suppose que tu parles de 1 et pas de 2.
Merci de pas me prendre pour une tanche...
Non, les avis ne sont pas partagés.
Disons alors que certains avis sont faux. Mais si tu fais une
recherche rapide sur Google, tu verras que certains considèrent 1
comme premier. C'est ce que moi j'appelle avis partagé.
Cela dit, je m'en fous, je ne suis pas matheux. Le seul moment où j'ai
besoin des nombres premiers est dans les cours d'algos, pour
introduire les boucles, les conditionnelles et, un peu plus tard, les
tableaux avec le crible d'Erathosthène. En plus, d'un point de vue
pratique, ça m'arrange assez de commencer à 2.
Disons alors que certains avis sont faux. Mais si tu fais une recherche rapide sur Google, tu verras que certains considèrent 1 comme premier. C'est ce que moi j'appelle avis partagé.
Cela dit, je m'en fous, je ne suis pas matheux. Le seul moment où j'ai besoin des nombres premiers est dans les cours d'algos, pour introduire les boucles, les conditionnelles et, un peu plus tard, les tableaux avec le crible d'Erathosthène. En plus, d'un point de vue pratique, ça m'arrange assez de commencer à 2.
-- Éric Jacoboni, né il y a 1413836213 secondes
JustMe
Eric Jacoboni a exprimé avec précision :
Nicolas George <nicolas$ writes:
Eric Jacoboni , dans le message , a
Les avis là-dessus sont partagés...
Je suppose que tu parles de 1 et pas de 2.
Merci de pas me prendre pour une tanche...
Non, les avis ne sont pas partagés.
Disons alors que certains avis sont faux. Mais si tu fais une recherche rapide sur Google, tu verras que certains considèrent 1 comme premier. C'est ce que moi j'appelle avis partagé.
Vu le nombre de conneries qu'il y a sur le web, rien n'est sur alors ;-)
Cela dit, je m'en fous, je ne suis pas matheux. Le seul moment où j'ai
ca se voit :-)
besoin des nombres premiers est dans les cours d'algos, pour introduire les boucles, les conditionnelles et, un peu plus tard, les tableaux avec le crible d'Erathosthène. En plus, d'un point de vue pratique, ça m'arrange assez de commencer à 2.
pauvres eleves...
Eric Jacoboni a exprimé avec précision :
Nicolas George <nicolas$george@salle-s.org> writes:
Eric Jacoboni , dans le message <m2wtsgy939.fsf@mac.scrogneugneu.org>, a
Les avis là-dessus sont partagés...
Je suppose que tu parles de 1 et pas de 2.
Merci de pas me prendre pour une tanche...
Non, les avis ne sont pas partagés.
Disons alors que certains avis sont faux. Mais si tu fais une
recherche rapide sur Google, tu verras que certains considèrent 1
comme premier. C'est ce que moi j'appelle avis partagé.
Vu le nombre de conneries qu'il y a sur le web, rien n'est sur alors
;-)
Cela dit, je m'en fous, je ne suis pas matheux. Le seul moment où j'ai
ca se voit :-)
besoin des nombres premiers est dans les cours d'algos, pour
introduire les boucles, les conditionnelles et, un peu plus tard, les
tableaux avec le crible d'Erathosthène. En plus, d'un point de vue
pratique, ça m'arrange assez de commencer à 2.
Disons alors que certains avis sont faux. Mais si tu fais une recherche rapide sur Google, tu verras que certains considèrent 1 comme premier. C'est ce que moi j'appelle avis partagé.
Vu le nombre de conneries qu'il y a sur le web, rien n'est sur alors ;-)
Cela dit, je m'en fous, je ne suis pas matheux. Le seul moment où j'ai
ca se voit :-)
besoin des nombres premiers est dans les cours d'algos, pour introduire les boucles, les conditionnelles et, un peu plus tard, les tableaux avec le crible d'Erathosthène. En plus, d'un point de vue pratique, ça m'arrange assez de commencer à 2.
pauvres eleves...
Izaho Ihany
Le 09-03-2005, à propos de Re: a-t-on le choix ?, Thierry Boudet écrivait dans fr.comp.os.linux.debats :
On 2005-03-08, JKB wrote:
Montre-moi un seul bout [...] à comportement indéfini [...].
a = 0;
On ne va pas loin, avec ça...
Alors partons de l'hypothèse d'une machine à zéro signé.
En cherchant bien, je vais t'en trouver une... De toute façon, on n'ira pas beaucoup plus loin...
En réfléchissant bien, on s'apperçoit, le mal absolu ne vient-il pas des alu à plus d'un bit (y a en peut-être encore ici qui se souviennent du fontionnement des architectures "série" - au temps où on utilisait les mémoires à tambour) ?
JKB
Le 09-03-2005, à propos de
Re: a-t-on le choix ?,
Thierry Boudet écrivait dans fr.comp.os.linux.debats :
On 2005-03-08, JKB <knatschke@koenigsberg.fr> wrote:
Montre-moi un seul bout [...] à comportement indéfini [...].
a = 0;
On ne va pas loin, avec ça...
Alors partons de l'hypothèse d'une machine à zéro signé.
En cherchant bien, je vais t'en trouver une... De toute façon, on
n'ira pas beaucoup plus loin...
En réfléchissant bien, on s'apperçoit, le mal absolu ne vient-il pas
des alu à plus d'un bit (y a en peut-être encore ici qui se souviennent
du fontionnement des architectures "série" - au temps où on utilisait
les mémoires à tambour) ?
Le 09-03-2005, à propos de Re: a-t-on le choix ?, Thierry Boudet écrivait dans fr.comp.os.linux.debats :
On 2005-03-08, JKB wrote:
Montre-moi un seul bout [...] à comportement indéfini [...].
a = 0;
On ne va pas loin, avec ça...
Alors partons de l'hypothèse d'une machine à zéro signé.
En cherchant bien, je vais t'en trouver une... De toute façon, on n'ira pas beaucoup plus loin...
En réfléchissant bien, on s'apperçoit, le mal absolu ne vient-il pas des alu à plus d'un bit (y a en peut-être encore ici qui se souviennent du fontionnement des architectures "série" - au temps où on utilisait les mémoires à tambour) ?
JKB
JKB
Le 09-03-2005, à propos de Re: a-t-on le choix ?, Izaho Ihany écrivait dans fr.comp.os.linux.debats :
Le 09-03-2005, à propos de Re: a-t-on le choix ?, Thierry Boudet écrivait dans fr.comp.os.linux.debats :
On 2005-03-08, JKB wrote:
Montre-moi un seul bout [...] à comportement indéfini [...].
a = 0;
On ne va pas loin, avec ça...
Alors partons de l'hypothèse d'une machine à zéro signé.
En cherchant bien, je vais t'en trouver une... De toute façon, on n'ira pas beaucoup plus loin...
En réfléchissant bien, on s'apperçoit, le mal absolu ne vient-il pas des alu à plus d'un bit (y a en peut-être encore ici qui se souviennent du fontionnement des architectures "série" - au temps où on utilisait les mémoires à tambour) ?
Dans mes bras ;-)
JKB, en tout bien tout honneur, hein ?!
Le 09-03-2005, à propos de
Re: a-t-on le choix ?,
Izaho Ihany écrivait dans fr.comp.os.linux.debats :
Le 09-03-2005, à propos de
Re: a-t-on le choix ?,
Thierry Boudet écrivait dans fr.comp.os.linux.debats :
On 2005-03-08, JKB <knatschke@koenigsberg.fr> wrote:
Montre-moi un seul bout [...] à comportement indéfini [...].
a = 0;
On ne va pas loin, avec ça...
Alors partons de l'hypothèse d'une machine à zéro signé.
En cherchant bien, je vais t'en trouver une... De toute façon, on
n'ira pas beaucoup plus loin...
En réfléchissant bien, on s'apperçoit, le mal absolu ne vient-il pas
des alu à plus d'un bit (y a en peut-être encore ici qui se souviennent
du fontionnement des architectures "série" - au temps où on utilisait
les mémoires à tambour) ?
Le 09-03-2005, à propos de Re: a-t-on le choix ?, Izaho Ihany écrivait dans fr.comp.os.linux.debats :
Le 09-03-2005, à propos de Re: a-t-on le choix ?, Thierry Boudet écrivait dans fr.comp.os.linux.debats :
On 2005-03-08, JKB wrote:
Montre-moi un seul bout [...] à comportement indéfini [...].
a = 0;
On ne va pas loin, avec ça...
Alors partons de l'hypothèse d'une machine à zéro signé.
En cherchant bien, je vais t'en trouver une... De toute façon, on n'ira pas beaucoup plus loin...
En réfléchissant bien, on s'apperçoit, le mal absolu ne vient-il pas des alu à plus d'un bit (y a en peut-être encore ici qui se souviennent du fontionnement des architectures "série" - au temps où on utilisait les mémoires à tambour) ?
Dans mes bras ;-)
JKB, en tout bien tout honneur, hein ?!
Nicolas George
JustMe , dans le message , a écrit :
Dit autrement : les cas indécidables sont des situations artificielles, conçues précisément pour être indécidables (avec un argument diagonal par exemple). Les situations réellement utiles utilisent des constructions bien plus simples, des boucles (ou des récursions bornées). Je t'engage à prouver cela. Tu frises la fields ;-)
Prouver quoi ? Je fais une affirmation heuristique concernant des notions d'utilité, il n'y a rien de prouvable. Tu es sûr que tu as bien compris ce que j'ai dit ?
JustMe , dans le message <mn.4caa7d53ac62da15.15643@merci.beaucoup>, a
écrit :
Dit autrement : les cas indécidables sont des situations artificielles,
conçues précisément pour être indécidables (avec un argument diagonal par
exemple). Les situations réellement utiles utilisent des constructions bien
plus simples, des boucles (ou des récursions bornées).
Je t'engage à prouver cela. Tu frises la fields ;-)
Prouver quoi ? Je fais une affirmation heuristique concernant des notions
d'utilité, il n'y a rien de prouvable. Tu es sûr que tu as bien compris ce
que j'ai dit ?
Dit autrement : les cas indécidables sont des situations artificielles, conçues précisément pour être indécidables (avec un argument diagonal par exemple). Les situations réellement utiles utilisent des constructions bien plus simples, des boucles (ou des récursions bornées). Je t'engage à prouver cela. Tu frises la fields ;-)
Prouver quoi ? Je fais une affirmation heuristique concernant des notions d'utilité, il n'y a rien de prouvable. Tu es sûr que tu as bien compris ce que j'ai dit ?