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
Jean-Marc Bourguet
"Mario" writes:

IMHO- Oui mais j'espère qu'il avait du temps à perde (remarque, ça
se peut fort bien). Je pense simplement que le groupe est plus
utile à l'initiateur du sujet si les participants essaient d'y
répondre directement sans élucubrations inutiles.


Mais ce sont les detours parfois surprenant que prennent les
discussions apres des questions parfois simples qui font que les gens
capables d'y repondre prennent le temps de le faire.

Encore une fois, simple opinion personnelle. Inutile de me décrire
l'étiquette "francophone" des groupes de discussions, j'ai compris.

Remarquez, j'ai appris un peu en mettant mes 2 sous dans ce sujet. Entre
autre, il y a une différence marquée entre les groupes de discussions
francophones et les groupes anglophones modérés par les entreprises de
produits originaux comme Red Hat, Debian, MS et autres. J'espère ne pas
lancer encore de l'huile sur le feu.


J'ai vu pire sur des groupes anglophones. Sur les listes de Debian en
particulier puisque tu les cites.

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
PRORIOL Fabien
Houla houla, tu as lancé un sujet a polemique ;-)


Bon, je vais te donner mon avis si ça t'interesse;

Le C++ est de loin le langage à connaitre!!!
En effet, celui qui a fait du C++ passera sans probléme aux langages haut
niveau (au Java, au Python...) ou aux langages bas niveau (C....)
En effet, il aura une connaissance de la programmation objet (pour le haut
niveau) et aussi des pointeur et compagnie (bas niveau).

Mais voila, je pense aussi que c'est un des langage les plus dure a
apprendre.

En faite j'était dans ton cas il y a 5 ans; et pour tout te dire, commencer
par ce lamgage ce n'est pas impossible, mais il ne faut pas chercher a
bruler les étapes.

Je n'était pas en école d'info mais en Electrotech; donc je faisait de
l'info pour mon passe temps (comme toi j'ai l'impression).
J'avais fais un peu de Basic Atari étant jeune (vraiment que les base de
base) puis un peu de Delphi (mais vraiment sans aller loin, juste mettre 1
ou 2 boutons et basta).

Un jours j'ai voulu apprendre a programmer, sans trop reflechir je me suis
lancé dans le C++ et autant dire que au debut je me suis "casser les dents"
dessus.
En effet, je voulais rapidement faire des appli windows avec bouton et
compagnie, et franchement, avec le C++ il ne faut pas du tout viser ce type
de prog avant un bon moment.
Apres avoir lut un livre tres mal fait (Micro Application, beaucoup de
chose, bonne source de conseil, mais pas fait pour apprendre), puis avoir
essayer de comprendre la programmation windows sous Borlande C++ (pas
Builder), j'ai tout abandonner sans meme avoir reussi a créé une fenetre!!!!

1 ans apres, je me suis repris d'une crise de motivation; n'aimant pas les
echecs, et sachant pertinament que le C++ doit etre un super langage, j'ai
racheter un autre bouquin (O'REILLY : Programmation C++ par la pratique de
Steve Oualline en version française) que je te conseil grandement; et je me
suis mis a prendre patience et a commencer par le debut : faire des appli
console.
Et la j'ai vite commencer a progresser et franchement c'ets vraiment
plaisant de ce dire : je commence a connaitre un langage balaise comme le
C++.

Ensuite, sa m'a vraiment donner envie d'aller plus loin alors j'ai fait un
DUT info en 1 an (j'avais deja un bac +2) ou j'ai consolidé mes base en C;
et fait un peu de Java.

Ensuite, apres avoir bien compris le C++, tu te balade partout (le Java
s'apprend en presque 1 mois, le Python j'ai mis 2 semaine pendant 1
stage......) et apres avoir testé pas mal de langage, mon preferé reste de
loin le C++.

Et puis, il y a un autre argument :
Dés que tu as quelque base assez solide en C++ (notion d'objet et de
referance) tu peut aisaiment passer a C++ Builder ou Kylix et faire aussi
facilement que en VB des zolie application windows :
Bouton onglet menu......
Avec du recule, je trouve qu'il est 50 fois plus facile de faire une bonne
appli en C++ Builder que en VB; je trouve que VB n'a aucune logique et faire
une appli un peu complexe avec est un enfer!!!!!

Conclusion :
Si tu veut te faire plaisir avec un VRAI langage, si tu est motivé et que tu
a temps et de la patience, alors fonce, l'investissement en vaux vraiment le
coup;
Mais dit toi une chose: pendant 1 ans au moin, essaye uniquement de faire
des appli console. Puis quand tu comprend pas mal les concept de pointeur,
referance et objet, alors passe a C++ Builder et amuse toi....

Et puis apres l'aspet amusement, avoir des base en prog C++ est une reel
valeur ajouté a un CV, c'est une connaissance reconnue internationnalement
;-)
Je suis maintenant en ecole d'ingenieur Genie Electrique; et franchement,
les stage et les job d'été que j'ai decroché, je les doit en grande partie a
mes connaissance dans la programmation alors que j'ai une formation d'elec.
Depuis, j'ai fait aussi de l'HTML et beaucoup de PHP;
Et je pense pouvoir apprendre rapidement pas mal de langages differents, et
ce n'est pas rien!!!!
On ne peut pas en dire autant de quelqu'un qui metrise meme a 300% le VB
!!!!!!


@+ et bonne chance
Fab
Avatar
kanze
Laurent Deniau wrote in message
news:<cfd6um$kqa$...
Jean-Marc Bourguet wrote:
writes:

Laurent Deniau wrote in message
news:<cfai51$po6$...

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


Comme j'ai déjà dit, les deux langages sont prèsqu'identique dans
leur traitement de const, dans les parties communes. (En fait, de
tête, je crois qu'ils y sont rigueureusement identiques. Et que
c'était en tout cas l'intention du comité de normalisation C++ et
avant de Stroustrup qu'ils le soient.) En revanche :


De memoire, les regles pour const dans des pointeurs vers pointeurs
sont moins strictes (mais aussi sures) en C++ qu'en C.



En effet. En fait, la différence a été conçue comme une correction ; les
règles C++ devaient correspondre plus à ce que les auteurs de la norme C
ont voulu. Cependant, la « correction » n'a pas été réprise en C99.

Et const a une semantique en C++ qui change en fonction de son
utilisation. De memoire:

- const sur une variable globale signifie static const. BS recommande
d'ailleurs de les mettres dans le header.


En effet. On se démande bien pourquoi ; c'est une incohérence en C++.

On évite le problème en précédant toujours la déclaration ou de static,
ou d'extern.

- const sur une reference locale cree un temporaire (interdit sur un
non-const).


Et qu'est-ce que le const sur une référence fait en C ? C'est clair que
quand on applique const sur des choses qui n'existent pas en C, le C++
est libre, sans soulever des problèmes de compatibilité.

- const sur une reference temporaire modifie sa duree de vie.


Voir ci-dessus.

- const int se comporte comme un enum a l'exterieur d'une classe (mais
pas dedans).


Comment ? Const int ne se comporte jamais comme un enum.

En revanche, c'est vrai qu'un objet déclaré const peut faire partie
d'une expression constante, sous certaines conditions, alors que ce
n'est pas le cas en C.

- const est ignore par l'overloading pour les arguments autres que
this s'il est au niveau le plus externe de la specification du type
mais il l'est pour les autres niveaux.


Et comment fonctionne la résolution de surcharge avec const en C.

Comme le const avec les références, la différence, ce n'est pas le
const. La différence, c'est que ce auquel on l'applique n'existe
carrément pas en C.

- j'en oublie surement...

et tout ca en plus de la semantique du C ou const signifie simplement
read-only et c'est tout.


Et dans C et dans C++, le const fait partie du système de typage. Tu ne
peux pas passer un char const* à un char*. C'est l'essentiel. Pour la
reste, on tombe dans des détails sécondaires, ou des choses qui
n'existent qu'en C++.

--
James Kanze GABI Software http://www.gabi-soft.fr
Conseils en informatique orientée objet/
Beratung in objektorientierter Datenverarbeitung
9 place Sémard, 78210 St.-Cyr-l'École, France, +33 (0)1 30 23 00 34






Avatar
Arnaud Debaene
Fabien LE LEZ wrote:
On Tue, 10 Aug 2004 21:09:51 +0200, "Arnaud Debaene"
:

ce qui interdit de qualifier de
"merde" une autre façon de faire.


Là, je suis d'accord que *personne* ne devrait utiliser ce type de
vocabulaire pour *aucun* bouqin d'enseignement


On doit donc employer des circonvolutions imagées ?
Ou peut-être préférer le terme "escroquerie" ?


Ce n'est pas une question de vocabulaire "fleuri" ou pas : C'est juste que
j'éspère ne jamais avoir pour prof une personne qu se permet de juger
catégoriquement et à l'emporte-pièce un bouquin, sans même l'avoir lu, et en
se basant sur un ouï-dire concernant le 1er chapitre uniquement, voir même
sur 1 ligne de code (le "void main" que tu nous ressort régulièrement). Ce
n'est ni professionnel ni utile pour les newbies à qui tu réponds. Et
admettre qu'il n' y a pas *une* bonne façon d'enseigner le C++ me semble
être la base de toute discussion sur le sujet (mais apparemment, c'est un
sujet qui tient tellement à coeur à certains que je pense précher dans le
désert...)

Quand à je ne sais plus qui (pas toi il me semble) qui a parlé de brûler
toutes ces "merdes", je rappellerais que d'habitude, ce sont les nazis ou
les hayatollas qui organisent des autodaffés.

Arnaud



Avatar
PRORIOL Fabien
Comme je l'est dit ailleur, essai "C++ par la pratique" Edition O'Reilly, de
Steve Oualline traduit en Francais;

Il est pas mal;
Sans trop rentré dans les detaille qui derouterais le débutant, il va assez
loin (template et compagnie) et il aborde le sujet d'une maniere vachement
interessante :
Il n'explique pas uniquement la syntaxe C++ mais donne aussi de bon conseil
sur la facon de codé, les piege a eviter, les façon de debugger et aussi
comment s'y prendre pour creer un gros projet et decouper avec plusieur
fichier.... namespace, makefile......

Il grouille d'exemple simple mais efficasse, ultra commenté et de petit
exercice corrigé....


En gros, un tres bon livre pour apprendre, mais pas du tout un "livre de
chevet" pour le programmeur confirmé qui a besoin d'un truc de temps en
temps;
Mais le besoin n'est pas le meme; les plus mauvais livre, c'est ceux qui
veulent faire les 2 a la fois : tuto et ref du programmeur

@+Fab
Avatar
Jean-Marc Bourguet
"PRORIOL Fabien" writes:

Comme je l'est dit ailleur, essai "C++ par la pratique" Edition
O'Reilly, de Steve Oualline traduit en Francais;


Je te suggere de lire ce qui en est dit sur http://www.accu.org. Ca
commence par:

"The second edition of any book should really be fixing the problems
of the first edition. This book breaks the mould and even makes some
of the problems worse!

It is difficult to say where this book is of any real use to someone
starting programming. The code examples are incorrect, descriptions
are incorrect (or glib or plain wrong), end of chapter exercises don't
bear fit the chapters (material not covered in the chapter or just
unclear) and there is a lot in there that shouldn't be."

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
kanze
Fabien LE LEZ wrote in message
news:...
On 11 Aug 2004 01:25:35 -0700, :

le nom (il faut éviter le Basic à tout prix si on veut apprendre à
programmer), et la manque de portabilité (je travaille surtout sur
des machines Unix).


Y'a longtemps, j'avais installé une RedHat (histoire de voir à quoi ça
ressemble), et j'ai cru y voir un package "Basic".


Et sur les vieux Tandy 80, tu programmais en quoi ?

si le but n'est que des petits bidouillages, et qu'on ne connaît pas
déjà bien le C++, le C++ n'est pas un bon choix.


Et même alors que je connais bien le C++, ma préférence va plutôt à
PHP pour les petits bidouillages (d'autres préféreront Perl) -- sauf
si j'ai une bonne raison de choisir C++.


Je suis trop vieux pour apprendre. Je continue à utiliser le shell de
Bourne, avec sed, awk, etc. Et devine quoi : ça marche, même sous
Windows (grace à CygWin).

Dans la pratique, quand un script commence à dépasser plusieurs
milliers de lignes, il est temps de penser à C++.

--
James Kanze GABI Software http://www.gabi-soft.fr
Conseils en informatique orientée objet/
Beratung in objektorientierter Datenverarbeitung
9 place Sémard, 78210 St.-Cyr-l'École, France, +33 (0)1 30 23 00 34


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


Pour en revenir à la SL, je rejoins Fabien pour dire qu'a priori, on
utilise les éléments de la SL. Sauf si l'une ou l'autre condition
fait que l'on ne peut utiliser ces éléments, ou que d'autres sont plus
adaptés. Mais pour pouvoir en juger, il faut connaître les éléments
de la SL, et leur condition d'utilisation.


Evidemment je n'ai pas voulu dire que je considérais la SL avec une
telle désinvolture. Simplement je fais partie des gens qui n'aiment
pas défendre une thèse avec de mauvais arguments, et le fait est
bel et bien que ce "tu ne peux rien dire parce que tu n'as pas goûté"
est employé souvent avec des buts lamentables.

--

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
"drkm" a écrit dans le message news:


Je ne suis pas sûr de comprendre. Veux-tu dire qu'il y a moyen
d'interpréter l'enfilade de plusieurs manières ?


Je veux dire, effectivement, que lorsque deux problématiques
se présentent dans un même fil, la lecture de ce dernier dépend
du poids que chacun attribue à chacune d'elles. Je désespérais
d'expliquer ça précisement sans être long, lorsque je suis tombé
sur ceci (autre msg de toi) :

La remarque porte sur le fait que le mot « hérésie » s'utilise
également en dehors du cadre religieux. Quant à la longueur de
l'enfilade, elle n'a pas trait au passage par le C pour apprendre le
C++, mais en grande partie à l'utilisation de la SL et l'exposé de son
implémentation.


dans la dernière proposition, commençant par "mais", le "et" relie
deux choses manifestement différentes, et tu as toi-même exposé
brillamment hier soir que la longueur du fil tenait à ce malentendu.
Moi j'ai eu l'impression, à tort dans certains cas ou dans la plupart
des cas (?) que l'on dépréciait l'étude des mécanismes qui permettent
à la STL d'exister, et d'autres ont eu l'impression que j'étais contre, ou
indifférent à son usage. Maintenant je ne suis pas sûr qu'il faille
prolonger indéfiniment puisque chacun s'est expliqué longuement
et sans contrainte.

--

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
"Jean-Marc Bourguet" a écrit dans le message news:


Ce que je conteste - sans être sûr que ce soit *ta* position - c'est
le refus d'expliquer, le moment venu, comment ça fonctionne (que
l'assitance publique veuille bien comparer la pondération de cette
phrase avec la position extrême qu'on m'attribue parfois pour se
faciliter la réponse).


C'est pas ma position.


Ok !

Et je ne pense pas que ce soit la position de
quiconque.


Tu as peut-être raison, mais l'expression extrême de certains ne m'aura
pas aidé à le percevoir.

--

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