void f(int a){
}
Ce programme compile sans erreur (même avec -Werror),
et cependant
plante lamentablement. Je n'ai pas l'impression que la vérification
des types à la compilation aide en quoi que ce soit. Le compilateur
aurait surement mieux faire de moins vérifier ce que JE tape, et de
plus prendre soin de générer LUI-MÊME du code qui fonctionne.
void f(int a){
}
Ce programme compile sans erreur (même avec -Werror),
et cependant
plante lamentablement. Je n'ai pas l'impression que la vérification
des types à la compilation aide en quoi que ce soit. Le compilateur
aurait surement mieux faire de moins vérifier ce que JE tape, et de
plus prendre soin de générer LUI-MÊME du code qui fonctionne.
void f(int a){
}
Ce programme compile sans erreur (même avec -Werror),
et cependant
plante lamentablement. Je n'ai pas l'impression que la vérification
des types à la compilation aide en quoi que ce soit. Le compilateur
aurait surement mieux faire de moins vérifier ce que JE tape, et de
plus prendre soin de générer LUI-MÊME du code qui fonctionne.
Exact, je voulais dire -Wall. Ça ne change rien au problème, -Wall ne
dit rien de plus sur ce programme.
Compilé avec un compilateur C++. C'est donc du C++. Il serait temps
que tu te rendes compte qu'il n'y a pas d'amélioration au langage
juste en ajoutant deux signes plus au nom.
Sinon, tu peux toujours essayer d'inventer un langage qu'on pourrait
appeler C++-C, implémente un compilateur et vois ce qu'on peut faire
avec...
Exact, je voulais dire -Wall. Ça ne change rien au problème, -Wall ne
dit rien de plus sur ce programme.
Compilé avec un compilateur C++. C'est donc du C++. Il serait temps
que tu te rendes compte qu'il n'y a pas d'amélioration au langage
juste en ajoutant deux signes plus au nom.
Sinon, tu peux toujours essayer d'inventer un langage qu'on pourrait
appeler C++-C, implémente un compilateur et vois ce qu'on peut faire
avec...
Exact, je voulais dire -Wall. Ça ne change rien au problème, -Wall ne
dit rien de plus sur ce programme.
Compilé avec un compilateur C++. C'est donc du C++. Il serait temps
que tu te rendes compte qu'il n'y a pas d'amélioration au langage
juste en ajoutant deux signes plus au nom.
Sinon, tu peux toujours essayer d'inventer un langage qu'on pourrait
appeler C++-C, implémente un compilateur et vois ce qu'on peut faire
avec...
On Thu, 28 Aug 2008 19:22:08 +0200, Sylvain SF
:certaines techniques avancées du C sont - comme dit ci-avant - des
mauvaises pratiques si l'on prétend faire du C++ (de puriste).
ces techinques sont rarement ce que l'on apprend, encore moins ce
que l'on retiens, lors de la découverte d'un langage.
Si tu dis "chaîne de caractères" à un programmeur C, même relativement
débutant, il pensera tout de suite "tableau de char", "malloc",
"strcat()", etc.
Ce qui fait de très mauvaises bases pour passer au C++.
Et je ne pense pas que la notion de chaîne de caractères soit une
notion avancée.
Dans la plupart des autres langages (Java, Javascript, PHP, etc.), une
chaîne de caractères est simplement un objet, qu'on peut retourner
d'une fonction, stocker, modifier, etc., aussi facilement qu'un
entier. Le C et l'assembleur font les choses différemment, de façon
beaucoup plus complexe, ce qui les met à part des autres langages.le fait de parler d'info industriel m'autorise à penser que les
compétences attendues tiennent plus de la pertinence numérique
que la maitrise objet, pour un design propre ou pour la STL.
Détrompe-toi.
Si un jeu vidéo est mal programmé et plante, au pire, je dois
recommencer le niveau. Ça peut être gênant si ça arrive trop souvent,
mais bon, y'a pas de quoi fouetter un chat.
Si le programme de gestion d'un haut fourneau n'est pas parfait, et
qu'un bug lui fait faire des conneries, au mieux tu te retrouves avec
des pertes financières supérieures à ce qu'un programmeur gagnera dans
toute sa vie ; au pire, des vies humaines sont en jeu.ne pas confondre & et && est un préalable.
Ça, même en PHP tu peux l'apprendre.
On Thu, 28 Aug 2008 19:22:08 +0200, Sylvain SF
<sylvain@boiteaspam.info>:
certaines techniques avancées du C sont - comme dit ci-avant - des
mauvaises pratiques si l'on prétend faire du C++ (de puriste).
ces techinques sont rarement ce que l'on apprend, encore moins ce
que l'on retiens, lors de la découverte d'un langage.
Si tu dis "chaîne de caractères" à un programmeur C, même relativement
débutant, il pensera tout de suite "tableau de char", "malloc",
"strcat()", etc.
Ce qui fait de très mauvaises bases pour passer au C++.
Et je ne pense pas que la notion de chaîne de caractères soit une
notion avancée.
Dans la plupart des autres langages (Java, Javascript, PHP, etc.), une
chaîne de caractères est simplement un objet, qu'on peut retourner
d'une fonction, stocker, modifier, etc., aussi facilement qu'un
entier. Le C et l'assembleur font les choses différemment, de façon
beaucoup plus complexe, ce qui les met à part des autres langages.
le fait de parler d'info industriel m'autorise à penser que les
compétences attendues tiennent plus de la pertinence numérique
que la maitrise objet, pour un design propre ou pour la STL.
Détrompe-toi.
Si un jeu vidéo est mal programmé et plante, au pire, je dois
recommencer le niveau. Ça peut être gênant si ça arrive trop souvent,
mais bon, y'a pas de quoi fouetter un chat.
Si le programme de gestion d'un haut fourneau n'est pas parfait, et
qu'un bug lui fait faire des conneries, au mieux tu te retrouves avec
des pertes financières supérieures à ce qu'un programmeur gagnera dans
toute sa vie ; au pire, des vies humaines sont en jeu.
ne pas confondre & et && est un préalable.
Ça, même en PHP tu peux l'apprendre.
On Thu, 28 Aug 2008 19:22:08 +0200, Sylvain SF
:certaines techniques avancées du C sont - comme dit ci-avant - des
mauvaises pratiques si l'on prétend faire du C++ (de puriste).
ces techinques sont rarement ce que l'on apprend, encore moins ce
que l'on retiens, lors de la découverte d'un langage.
Si tu dis "chaîne de caractères" à un programmeur C, même relativement
débutant, il pensera tout de suite "tableau de char", "malloc",
"strcat()", etc.
Ce qui fait de très mauvaises bases pour passer au C++.
Et je ne pense pas que la notion de chaîne de caractères soit une
notion avancée.
Dans la plupart des autres langages (Java, Javascript, PHP, etc.), une
chaîne de caractères est simplement un objet, qu'on peut retourner
d'une fonction, stocker, modifier, etc., aussi facilement qu'un
entier. Le C et l'assembleur font les choses différemment, de façon
beaucoup plus complexe, ce qui les met à part des autres langages.le fait de parler d'info industriel m'autorise à penser que les
compétences attendues tiennent plus de la pertinence numérique
que la maitrise objet, pour un design propre ou pour la STL.
Détrompe-toi.
Si un jeu vidéo est mal programmé et plante, au pire, je dois
recommencer le niveau. Ça peut être gênant si ça arrive trop souvent,
mais bon, y'a pas de quoi fouetter un chat.
Si le programme de gestion d'un haut fourneau n'est pas parfait, et
qu'un bug lui fait faire des conneries, au mieux tu te retrouves avec
des pertes financières supérieures à ce qu'un programmeur gagnera dans
toute sa vie ; au pire, des vies humaines sont en jeu.ne pas confondre & et && est un préalable.
Ça, même en PHP tu peux l'apprendre.
Pascal J. Bourguignon a écrit :void f(int a){
[snip]}
« Au contrefort des zygomatiques, bien heureux comme la chaise albinos. «
Mon correcteur orthographique est nul, il a pas compris que ma
phrase ne voulait rien dire ! ;)Ce programme compile sans erreur (même avec -Werror),
Je penses que tu n'as pas compris le but de -Werror. Cette option
indique aux GCC qu'il faut considérer les Warning comme des
erreurs. Si tu veux que GCC soit plus pénible, il faut utiliser -Wall
-pedantic -ansi.
et cependant
plante lamentablement. Je n'ai pas l'impression que la vérification
des types à la compilation aide en quoi que ce soit. Le compilateur
aurait surement mieux faire de moins vérifier ce que JE tape, et de
plus prendre soin de générer LUI-MÊME du code qui fonctionne.
Pas plus que la compilation ne permet de contrôler que ce qu'on
implémente n'a aucune logique, ou qu'on alloue la correctement sur le
tas.
Au fait, ce n'est pas du C++, c'est du C ce que tu as montré :p
Pascal J. Bourguignon a écrit :
void f(int a){
[snip]
}
« Au contrefort des zygomatiques, bien heureux comme la chaise albinos. «
Mon correcteur orthographique est nul, il a pas compris que ma
phrase ne voulait rien dire ! ;)
Ce programme compile sans erreur (même avec -Werror),
Je penses que tu n'as pas compris le but de -Werror. Cette option
indique aux GCC qu'il faut considérer les Warning comme des
erreurs. Si tu veux que GCC soit plus pénible, il faut utiliser -Wall
-pedantic -ansi.
et cependant
plante lamentablement. Je n'ai pas l'impression que la vérification
des types à la compilation aide en quoi que ce soit. Le compilateur
aurait surement mieux faire de moins vérifier ce que JE tape, et de
plus prendre soin de générer LUI-MÊME du code qui fonctionne.
Pas plus que la compilation ne permet de contrôler que ce qu'on
implémente n'a aucune logique, ou qu'on alloue la correctement sur le
tas.
Au fait, ce n'est pas du C++, c'est du C ce que tu as montré :p
Pascal J. Bourguignon a écrit :void f(int a){
[snip]}
« Au contrefort des zygomatiques, bien heureux comme la chaise albinos. «
Mon correcteur orthographique est nul, il a pas compris que ma
phrase ne voulait rien dire ! ;)Ce programme compile sans erreur (même avec -Werror),
Je penses que tu n'as pas compris le but de -Werror. Cette option
indique aux GCC qu'il faut considérer les Warning comme des
erreurs. Si tu veux que GCC soit plus pénible, il faut utiliser -Wall
-pedantic -ansi.
et cependant
plante lamentablement. Je n'ai pas l'impression que la vérification
des types à la compilation aide en quoi que ce soit. Le compilateur
aurait surement mieux faire de moins vérifier ce que JE tape, et de
plus prendre soin de générer LUI-MÊME du code qui fonctionne.
Pas plus que la compilation ne permet de contrôler que ce qu'on
implémente n'a aucune logique, ou qu'on alloue la correctement sur le
tas.
Au fait, ce n'est pas du C++, c'est du C ce que tu as montré :p
Si tu dis "chaîne de caractères" à un programmeur C, même relativement
débutant, il pensera tout de suite "tableau de char", "malloc",
"strcat()", etc.
Ce qui fait de très mauvaises bases pour passer au C++.
Et je ne pense pas que la notion de chaîne de caractères soit une
notion avancée.
Dans la plupart des autres langages (Java, Javascript, PHP, etc.), une
chaîne de caractères est simplement un objet, qu'on peut retourner
d'une fonction, stocker, modifier, etc., aussi facilement qu'un
entier.
Le C et l'assembleur font les choses différemment, de façon
beaucoup plus complexe, ce qui les met à part des autres langages.
Si un jeu vidéo est mal programmé et plante, au pire, je dois
recommencer le niveau. Ça peut être gênant si ça arrive trop souvent,
mais bon, y'a pas de quoi fouetter un chat.
Si le programme de gestion d'un haut fourneau n'est pas parfait, et
qu'un bug lui fait faire des conneries, au mieux tu te retrouves avec
des pertes financières supérieures à ce qu'un programmeur gagnera dans
toute sa vie ; au pire, des vies humaines sont en jeu.
Si tu dis "chaîne de caractères" à un programmeur C, même relativement
débutant, il pensera tout de suite "tableau de char", "malloc",
"strcat()", etc.
Ce qui fait de très mauvaises bases pour passer au C++.
Et je ne pense pas que la notion de chaîne de caractères soit une
notion avancée.
Dans la plupart des autres langages (Java, Javascript, PHP, etc.), une
chaîne de caractères est simplement un objet, qu'on peut retourner
d'une fonction, stocker, modifier, etc., aussi facilement qu'un
entier.
Le C et l'assembleur font les choses différemment, de façon
beaucoup plus complexe, ce qui les met à part des autres langages.
Si un jeu vidéo est mal programmé et plante, au pire, je dois
recommencer le niveau. Ça peut être gênant si ça arrive trop souvent,
mais bon, y'a pas de quoi fouetter un chat.
Si le programme de gestion d'un haut fourneau n'est pas parfait, et
qu'un bug lui fait faire des conneries, au mieux tu te retrouves avec
des pertes financières supérieures à ce qu'un programmeur gagnera dans
toute sa vie ; au pire, des vies humaines sont en jeu.
Si tu dis "chaîne de caractères" à un programmeur C, même relativement
débutant, il pensera tout de suite "tableau de char", "malloc",
"strcat()", etc.
Ce qui fait de très mauvaises bases pour passer au C++.
Et je ne pense pas que la notion de chaîne de caractères soit une
notion avancée.
Dans la plupart des autres langages (Java, Javascript, PHP, etc.), une
chaîne de caractères est simplement un objet, qu'on peut retourner
d'une fonction, stocker, modifier, etc., aussi facilement qu'un
entier.
Le C et l'assembleur font les choses différemment, de façon
beaucoup plus complexe, ce qui les met à part des autres langages.
Si un jeu vidéo est mal programmé et plante, au pire, je dois
recommencer le niveau. Ça peut être gênant si ça arrive trop souvent,
mais bon, y'a pas de quoi fouetter un chat.
Si le programme de gestion d'un haut fourneau n'est pas parfait, et
qu'un bug lui fait faire des conneries, au mieux tu te retrouves avec
des pertes financières supérieures à ce qu'un programmeur gagnera dans
toute sa vie ; au pire, des vies humaines sont en jeu.
Pascal J. Bourguignon a écrit :Exact, je voulais dire -Wall. Ça ne change rien au problème, -Wall ne
dit rien de plus sur ce programme.
Oui, puisque le programme est valide au sens du langage.Compilé avec un compilateur C++. C'est donc du C++. Il serait temps
que tu te rendes compte qu'il n'y a pas d'amélioration au langage
juste en ajoutant deux signes plus au nom.
Je ne faisais que pointer le fait que tu présentes un code
principalement C comme un langage C++. Et ce n'est pas en remplaçant
deux caractères à gcc que tu en fais du C++ ;)
Sinon, tu peux toujours essayer d'inventer un langage qu'on pourrait
appeler C++-C, implémente un compilateur et vois ce qu'on peut faire
avec...
Je ne maîtrise pas suffisamment les deux langages pour me lancer
dans ce genre d'aventures.
--
Mickaël Wolff aka Lupus Michaelis
http://lupusmic.org
Pascal J. Bourguignon a écrit :
Exact, je voulais dire -Wall. Ça ne change rien au problème, -Wall ne
dit rien de plus sur ce programme.
Oui, puisque le programme est valide au sens du langage.
Compilé avec un compilateur C++. C'est donc du C++. Il serait temps
que tu te rendes compte qu'il n'y a pas d'amélioration au langage
juste en ajoutant deux signes plus au nom.
Je ne faisais que pointer le fait que tu présentes un code
principalement C comme un langage C++. Et ce n'est pas en remplaçant
deux caractères à gcc que tu en fais du C++ ;)
Sinon, tu peux toujours essayer d'inventer un langage qu'on pourrait
appeler C++-C, implémente un compilateur et vois ce qu'on peut faire
avec...
Je ne maîtrise pas suffisamment les deux langages pour me lancer
dans ce genre d'aventures.
--
Mickaël Wolff aka Lupus Michaelis
http://lupusmic.org
Pascal J. Bourguignon a écrit :Exact, je voulais dire -Wall. Ça ne change rien au problème, -Wall ne
dit rien de plus sur ce programme.
Oui, puisque le programme est valide au sens du langage.Compilé avec un compilateur C++. C'est donc du C++. Il serait temps
que tu te rendes compte qu'il n'y a pas d'amélioration au langage
juste en ajoutant deux signes plus au nom.
Je ne faisais que pointer le fait que tu présentes un code
principalement C comme un langage C++. Et ce n'est pas en remplaçant
deux caractères à gcc que tu en fais du C++ ;)
Sinon, tu peux toujours essayer d'inventer un langage qu'on pourrait
appeler C++-C, implémente un compilateur et vois ce qu'on peut faire
avec...
Je ne maîtrise pas suffisamment les deux langages pour me lancer
dans ce genre d'aventures.
--
Mickaël Wolff aka Lupus Michaelis
http://lupusmic.org