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.
Joe Cool , dans le message <422e01e9$0$30297$, a écrit :
Sans problème, un simple compilateur, ou interpréteur suffit.
Admettons. C'est un peu jouer sur les mots.
Contrairement à ce que l'on croit, la portabilité d'un langage est uniquement déterminée par la qualité de sa spécification. Un langage d'assemblage est portable car sa sémantique est univoque, alors que la liste des « undefined behaviors » du C fait 20 pages.
Mais un code qui se place dans les undefined behaviors n'est psa du C, justement.
Permettez-moi donc de traiter de con tout ceux qui affirment péremptoirement que le C est portable.
Ça ne s'adresse donc pas à moi, puisque je ne l'affirme pas _péremptoirement_, mais en connaissance de cause, et avec la réserve de rigueur du fait de respecter la norme.
Joe Cool , dans le message <422e01e9$0$30297$626a14ce@news.free.fr>, a
écrit :
Sans problème, un simple compilateur, ou interpréteur suffit.
Admettons. C'est un peu jouer sur les mots.
Contrairement à ce que l'on croit, la portabilité d'un langage est
uniquement déterminée par la qualité de sa spécification. Un langage
d'assemblage est portable car sa sémantique est univoque, alors que la
liste des « undefined behaviors » du C fait 20 pages.
Mais un code qui se place dans les undefined behaviors n'est psa du C,
justement.
Permettez-moi donc de traiter de con tout ceux qui affirment
péremptoirement que le C est portable.
Ça ne s'adresse donc pas à moi, puisque je ne l'affirme pas
_péremptoirement_, mais en connaissance de cause, et avec la réserve de
rigueur du fait de respecter la norme.
Joe Cool , dans le message <422e01e9$0$30297$, a écrit :
Sans problème, un simple compilateur, ou interpréteur suffit.
Admettons. C'est un peu jouer sur les mots.
Contrairement à ce que l'on croit, la portabilité d'un langage est uniquement déterminée par la qualité de sa spécification. Un langage d'assemblage est portable car sa sémantique est univoque, alors que la liste des « undefined behaviors » du C fait 20 pages.
Mais un code qui se place dans les undefined behaviors n'est psa du C, justement.
Permettez-moi donc de traiter de con tout ceux qui affirment péremptoirement que le C est portable.
Ça ne s'adresse donc pas à moi, puisque je ne l'affirme pas _péremptoirement_, mais en connaissance de cause, et avec la réserve de rigueur du fait de respecter la norme.
Joe Cool
Sauf si on utilise de l'arithmétique modulo la valeur maximale des données, ce qui est permis par la norme.
Si on ne s'est pas assuré à l'avance de la taille sur laquelle on fait cette arithmétique, c'est une erreur, c'est tout.
Non, car la norme ne dit pas que c'est une erreur, elle dit que le comportement est à la discretion de l'implémentation.
Je rapelle que détecter un dépassement de capacité en C est un problème indécidable. Vous savez résoudre de tête des problèmes indécidables, c'est trivial pour vous, vous êtes très fort.
Je sais me placer dans les cas où c'est décidable, ce qui est beaucoup plus simple.
Vous êtes de plus en plus fort !
« An example of undefined behavior is the behavior on integer overflow. »
Ben oui, et alors ?
Alors utiliser de l'arithmétique modulo la valeur maximale des données n'est pas une erreur, c'est un comportement indéfini.
-- Joe Cool
Sauf si on utilise de l'arithmétique modulo la valeur maximale des
données, ce qui est permis par la norme.
Si on ne s'est pas assuré à l'avance de la taille sur laquelle on
fait cette arithmétique, c'est une erreur, c'est tout.
Non, car la norme ne dit pas que c'est une erreur, elle dit que le
comportement est à la discretion de l'implémentation.
Je rapelle que détecter un dépassement de capacité en C est un
problème indécidable. Vous savez résoudre de tête des problèmes
indécidables, c'est trivial pour vous, vous êtes très fort.
Je sais me placer dans les cas où c'est décidable, ce qui est
beaucoup plus simple.
Vous êtes de plus en plus fort !
« An example of undefined behavior is the behavior on integer
overflow. »
Ben oui, et alors ?
Alors utiliser de l'arithmétique modulo la valeur maximale des
données n'est pas une erreur, c'est un comportement indéfini.
Sauf si on utilise de l'arithmétique modulo la valeur maximale des données, ce qui est permis par la norme.
Si on ne s'est pas assuré à l'avance de la taille sur laquelle on fait cette arithmétique, c'est une erreur, c'est tout.
Non, car la norme ne dit pas que c'est une erreur, elle dit que le comportement est à la discretion de l'implémentation.
Je rapelle que détecter un dépassement de capacité en C est un problème indécidable. Vous savez résoudre de tête des problèmes indécidables, c'est trivial pour vous, vous êtes très fort.
Je sais me placer dans les cas où c'est décidable, ce qui est beaucoup plus simple.
Vous êtes de plus en plus fort !
« An example of undefined behavior is the behavior on integer overflow. »
Ben oui, et alors ?
Alors utiliser de l'arithmétique modulo la valeur maximale des données n'est pas une erreur, c'est un comportement indéfini.
-- Joe Cool
Julien BLACHE
Joe Cool wrote:
Et encore un troll qui n'a rien à faire ici. Z'avez rien de mieux à faire ?
Encore un endoctriné qui dénigre ce qu'il ne comprend pas au lieu d'argumenter. Vérifiez donc votre pilosité avant de vous occuper de celle des autres.
Elle se porte bien, merci pour elle. Elle aurait besoin d'un coup de rasoir, cela dit, ça commence à faire loin.
JB.
-- CF : Tu vois l'intérêt d'en faire tourner une sous WinCE ? PAD: L'écran bleu ? SP : Voilà. Une sorte de "Game over" aléatoire, en fait... + SP in Guide du Macounet Pervers : Playstation II c plus fort que toi+
Joe Cool <zierouhli_@d_free.fr> wrote:
Et encore un troll qui n'a rien à faire ici. Z'avez rien de mieux à
faire ?
Encore un endoctriné qui dénigre ce qu'il ne comprend pas au lieu
d'argumenter. Vérifiez donc votre pilosité avant de vous occuper de
celle des autres.
Elle se porte bien, merci pour elle. Elle aurait besoin d'un coup de
rasoir, cela dit, ça commence à faire loin.
JB.
--
CF : Tu vois l'intérêt d'en faire tourner une sous WinCE ?
PAD: L'écran bleu ?
SP : Voilà. Une sorte de "Game over" aléatoire, en fait...
+ SP in Guide du Macounet Pervers : Playstation II c plus fort que toi+
Et encore un troll qui n'a rien à faire ici. Z'avez rien de mieux à faire ?
Encore un endoctriné qui dénigre ce qu'il ne comprend pas au lieu d'argumenter. Vérifiez donc votre pilosité avant de vous occuper de celle des autres.
Elle se porte bien, merci pour elle. Elle aurait besoin d'un coup de rasoir, cela dit, ça commence à faire loin.
JB.
-- CF : Tu vois l'intérêt d'en faire tourner une sous WinCE ? PAD: L'écran bleu ? SP : Voilà. Une sorte de "Game over" aléatoire, en fait... + SP in Guide du Macounet Pervers : Playstation II c plus fort que toi+
Joe Cool
Bref l'informatique ne va pas fort.
Mais si, mais si.
Mais non, l'informatique est aux mains de marchands de soupe.
-- Joe Cool
Bref l'informatique ne va pas fort.
Mais si, mais si.
Mais non, l'informatique est aux mains de marchands de soupe.
Joe Cool , dans le message <422e0395$0$30297$, a écrit :
Tiens, encore un qui croit avoir compris le théorème d'incomplétude.
Assez bien pour reconnaître ceux qui se plantent, oui.
Le problème est complexe, certes, il est même indécidable. Bon courage.
Qu'un problème soit indécidable dans le cas général n'interdit pas d'y apporter des réponses dans des cas particuliers.
Joe Cool
Joe Cool a émis l'idée suivante :
Un langage qui interdirait de planter une machine ne permet pas la réalisation d'un systeme d'exploitation
Le plantage fait donc parti des fonctonnalités de tout bon OS (ce qui est faux, bien sûr).
Pas dit ca ;-) Relire, comprendre :-D
UN système d'exploitation doit utiliser un langage qui peut faire planter la machine, c'est donc pour la faire planter, sinon on en choisirais un qui ne peut pas faire planter la machine.
un while(1); dans une section ininterruptible suffit. Et si tu n'as pas de notion d'ininterruptibilité, tu vas avoir du mal a faire un OS...
Qui à besoin d'un while ? Ceux qui ne connaissent rien d'autre que le C et les langages du même tonneau.
-- Joe Cool
Joe Cool a émis l'idée suivante :
Un langage qui interdirait de planter une machine ne permet pas la
réalisation d'un systeme d'exploitation
Le plantage fait donc parti des fonctonnalités de tout bon OS (ce qui
est faux, bien sûr).
Pas dit ca ;-) Relire, comprendre :-D
UN système d'exploitation doit utiliser un langage qui peut faire
planter la machine, c'est donc pour la faire planter, sinon on en
choisirais un qui ne peut pas faire planter la machine.
un while(1); dans une section ininterruptible suffit. Et si tu n'as pas
de notion d'ininterruptibilité, tu vas avoir du mal a faire un OS...
Qui à besoin d'un while ? Ceux qui ne connaissent rien d'autre que le C
et les langages du même tonneau.
Un langage qui interdirait de planter une machine ne permet pas la réalisation d'un systeme d'exploitation
Le plantage fait donc parti des fonctonnalités de tout bon OS (ce qui est faux, bien sûr).
Pas dit ca ;-) Relire, comprendre :-D
UN système d'exploitation doit utiliser un langage qui peut faire planter la machine, c'est donc pour la faire planter, sinon on en choisirais un qui ne peut pas faire planter la machine.
un while(1); dans une section ininterruptible suffit. Et si tu n'as pas de notion d'ininterruptibilité, tu vas avoir du mal a faire un OS...
Qui à besoin d'un while ? Ceux qui ne connaissent rien d'autre que le C et les langages du même tonneau.
-- Joe Cool
JustMe
Joe Cool a émis l'idée suivante :
Joe Cool a exposé le 08/03/2005 :
Un langage qui permet explicitement de faire planter une machine a forcément été conçu pour faire planter la machine.
Un langage qui interdirait de planter une machine ne permet pas la réalisation d'un systeme d'exploitation
Le plantage fait donc parti des fonctonnalités de tout bon OS (ce qui est faux, bien sûr).
Pas dit ca ;-) Relire, comprendre :-D
un while(1); dans une section ininterruptible suffit. Et si tu n'as pas de notion d'ininterruptibilité, tu vas avoir du mal a faire un OS...
Joe Cool a émis l'idée suivante :
Joe Cool a exposé le 08/03/2005 :
Un langage qui permet explicitement de faire planter une machine a
forcément été conçu pour faire planter la machine.
Un langage qui interdirait de planter une machine ne permet pas la
réalisation d'un systeme d'exploitation
Le plantage fait donc parti des fonctonnalités de tout bon OS (ce qui est
faux, bien sûr).
Pas dit ca ;-) Relire, comprendre :-D
un while(1); dans une section ininterruptible suffit. Et si tu n'as pas
de notion d'ininterruptibilité, tu vas avoir du mal a faire un OS...