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 15:05:21 +0200, drkm :

Tu enseignerais donc, si je comprend bien, l'allocation dynamique,
l'utilisation des pointeurs, la conception de modèles de classes,
etc., et pas l'utilisation de std::vector<> ? Dans un cours destiné
aux débutants ?


N'oublie pas qu'un élève qui réussit, c'est un concurrent potentiel.


--
;-)

Avatar
Laurent Deniau
Jean-Marc Bourguet wrote:
Ce n'est pas a cause de ca que la programmation en C ne me rappelle
pas la programmation en assembleur (que j'ai toujours ecrit de maniere
structuree d'ailleurs si on appelle programmation structuree la
restriction volontaire a des structures de controles reductibles).
C'est plutot du a de la difference de niveau d'abstraction et a
l'absence de typage.


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


[...]

Je ne vois pas le rapport avec ce que j'ai ecrit. Je comparais le C
et l'assembleur, pas le C et le C++. Et un troll a la fois :-), je
reste sur l'enseignement du C++...


Alors desole, je me suis mepris sur le sens de ton paragraphe.

a+, ld.



Avatar
Fabien LE LEZ
On Tue, 10 Aug 2004 14:54:10 +0200, Fabien LE LEZ
:

Est-ce que C gère correctement "const" ?


Note : il s'agit bien d'une question. J'ai vraiment de grosses lacunes
en C (ou, pour prendre le problème à l'envers, j'ai quelques vagues
connaissances en C ;-) ).


--
;-)

Avatar
Laurent Deniau
Fabien LE LEZ wrote:
On Tue, 10 Aug 2004 14:54:10 +0200, Fabien LE LEZ
:


Est-ce que C gère correctement "const" ?



Note : il s'agit bien d'une question. J'ai vraiment de grosses lacunes
en C (ou, pour prendre le problème à l'envers, j'ai quelques vagues
connaissances en C ;-) ).


Pour repondre, il faudrait d'abord definir ce que l'on attend de const
dans le language et que signifie gerer "correctement" const. Hormis ces
deux considerations, const en C est plus simple et plus logique (pas de
cas particulier de sa semantique), mais ca ne repond en rien a la
question :-).

a+, ld.


Avatar
drkm
Fabien LE LEZ writes:

Ou alors, tu apprends en même temps un langage et une bibliothèque
propriétaire. AMHA, c'est une méthode peu pertinente



 Apprendre le C++ avec une bibliothèque générale propriétaire (de
chez C. Atens & co.), en remplacement de la SL

-- ou --

Comment se retrouver les fers aux pieds





Livre en 1 acte

Pr. Charles Atens



--drkm, en recherche d'un stage : http://www.fgeorges.org/ipl/stage.html

Avatar
Alain Naigeon
"Jean-Marc Bourguet" a écrit dans le message news:

"M. B." writes:

"Fabien LE LEZ" a écrit dans le message de news:

On 10 Aug 2004 09:41:01 +0200, Jean-Marc Bourguet :

Maintenant pour un auto-didacte, le probleme est de conseiller un
livre.


Il y a au moins un bon conseil à donner : s'il ne parle pas de
(std::)vector<> et (std::)string dès le départ, et longtemps avant
d'aborder la notion de pointeur, il est totalement inadapté à un
débutant.
Ce critère a l'avantage de déblayer vraiment le terrain, en virant pas
mal de merdes.


Je plains les debutants en face de toi si tu leur balances
du template avant de leur expliquer ce que 'this' veut dire ...


Je balancerais sans aucun probleme l'utilisation des classes template
de la bibliotheque (standard ou celle du support du cours) avant
d'expliquer comment ecrire une classe ou un template.


Comment écrire peut-être, encore que... tu sembles rejoindre les
partisans de la définition "statique" des concepts ; on croît connaître
quelque chose, jusqu'au moment où l'on découvre plein de nouveautés
quand on essaie de *faire* soi-même, et "comprendre" n'a plus alors le
même sens.
Admettons tout de même ta méthode à titre transitoire (je préférerais
des démarches parallèles : ton exposé, et en même temps des TD où
l'on s'initierait à fabriquer des petites choses très simples). Admettons,
donc ; tu ne peux tout de même pas utiliser un template sans dire ce
qu'est un template ! Et tu ne peux pas dire ce que c'est sans parler des
classes de façon un peu poussée. Ou alors tu enseignerais y = f(x) en
commençant par "soit x un élément de X, un où X est un machin sans
propriétés dignes de considération" ? Ca risque de donner un discours
soit creux, soit faux, sur f !

Si tu expliques this et les pointeurs avant d'aborder les IOStreams,
c'est ceux qui sont en face de toi que je plains.


Ca c'est historiquement prouvé faux, et quelqu'un vient de rappeler
(sans que que soit forcément son but) que même l'ancienne version
du bouquin de Stroustrup procédait ainsi, grosso modo.
(soit dit en passant, Stroustrup explique "comment ça marche",
la sortie par flux)
Eh oui, un
langage bouge, et je ne crois pas qu'on rende service à un débutant
en lui donnant des photos statiques pré-mâchées par des "experts".

Il y a plein de questions non posées dans ce débat : que veut dire
débutant ? En C++, ou en programmation ? Ensuite le but ? C'est
faux de croire qu'un amateur veut une connaissance superficielle,
à but productiviste immédiat. Il n'a pas cette contrainte, lui. Il
veut programmer pour ses loisirs, ça veut donc dire un intérêt
intellectuel, il peut se permettre de prendre du temps, de risquer
des catastrophes pour appronfondir, etc, il n'a pas de chef sur le
dos ni d'obligation de respecter les délais d'un contrat.
Donc il va étudier x c X, en premier lieu. Même s'il est vrai que
l'étude de f(x) lui apportera de nouvelles lumières sur les x.
L'apprentissage est processus en spirale... peu compatible avec
la fabrication de pions immédiatement productifs, demandés
par l'industrie.

--

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 Sun, 08 Aug 2004 22:02:19 +0200, Fuxy :

Bonsoir à tous,


Bravo Fuxy, tu as réussi à lancer un thread de plus de 100 posts.
Le mois dernier, c'était Vince44 (celui-là était un joli coup : plus
de 200 posts, et ça dure encore).
En juin, c'était moi, mais c'est de la triche, j'étais resté
"entretenir" la discussion.
En mai, c'était "heinquoi". 159, pas mal.

Le 15 avril, Kubiak62 a fait l'inverse : un post de 583 lignes sans la
moindre réponse.

Février-mars : RAS.
Avant : désolé, j'ai paumé mes archives. Elles doivent se trouver
quelque part sur un CD-ROM...


--
;-)

Avatar
Alain Naigeon
"Jean-Marc Bourguet" a écrit dans le message news:

"M. B." writes:

"Jean-Marc Bourguet" a écrit dans le message de news:

"M. B." writes:


Si tu expliques this et les pointeurs avant d'aborder les
IOStreams, c'est ceux qui sont en face de toi que je plains.


Ca fait 10 ans qu'ils ne s'en plaignent pas, bien au contraire.


Ca fait 10 ans que t'as pas change ton cours?
Ils devraient se plaindre, le C++ a evolue depuis l'ARM.


Ce qui implique :
- que la façon de l'enseigner doit être re-questionnée ;
- que la méthode préconisée aujourd'hui est, par essence,
questionnable elle aussi, ce qui interdit de qualifier de
"merde" une autre façon de faire.

--

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



Avatar
drkm
"M. B." writes:

Les fonctionalites et la puissance du C++ ont engendre la STL.
La STL est une consequence du langage.


Une conséquence ?

L'inverse est faux.


Évidemment.

Pretendre que tout developpement sans STL, comme il est d'usage sur ce
forum, est a priori mauvais est une erreur.


Je n'ai pas souvenir d'avoir jamais vu une telle affirmation.

Ce n'est qu'une bibliotheque, parmi d'autres.


Ahem.

On inverse cause et consequence, en passant a cote de l'essentiel
d'un langage dont on n'a pas compris le fondement.


Ahem.

Relire le Stroustrup me parait s'imposer.


Yep. Par exemple 16.1.

PS: Attention. Tu deviens résonable et commences à répondre après
l'article cité. C'est peut-être dangereux.

--drkm, en recherche d'un stage : http://www.fgeorges.org/ipl/stage.html

Avatar
Jean-Marc Bourguet
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.

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. Compare l'assembleur, C et BCPL par exemple.

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

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