OVH Cloud OVH Cloud

Newbies en C++ !

437 réponses
Avatar
Fuxy
Bonsoir à tous,


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

10 réponses

Avatar
Fabien LE LEZ
On Tue, 10 Aug 2004 16:23:02 +0200, "Alain Naigeon"
:

Le seul problème, c'est que AMHA, le bon prof est celui
qui accepte l'idée de n'être plus indispensable un jour.


Je pense que l'utilité principale d'un prof, c'est de faire comprendre
à l'élève la philosophie du langage. Et que l'utilisation de
std::vector<> convient mieux à ce but que les détails de son
implémentation.
Une fois que l'élève commence à "sentir" le fonctionnement et la
philosophie du langage, le prof n'est plus indispensable.


--
;-)

Avatar
Arnaud Debaene
Laurent Deniau wrote:
Arnaud Debaene wrote:
Laurent Deniau wrote:

En quoi le C++ propose un typage plus fort que le C?


L'héritage et le polymorphisme, la généricité (template) et RTTI me
viennent en tête sans trop me fatiguer, mais je pense que nous
n'utilisont pas tous le mot "typage" dans le même sens dans ce
thread.


Effectivement, nous n'utilisons le meme sens pour "typage fort". Tout
ce
que tu cites a l'exception des RTTI "affaiblit" le systeme de typage.
Le compilateur doit etre "plus intelligent et plus vigilant" pour
gerer
tout ca.


En quoi les templates peuvent ils affaiblir le système de type? Il me semble
que vector<MonObjet> est plus "sûr" qu'un container en C stockant des void*,
non?

Precise l'orientation que tu donnes a abstration.
Un langage avec un bon niveau d'abstraction permet au développeur de se

concentrer sur la sémantique et le fonctionnel de son application sns avoir
à (trop) se préoccuper des détails d'implémentation. Ca va comme définition?

Arnaud



Avatar
Alain Naigeon
"drkm" a écrit dans le message news:

"Alain Naigeon" writes:

pour l'obscure raison que l'on ne soit pas utiliser la
SL.


Ce n'est pas ma position, tu l'auras sans doute lu entre temps.

Cela est certes intéressant. Mais il s'agit ici d'enseigner le C++
à des débutants
[ >, sans utiliser la SL. : voir ci-dessus ]


Mais qu'appelez-vous enseigner ?? Apprendre à produire,
ou comprendre ?
Et puis, à force de lire "enseigner à des débutants", il faut
bien souligner que cette expression n'a aucun sens, si ce
n'est de vouloir dire "à des gens dont nous décidons qu'ils
n'ont pas besoin de savoir". Ou alors qu'on m'explique ce
que voudrait dire "enseigner à des gens qui savent" ?
Alors disons "enseigner", ça suffit. (je laisse au prof le droit
de se répéter mentalement "je ne suis pas un débutant...
je ne suis pas un débutant...", je ne veux pas être inhumain).

--

Français *==> "Musique renaissance" <==* English
midi - facsimiles - ligatures - mensuration
http://anaigeon.free.fr | http://www.medieval.org/emfaq/anaigeon/
Alain Naigeon - - Strasbourg, France

Avatar
Alain Naigeon
"Fabien LE LEZ" a écrit dans le message news:

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.


Ce qu'on peut faire avec un language fait partie de sa compréhension,
même si, à toutes les époques, cela a dépassé l'entendement des
fonctionnaires
de la répression des fraudes.

--

Français *==> "Musique renaissance" <==* English
midi - facsimiles - ligatures - mensuration
http://anaigeon.free.fr | http://www.medieval.org/emfaq/anaigeon/
Alain Naigeon - - Strasbourg, France



Avatar
Fabien LE LEZ
On Tue, 10 Aug 2004 16:34:27 +0200, Alexandre Bacquart
:

J'ai totalement abandonné le Basic quand j'ai découvert PHP. Juste
avant, je m'en servais pour des petits bricolages.


Tiens, marrant, on dirait que ça correspond à ce que veut faire l'OP.
Voilà qui peut être constructif s'il s'agit de le conseiller sur un
langage abordable aux débutants, non ?


A condition de vouloir rester débutant. J'ai des doutes sur la
formation qu'apporte l'apprentissage du Basic.

Faut relativiser et prendre le BASIC pour ce qu'il est aussi :
un langage facile d'accès.


Certes. Il y a quinze ans, c'était même peut-être très bien.


C'était pareil ! Il y avait C pour les pros, BASIC pour les débutants.


Ça a quand même évolué depuis. Tant du côté des langages "de pros" (le
C++ permet de programmer bien plus rapidement qu'en C), que du côté
des langages "pour débutants" (il y a pas mal de vrais langages
accessibles -- c'est même parfois difficile de les départager -- alors
pourquoi s'enliser dans le Basic ? )

Si je veux donner un gros fichier à un Australien, envoyer quinze
disquettes 5"1/4 par UPS n'est plus la meilleure solution.

Ce que je ne trouve pas bien moi, c'est de dire à un gars qui veut
programmer pour s'amuser que BASIC c'est de la dobe et C++ de la balle.


Au risque de me répéter : j'ai de gros doutes sur le Basic, et il y a
assez de vrais langages accessibles pour se passer du Basic.

Mais il serait horrifié par l'envergure de la tâche
dès la page 10 du Stroustrup que je n'en serais pas plus étonné.


Moi non plus. Je ne suis pas sûr d'avoir lu 10 pages du Stroustrup qui
traîne chez moi. Le Stroustrup est un bouquin de référence, pas un
cours. Tout comme un dictionnaire n'est pas un cours de français.



--
;-)



Avatar
Alain Naigeon
"Pierre Maurette" a écrit dans le message news:

"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".


La météo est souriante aux arroseurs arrosés :-)

--

Français *==> "Musique renaissance" <==* English
midi - facsimiles - ligatures - mensuration
http://anaigeon.free.fr | http://www.medieval.org/emfaq/anaigeon/
Alain Naigeon - - Strasbourg, France


Avatar
Fabien LE LEZ
On Tue, 10 Aug 2004 17:12:40 +0200, Richard Delorme
:

Ça ne commence pas à faire spaghetti et illisible ?


Ayant plus l'habitude de lire du C++ que de l'assembleur, il est vrai
que je lis plus facilement un des codes que l'autre.


--
;-)

Avatar
Alain Naigeon
"Fabien LE LEZ" a écrit dans le message news:

On Tue, 10 Aug 2004 16:23:02 +0200, "Alain Naigeon"
:

Le seul problème, c'est que AMHA, le bon prof est celui
qui accepte l'idée de n'être plus indispensable un jour.


Je pense que l'utilité principale d'un prof, c'est de faire comprendre
à l'élève la philosophie du langage. Et que l'utilisation de
std::vector<> convient mieux à ce but que les détails de son
implémentation.
Une fois que l'élève commence à "sentir" le fonctionnement et la
philosophie du langage, le prof n'est plus indispensable.


Oui, c'est ça, Carnegie Hall avant le solfège.

--

Français *==> "Musique renaissance" <==* English
midi - facsimiles - ligatures - mensuration
http://anaigeon.free.fr | http://www.medieval.org/emfaq/anaigeon/
Alain Naigeon - - Strasbourg, France


Avatar
Jean-Marc Bourguet
Richard Delorme writes:

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 ?


Un langage peut aider a utiliser des formes de controles structurees
il peut meme ne fournir que celles-ci. Il est preferable d'utiliser
un tel langage et je suis donc d'accord avec Dijstra. Ce qui
n'empeche pas qu'on puisse faire de la programmation structuree (cad
se restreindre aux structures de controles correspondantes) dans un
langage qui n'offre aucune aide.

Exactement comme on peut faire la P00 dans un lanage qui n'offre
aucune idee (le C ou meme l'assembleur) meme si c'est preferable
d'utiliser un langage qui offre des aides (le C++). La difference
majeure est que les contextes ou une programmation structuree n'est
pas applicables sont beaucoup plus rares que ceux ou la POO ne l'est
pas.

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 ?


La contrainte n'est pas une contrainte sur la valeur mais sur
l'endroit ou elle se trouve. Le typage concerne les valeurs (soit
trouve dynamiquement, soit deduit statiquement d'apres les regles plus
ou moins pertinentes du langage).

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 ?


Quel est ton probleme? Je suis d'accord que les macros-assembleurs
peuvent elever le niveau d'abstraction, j'indique simplement que j'ai
tendance a ne pas les considerer quand je parle de la programmation en
assembleur.

A+

--
Jean-Marc
FAQ de fclc++: http://www.cmla.ens-cachan.fr/~dosreis/C++/FAQ
C++ FAQ Lite en VF: http://www.ifrance.com/jlecomte/c++/c++-faq-lite/index.html
Site de usenet-fr: http://www.usenet-fr.news.eu.org




Avatar
Fabien LE LEZ
On Tue, 10 Aug 2004 15:24:48 +0200, "Alain Naigeon"
:

Ensuite le but ? C'est
faux de croire qu'un amateur veut une connaissance superficielle,
à but productiviste immédiat.


Ah ? Pourtant y'a plein de gens qui programment pour leur plaisir, et
qui préfèrent VB parce que justement on peut faire des zolis
programmes avec plein de boutons partout.

Bon, plutôt que de reprendre le bon vieux parallèle "apprendre le
fonctionnement du moteur avant de conduire"/"apprendre la cuisine
interne de vector<> avant de l'utiliser", je me permets de prendre en
exemple un autre langage : le PHP.
Si tu veux commencer un cours de C++ en expliquant la cuisine interne
de vector<>, il faut suivre la même logique et commencer un cours de
PHP en expliquant la cuisine interne de ses tableaux associatifs.
Cette cuisine interne étant écrite en C, et AMHA un C assez pointu,
une bonne connaissance du C est un prérequis à l'apprentissage de PHP.
Libre à toi de voir les choses comme ça...


--
;-)