Voilà, il y a encore 1 mois, j'étais sous Windoz XP et je "bidouillais"
en VisualBasic 6.0
Depuis je suis passé sous Linux Suse 9.1 et je souhaiterais continuer à
"bidouiller", je ne cherche pas à développer des applications énormes,
mais juste des petits trucs pour m'amuser.
J'ai vu que sous Linux, le C++ avait l'air très répendu, j'ai donc
installé KDevelop qui permet de programmer en C++.
Et voilà, j'en suis à ce stade, j'ai acheté un bouquin sur le C++, j'en
suis à la page 10 ! et je me dis que ça a l'air un peu compliqué ...
Pouvez vous me conseiller ? est ce que le C++ est un bon choix pour moi
qui n'y connait rien ?
Merci pour votre aide.
A Bientot
--
Mail envoyé depuis Thunderbird
Sous Linux Suse 9.1 Pro
On Tue, 10 Aug 2004 15:49:42 +0200, Pierre Maurette :
Les [macro]assembleurs proposent
Bah oui, mais justement, mon propos était que le C était plus proche de l'assembleur pur jus (i.e. tel que je le décris) que du C++. Il existe quand même une différence fondamentale entre le C et
l'assembleur. Le C garantit un résultat, sans plus. Il a le choix des moyens. L'assembleur (macro ou pas) permet de définir complètement les moyens. En gros, l'assembleur n'optimise pas.
Ou rien du tout, si MaVar1 et MaVar2 ne sont utilisées qu'une seule fois (par exemple).
On pourra tenter: volatile int MaVar1, Mavar2;
mais sans garantie...
Donc, C et assembleur, c'est pas pareil. En revanche, avec un compilateur C implémentant asm, _asm ou __asm, je sais faire pratiquement tout ce que l'assembleur sait faire. -- Pierre
Fabien LE LEZ <gramster@gramster.com> a écrit:
On Tue, 10 Aug 2004 15:49:42 +0200, Pierre Maurette
<maurettepierre@wanadoo.fr>:
Les
[macro]assembleurs proposent
Bah oui, mais justement, mon propos était que le C était plus proche
de l'assembleur pur jus (i.e. tel que je le décris) que du C++.
Il existe quand même une différence fondamentale entre le C et
l'assembleur. Le C garantit un résultat, sans plus. Il a le choix des
moyens. L'assembleur (macro ou pas) permet de définir complètement les
moyens. En gros, l'assembleur n'optimise pas.
Ou rien du tout, si MaVar1 et MaVar2 ne sont utilisées qu'une seule
fois (par exemple).
On pourra tenter:
volatile int MaVar1, Mavar2;
mais sans garantie...
Donc, C et assembleur, c'est pas pareil.
En revanche, avec un compilateur C implémentant asm, _asm ou __asm, je
sais faire pratiquement tout ce que l'assembleur sait faire.
--
Pierre
On Tue, 10 Aug 2004 15:49:42 +0200, Pierre Maurette :
Les [macro]assembleurs proposent
Bah oui, mais justement, mon propos était que le C était plus proche de l'assembleur pur jus (i.e. tel que je le décris) que du C++. Il existe quand même une différence fondamentale entre le C et
l'assembleur. Le C garantit un résultat, sans plus. Il a le choix des moyens. L'assembleur (macro ou pas) permet de définir complètement les moyens. En gros, l'assembleur n'optimise pas.
Ou rien du tout, si MaVar1 et MaVar2 ne sont utilisées qu'une seule fois (par exemple).
On pourra tenter: volatile int MaVar1, Mavar2;
mais sans garantie...
Donc, C et assembleur, c'est pas pareil. En revanche, avec un compilateur C implémentant asm, _asm ou __asm, je sais faire pratiquement tout ce que l'assembleur sait faire. -- Pierre
Alain Naigeon
"drkm" a écrit dans le message news:
"Alain Naigeon" writes:
"Fabien LE LEZ" a écrit dans le message news:
On Tue, 10 Aug 2004 12:51:45 +0200, "PurL" :
Mais encore. Quelles sont tes alternatives à std::vector<> et std::string?
Tes propres objets
Pour un débutant, ça risque d'être un peu délicat de programmer un conteneur, non ?
Non, si le *prof* n'est pas débutant - dans Stroustrup ça marche bien. Vous pouvez toujours comparer un mauvais cours méthode A avec un bon cours méthode B, ça ne dit rien sur A et B.
On ne parle pas ici d'exercices,
On parle donc d'enseignement sans exercices ?
--
Français *==> "Musique renaissance" <==* English midi - facsimiles - ligatures - mensuration http://anaigeon.free.fr | http://www.medieval.org/emfaq/anaigeon/ Alain Naigeon - - Strasbourg, France
"drkm" <usenet.fclcxx@fgeorges.org> a écrit dans le message news:
wkacx3rq5y.fsf@fgeorges.org...
"Alain Naigeon" <anaigeon@free.fr> writes:
"Fabien LE LEZ" <gramster@gramster.com> a écrit dans le message news:
06chh0p9mv7l5js7iljtsl3qn67esp3o9p@4ax.com...
On Tue, 10 Aug 2004 12:51:45 +0200, "PurL" <purl-nospam@chez.com>:
Mais encore. Quelles sont tes alternatives à std::vector<> et
std::string?
Tes propres objets
Pour un débutant, ça risque d'être un peu délicat de programmer un
conteneur, non ?
Non, si le *prof* n'est pas débutant - dans Stroustrup ça marche bien.
Vous pouvez toujours comparer un mauvais cours méthode A avec
un bon cours méthode B, ça ne dit rien sur A et B.
On ne parle pas ici d'exercices,
On parle donc d'enseignement sans exercices ?
--
Français *==> "Musique renaissance" <==* English
midi - facsimiles - ligatures - mensuration
http://anaigeon.free.fr | http://www.medieval.org/emfaq/anaigeon/
Alain Naigeon - anaigeon@free.fr - Strasbourg, France
Mais encore. Quelles sont tes alternatives à std::vector<> et std::string?
Tes propres objets
Pour un débutant, ça risque d'être un peu délicat de programmer un conteneur, non ?
Non, si le *prof* n'est pas débutant - dans Stroustrup ça marche bien. Vous pouvez toujours comparer un mauvais cours méthode A avec un bon cours méthode B, ça ne dit rien sur A et B.
On ne parle pas ici d'exercices,
On parle donc d'enseignement sans exercices ?
--
Français *==> "Musique renaissance" <==* English midi - facsimiles - ligatures - mensuration http://anaigeon.free.fr | http://www.medieval.org/emfaq/anaigeon/ Alain Naigeon - - Strasbourg, France
drkm
Alexandre Bacquart writes:
Je ne trouve pas l'apprentissage de C++ "amusant"
Moi si.
--drkm, en recherche d'un stage : http://www.fgeorges.org/ipl/stage.html
Alexandre Bacquart <tek512@hotmail.com> writes:
Je ne trouve pas l'apprentissage de C++ "amusant"
Moi si.
--drkm, en recherche d'un stage : http://www.fgeorges.org/ipl/stage.html
--drkm, en recherche d'un stage : http://www.fgeorges.org/ipl/stage.html
Fabien LE LEZ
On Tue, 10 Aug 2004 15:56:23 +0200, "Alain Naigeon" :
Baser un cours sur une extension propriétaire, c'est très bien, mais on ne peut pas appeler ça un cours de C++.
Je ne dis pas qu'on doit, mais toi tu dis qu'on ne doit pas. Nuance.
Yep, je persiste et signe : si on décide de faire un cours de Visual C++, il faut l'appeler "Cours de Visual C++" et pas "cours de C++" ou "cours de gymnastique". Ou alors, il y a tromperie sur la marchandise, et il faut contacter les services de répression des fraudes.
-- ;-)
On Tue, 10 Aug 2004 15:56:23 +0200, "Alain Naigeon"
<anaigeon@free.fr>:
Baser un cours sur une extension propriétaire, c'est très bien, mais
on ne peut pas appeler ça un cours de C++.
Je ne dis pas qu'on doit, mais toi
tu dis qu'on ne doit pas. Nuance.
Yep, je persiste et signe : si on décide de faire un cours de Visual
C++, il faut l'appeler "Cours de Visual C++" et pas "cours de C++" ou
"cours de gymnastique". Ou alors, il y a tromperie sur la marchandise,
et il faut contacter les services de répression des fraudes.
On Tue, 10 Aug 2004 15:56:23 +0200, "Alain Naigeon" :
Baser un cours sur une extension propriétaire, c'est très bien, mais on ne peut pas appeler ça un cours de C++.
Je ne dis pas qu'on doit, mais toi tu dis qu'on ne doit pas. Nuance.
Yep, je persiste et signe : si on décide de faire un cours de Visual C++, il faut l'appeler "Cours de Visual C++" et pas "cours de C++" ou "cours de gymnastique". Ou alors, il y a tromperie sur la marchandise, et il faut contacter les services de répression des fraudes.
-- ;-)
Richard Delorme
Jean-Marc Bourguet wrote:
Richard Delorme writes:
Jean-Marc Bourguet wrote:
On appelle la programmation structurée la programmation sans goto¹. A ma connaissance, l'assembleur abuse des jmp, jnz et compagnies qui ne sont que des goto.
Bizarre, si tu lis un peu l'article que tu references, tu tombes tout de suite sur ma definition qui est celle de Dijstra d'apres l'article. L'important est la structure de controle, pas la maniere dont on l'implemente.
Ah ? Quand Dijstra écrit : « I became convinced that the go to statement should be abolished from all "higher level" programming languages » ne trouve-t-il pas important que le langage apporte son support à la programmation structurée ?
C'est plutot du a de la difference de niveau d'abstraction et a l'absence de typage.
Il y a un minimum de typage : registre entier, flottant, etc. et
Les contraintes sur les registres et autres limitations quand aux operandes d'une instruction ne sont pas du typage ou alors il va falloir changer la definition de typage dans le cadre d'un langage de programmation.
Quel est l'intérêt d'un type sinon de rendre illégal certaines constructions ?
les macro-assembleurs actuels autorisent souvent la manipulation de structures de données de manière assez transparente, donnant un semblant d'abstraction.
J'ai beaucoup de mal a continuer appeler "programmation en assembleur" tout ce qu'on peut optenir a partir d'un macro-assembleur (ceux-ci etant generalement complet, on peut *theoriquement* faire un compilateur C avec...)
Ah ?
Jean-Marc Bourguet wrote:
Richard Delorme <abulmo@nospam.fr> writes:
Jean-Marc Bourguet wrote:
On appelle la programmation structurée la programmation sans
goto¹. A ma connaissance, l'assembleur abuse des jmp, jnz et
compagnies qui ne sont que des goto.
Bizarre, si tu lis un peu l'article que tu references, tu tombes tout
de suite sur ma definition qui est celle de Dijstra d'apres l'article.
L'important est la structure de controle, pas la maniere dont on
l'implemente.
Ah ? Quand Dijstra écrit : « I became convinced that the go to statement
should be abolished from all "higher level" programming languages » ne
trouve-t-il pas important que le langage apporte son support à la
programmation structurée ?
C'est plutot du a de la difference de niveau d'abstraction et a
l'absence de typage.
Il y a un minimum de typage : registre entier, flottant, etc. et
Les contraintes sur les registres et autres limitations quand aux
operandes d'une instruction ne sont pas du typage ou alors il va
falloir changer la definition de typage dans le cadre d'un langage de
programmation.
Quel est l'intérêt d'un type sinon de rendre illégal certaines
constructions ?
les macro-assembleurs actuels autorisent souvent la manipulation de
structures de données de manière assez transparente, donnant un
semblant d'abstraction.
J'ai beaucoup de mal a continuer appeler "programmation en assembleur"
tout ce qu'on peut optenir a partir d'un macro-assembleur (ceux-ci
etant generalement complet, on peut *theoriquement* faire un
compilateur C avec...)
On appelle la programmation structurée la programmation sans goto¹. A ma connaissance, l'assembleur abuse des jmp, jnz et compagnies qui ne sont que des goto.
Bizarre, si tu lis un peu l'article que tu references, tu tombes tout de suite sur ma definition qui est celle de Dijstra d'apres l'article. L'important est la structure de controle, pas la maniere dont on l'implemente.
Ah ? Quand Dijstra écrit : « I became convinced that the go to statement should be abolished from all "higher level" programming languages » ne trouve-t-il pas important que le langage apporte son support à la programmation structurée ?
C'est plutot du a de la difference de niveau d'abstraction et a l'absence de typage.
Il y a un minimum de typage : registre entier, flottant, etc. et
Les contraintes sur les registres et autres limitations quand aux operandes d'une instruction ne sont pas du typage ou alors il va falloir changer la definition de typage dans le cadre d'un langage de programmation.
Quel est l'intérêt d'un type sinon de rendre illégal certaines constructions ?
les macro-assembleurs actuels autorisent souvent la manipulation de structures de données de manière assez transparente, donnant un semblant d'abstraction.
J'ai beaucoup de mal a continuer appeler "programmation en assembleur" tout ce qu'on peut optenir a partir d'un macro-assembleur (ceux-ci etant generalement complet, on peut *theoriquement* faire un compilateur C avec...)
Ah ?
drkm
"Alain Naigeon" writes:
"Fabien LE LEZ" a écrit dans le message news:
On Tue, 10 Aug 2004 12:51:45 +0200, "PurL" :
Mais encore. Quelles sont tes alternatives à std::vector<> et std::string?
Tes propres objets
Pour un débutant, ça risque d'être un peu délicat de programmer un conteneur, non ?
Non, si le *prof* n'est pas débutant - dans Stroustrup ça marche bien. Vous pouvez toujours comparer un mauvais cours méthode A avec un bon cours méthode B, ça ne dit rien sur A et B.
On ne parle pas ici d'exercices, mais d'alternatives à std::vector<> et std::string. Que le débutant devrait développer au lieu d'utiliser ceux de la SL.
--drkm, en recherche d'un stage : http://www.fgeorges.org/ipl/stage.html
"Alain Naigeon" <anaigeon@free.fr> writes:
"Fabien LE LEZ" <gramster@gramster.com> a écrit dans le message news:
06chh0p9mv7l5js7iljtsl3qn67esp3o9p@4ax.com...
On Tue, 10 Aug 2004 12:51:45 +0200, "PurL" <purl-nospam@chez.com>:
Mais encore. Quelles sont tes alternatives à std::vector<> et
std::string?
Tes propres objets
Pour un débutant, ça risque d'être un peu délicat de programmer un
conteneur, non ?
Non, si le *prof* n'est pas débutant - dans Stroustrup ça marche bien.
Vous pouvez toujours comparer un mauvais cours méthode A avec
un bon cours méthode B, ça ne dit rien sur A et B.
On ne parle pas ici d'exercices, mais d'alternatives à std::vector<>
et std::string. Que le débutant devrait développer au lieu d'utiliser
ceux de la SL.
--drkm, en recherche d'un stage : http://www.fgeorges.org/ipl/stage.html
Mais encore. Quelles sont tes alternatives à std::vector<> et std::string?
Tes propres objets
Pour un débutant, ça risque d'être un peu délicat de programmer un conteneur, non ?
Non, si le *prof* n'est pas débutant - dans Stroustrup ça marche bien. Vous pouvez toujours comparer un mauvais cours méthode A avec un bon cours méthode B, ça ne dit rien sur A et B.
On ne parle pas ici d'exercices, mais d'alternatives à std::vector<> et std::string. Que le débutant devrait développer au lieu d'utiliser ceux de la SL.
--drkm, en recherche d'un stage : http://www.fgeorges.org/ipl/stage.html
Alexandre Bacquart
Richard Delorme wrote:
On appelle la programmation structurée la programmation sans goto¹. A ma connaissance, l'assembleur abuse des jmp, jnz et compagnies qui ne sont que des goto.
switch/case, if, for, do, while... ne sont que des goto déguisés. Tu oublies de dire qu'en assembleur, on peut (le plus souvent) aussi faire des "gosub" (appels de fonctions). Depuis la nuit des temps, la programmation structurée n'est pas une question de langage, mais de maîtrise du langage de la part des programmeurs.
-- Tek
Richard Delorme wrote:
On appelle la programmation structurée la programmation sans goto¹. A ma
connaissance, l'assembleur abuse des jmp, jnz et compagnies qui ne sont
que des goto.
switch/case, if, for, do, while... ne sont que des goto déguisés. Tu
oublies de dire qu'en assembleur, on peut (le plus souvent) aussi faire
des "gosub" (appels de fonctions). Depuis la nuit des temps, la
programmation structurée n'est pas une question de langage, mais de
maîtrise du langage de la part des programmeurs.
On appelle la programmation structurée la programmation sans goto¹. A ma connaissance, l'assembleur abuse des jmp, jnz et compagnies qui ne sont que des goto.
switch/case, if, for, do, while... ne sont que des goto déguisés. Tu oublies de dire qu'en assembleur, on peut (le plus souvent) aussi faire des "gosub" (appels de fonctions). Depuis la nuit des temps, la programmation structurée n'est pas une question de langage, mais de maîtrise du langage de la part des programmeurs.
-- Tek
Pierre Maurette
"Alain Naigeon" a écrit: [...]
*je* ne suis pas partisan de les ignorer, simplement je trouve provocant - et en tout cas questionnable - M. Naigeon, j'apprécie énormément le tour que prend la conversation,
et je dois dire que vos opinions me séduisent. Je me permets toutefois une remarque tout à fait marginale: "questionnable" (ainsi que "questionable") n'existe pas en français. Le terme anglais "questionable" se traduit tout simplement par "discutable", ou éventuellement "douteux". MAis bon, j'ai longtemps utilisé "consista[e]nt" ..... -- Pierre
"Alain Naigeon" <anaigeon@free.fr> a écrit:
[...]
*je* ne suis pas partisan de les ignorer, simplement je trouve
provocant - et en tout cas questionnable -
M. Naigeon, j'apprécie énormément le tour que prend la conversation,
et je dois dire que vos opinions me séduisent. Je me permets toutefois
une remarque tout à fait marginale: "questionnable" (ainsi que
"questionable") n'existe pas en français. Le terme anglais
"questionable" se traduit tout simplement par "discutable", ou
éventuellement "douteux".
MAis bon, j'ai longtemps utilisé "consista[e]nt" .....
--
Pierre
*je* ne suis pas partisan de les ignorer, simplement je trouve provocant - et en tout cas questionnable - M. Naigeon, j'apprécie énormément le tour que prend la conversation,
et je dois dire que vos opinions me séduisent. Je me permets toutefois une remarque tout à fait marginale: "questionnable" (ainsi que "questionable") n'existe pas en français. Le terme anglais "questionable" se traduit tout simplement par "discutable", ou éventuellement "douteux". MAis bon, j'ai longtemps utilisé "consista[e]nt" ..... -- Pierre
drkm
"Alain Naigeon" writes:
"Gabriel Dos Reis" a écrit dans le message news:
Quelles sont tes alternatives à std::vector<> et std::string?
L'énorme et intéressante quantités de choses qui servent à les écrire :-o
*je* ne suis pas partisan de les ignorer, simplement je trouve provocant - et en tout cas questionnable - la position consistant à dire qu'il est démodé d'enseigner comment ça marche !
Cela est certes intéressant. Mais il s'agit ici d'enseigner le C++ à des débutants, sans utiliser la SL. Ce que plusieurs personnes ici veulent dire, je pense, c'est que le débutant commencera par apprendre et utiliser std::vector<> et std::string. Puis il découvrira petit à petit les subtilités du langage et les recoins de la SL. Une illustration consistant à disséquer une implémentation de std::string ou std::vector<> est intéressante, mais ne saurait être abordée dès les chapitres d'introduction afin de disposer de classes de chaînes ou de vecteurs, pour l'obscure raison que l'on ne soit pas utiliser la SL.
--drkm, en recherche d'un stage : http://www.fgeorges.org/ipl/stage.html
"Alain Naigeon" <anaigeon@free.fr> writes:
"Gabriel Dos Reis" <gdr@integrable-solutions.net> a écrit dans le message
news: m3oeljwbom.fsf@uniton.integrable-solutions.net...
Quelles sont tes alternatives à std::vector<> et std::string?
L'énorme et intéressante quantités de choses qui servent
à les écrire :-o
*je* ne suis pas partisan de les ignorer, simplement je trouve
provocant - et en tout cas questionnable - la position consistant
à dire qu'il est démodé d'enseigner comment ça marche !
Cela est certes intéressant. Mais il s'agit ici d'enseigner le C++
à des débutants, sans utiliser la SL. Ce que plusieurs personnes ici
veulent dire, je pense, c'est que le débutant commencera par apprendre
et utiliser std::vector<> et std::string. Puis il découvrira petit à
petit les subtilités du langage et les recoins de la SL. Une
illustration consistant à disséquer une implémentation de std::string
ou std::vector<> est intéressante, mais ne saurait être abordée dès
les chapitres d'introduction afin de disposer de classes de chaînes ou
de vecteurs, pour l'obscure raison que l'on ne soit pas utiliser la
SL.
--drkm, en recherche d'un stage : http://www.fgeorges.org/ipl/stage.html
Quelles sont tes alternatives à std::vector<> et std::string?
L'énorme et intéressante quantités de choses qui servent à les écrire :-o
*je* ne suis pas partisan de les ignorer, simplement je trouve provocant - et en tout cas questionnable - la position consistant à dire qu'il est démodé d'enseigner comment ça marche !
Cela est certes intéressant. Mais il s'agit ici d'enseigner le C++ à des débutants, sans utiliser la SL. Ce que plusieurs personnes ici veulent dire, je pense, c'est que le débutant commencera par apprendre et utiliser std::vector<> et std::string. Puis il découvrira petit à petit les subtilités du langage et les recoins de la SL. Une illustration consistant à disséquer une implémentation de std::string ou std::vector<> est intéressante, mais ne saurait être abordée dès les chapitres d'introduction afin de disposer de classes de chaînes ou de vecteurs, pour l'obscure raison que l'on ne soit pas utiliser la SL.
--drkm, en recherche d'un stage : http://www.fgeorges.org/ipl/stage.html
Richard Delorme
Fabien LE LEZ wrote:
On Tue, 10 Aug 2004 14:48:07 +0200, Richard Delorme :
On appelle la programmation structurée la programmation sans goto¹. A ma connaissance, l'assembleur abuse des jmp, jnz et compagnies qui ne sont que des goto.
Oui et non.
C :
do { machin; } while (truc != bidule);
exemple de programmation structurée : simple et lisible.
Comparer un if/else ou un switch/case avec sa version assembleur pour mieux comprendre :
en C : if (A == B) machin; else truc;
en asm : cmp A, B jnz label_1 machin jmp label_2 label_1: truc label_2:
Ça ne commence pas à faire spaghetti et illisible ?
L'écriture est différente (en Basic aussi, d'ailleurs) mais le principe de la boucle est indentique.
Est-ce que tout n'est pas dans le sucre syntaxique ?
-- Richard
Fabien LE LEZ wrote:
On Tue, 10 Aug 2004 14:48:07 +0200, Richard Delorme
<abulmo@nospam.fr>:
On appelle la programmation structurée la programmation sans goto¹. A ma
connaissance, l'assembleur abuse des jmp, jnz et compagnies qui ne sont
que des goto.
Oui et non.
C :
do
{ machin;
} while (truc != bidule);
exemple de programmation structurée : simple et lisible.
On Tue, 10 Aug 2004 14:48:07 +0200, Richard Delorme :
On appelle la programmation structurée la programmation sans goto¹. A ma connaissance, l'assembleur abuse des jmp, jnz et compagnies qui ne sont que des goto.
Oui et non.
C :
do { machin; } while (truc != bidule);
exemple de programmation structurée : simple et lisible.