Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

[débutant]Quel langage choisir?

38 réponses
Avatar
Stéphane OUTHIER
Bonjour tous le monde,

J'aurai besoin des lumières des âmes charitables.
j'aimerais apprendre un langage de programmation, et en particulier le C++.
Mais je connais très peu de choses en programmation.
Ma question est la suivante:
-Peut on commencer directement par l'apprentissage du C++, ou dois-je passer
par un autre langage avant (tel que le C).
-Est il possible d'apprendre depuis des ouvrages traitant du sujet, de
manière autodidacte? Si oui Quel sont les ouvrages les plus pédagogiques ou
les plus adaptés pour un autodidacte?

Par avance, je vous remercie des vos réponse.

10 réponses

1 2 3 4
Avatar
Loïc Joly
Stéphane OUTHIER wrote:

Bonjour tous le monde,

J'aurai besoin des lumières des âmes charitables.
j'aimerais apprendre un langage de programmation, et en particulier le C++.
Mais je connais très peu de choses en programmation.
Ma question est la suivante:
-Peut on commencer directement par l'apprentissage du C++,
Oui, mais ce n'est peut-être pas le langage idéal pour commencer la

programmation. Un langage de script et peut-être plus immédiat. Les gens
citent souvant python.

ou dois-je passer
par un autre langage avant
Non, pas forcément. Si ton but est d'apprendre le C++, autant étudier le

C++.

(tel que le C).
Encore moins. Le C est plus dur à apprendre à fonctionnalités égales.

Autant apprendre les concepts élémentaires (fonctions, structures de
contrôle,...) directement en C++, c'est plus simple et c'est le but à
atteindre. Ca évitera en plus d'apprendre de mauvais réflexes (qui sont
de bons reflexes en C). Le plus difficile est de trouver quelle partie
du C++ apprendre au début, et laquelle reléguer à plus tard.


-Est il possible d'apprendre depuis des ouvrages traitant du sujet, de
manière autodidacte?
Oui, mais rien ne remplace à un certain moment la pratique et la

relecture commentée du code par quelqu'un de plus expérimenté (ou la
lecture du code de quelqu'un plus expérimenté). C'est aussi un peu le
but de ce forum.

Si oui Quel sont les ouvrages les plus pédagogiques ou
les plus adaptés pour un autodidacte?
Ca dépend des gens. J'aime bien Accelerated C++ de Koenig et Moo (dispo

uniquement en anglais, et demandant une certaine vivacité d'esprit, mais
très didactique et prenant AMA le problème par le bon bout, un des seuls
livres d'apprentissage de ce genre (une grande partie des livres
d'apprentissage sont destinés à des gens ayant déjà une expérience en
programmation, et plus particulièrement en C))

--
Loïc

Avatar
Arnaud ARZUFFI
Stéphane OUTHIER wrote:

Bonjour tous le monde,

J'aurai besoin des lumières des âmes charitables.
j'aimerais apprendre un langage de programmation, et en particulier le
C++. Mais je connais très peu de choses en programmation.
Ma question est la suivante:
-Peut on commencer directement par l'apprentissage du C++, ou dois-je
passer par un autre langage avant (tel que le C).
-Est il possible d'apprendre depuis des ouvrages traitant du sujet, de
manière autodidacte? Si oui Quel sont les ouvrages les plus pédagogiques
ou les plus adaptés pour un autodidacte?

Par avance, je vous remercie des vos réponse.


Si tu souhaites apprendre un autre langage que le langage C++ pour
commencer, d'accord, mais pas le langage C ; effectivement, une rumeur
tenace voudrait que "comme le langage C++ est une évolution du langage C,
alors..." : eh bien, NON ! Ces 2 langages ont certes des syntaxes proches,
mais ils favorisent 2 paradigmes de programmation différents : la
programmation impérative procédurale pour le langage C, et la programmation
impérative orientée objets pour le langage C++. Souvent, les programmeurs
passant du langage C au langage C++ continuent à "réfléchir procédural"
dans le langage C++ ; l'intérêt de l'orientation objet est assez éloignée
dans ces conditions...

Les langages "agréables" pour débuter sont, par exemple, Python ou Java (Je
mentionne Java par démagogie, parce que le langage est assez élégant, mais
je trouve l'API épouvantable).

L'apprentissage du langage C++ se révélera plus difficile, parce que, à
cause de son héritage du langage C, sa syntaxe est très souple, et une
grande rigueur est nécessaire pour programmer "proprement" ; le langage C++
est aussi extrêmement riche, parfois en choses inutiles ou redondantes (si
quelqu'un pouvait m'expliquer la nécessité d'existence simultanée des
objets "valeurs", des références et des pointeurs sur objets plutôt que
seulement des références ?). Le langage C++ ne comporte pas d'API standard
pour interface graphique dans sa spécification et les API de collections
comme la STL sont souvent d'une lourdeur syntaxique...

Et maintenant, surprise ! Après l'énumération de tous ces défauts, j'affirme
que le langage C++ (que je trouve pas parfait, comme tous les langages),
est mon langage de programmation préféré, que j'utilise quotidiennement !
Pour quelles motivations ? Sa puissance d'expression, la rapidité des
programmes engendrés, et son caractère omniprésent, sur presque toutes les
configurations matérielles et logicielles, dans presque tous les domaines,
de l'industrie à la recherche scientifique, en passant par les applications
de production et les applications destinées à la maison.

Dernier conseil : pour rendre l'apprentissage du C++ plus amusant, pourquoi
pas essayer d'utiliser une API comme QT (http://www.trolltech.com) pour
construire des interfaces graphiques ? C'est une API extrêmement portable,
puissante, et intuitive à apprendre ! La construction d'applications avec
interface graphique, pourra te faire adorer la programmation dans le
langage C++ :))


--
Arnaud ARZUFFI

Avatar
Willy
Java (Je mentionne Java par démagogie, parce que le langage est assez
élégant, mais je trouve l'API épouvantable).


Pourquoi ?

Avatar
Christophe
"> Stéphane OUTHIER wrote:

Bonjour tous le monde,

J'aurai besoin des lumières des âmes charitables.
j'aimerais apprendre un langage de programmation, et en particulier le
C++. Mais je connais très peu de choses en programmation.
Ma question est la suivante:
-Peut on commencer directement par l'apprentissage du C++, ou dois-je
passer par un autre langage avant (tel que le C).
-Est il possible d'apprendre depuis des ouvrages traitant du sujet, de
manière autodidacte? Si oui Quel sont les ouvrages les plus pédagogiques
ou les plus adaptés pour un autodidacte?

Par avance, je vous remercie des vos réponse.





Dernier conseil : pour rendre l'apprentissage du C++ plus amusant,
pourquoi

pas essayer d'utiliser une API comme QT (http://www.trolltech.com) pour


Si Stéphane comprend aussi mal l'anglais que moi ce sera l'occasion de
réviser :-/

construire des interfaces graphiques ? C'est une API extrêmement portable,
puissante, et intuitive à apprendre ! La construction d'applications avec
interface graphique, pourra te faire adorer la programmation dans le
langage C++ :))
--
Arnaud ARZUFFI



OK : l'apprentissage d'un premier langage sans possibilités de présentations
écran (sauf séquentielles)
me parait extrèmement décourageant.
Le bouquin "C++ comment programmer" de Deitel et Deitel en Français :)
me parait tres complet progressif et abordable par les débutants.
Bonne chance
Christophe


Avatar
Rincevent
"Stéphane OUTHIER" a écrit dans le message de
news: 3ff9cad0$0$6972$
Bonjour tous le monde,

J'aurai besoin des lumières des âmes charitables.
j'aimerais apprendre un langage de programmation, et en particulier le
C++.


-Est il possible d'apprendre depuis des ouvrages traitant du sujet, de
manière autodidacte? Si oui Quel sont les ouvrages les plus pédagogiques
ou

les plus adaptés pour un autodidacte?



Personnellement, j'ai commencé l'apprentissage du C++ cette année.
J'ai fait l'acquisition d'un livre que je trouve très bien fait :
"Programmer en C++" édition Schaum's, auteur JR Hubbard.
Il développe les bases de la programmation : boucles, structures, procédures
etc. etc.
C'est un bouquin adapté à des cours "magistraux" en quelque sorte. La
pratique du C++ "brute" n'est pas vraiment mise en avant. Je l'ai trouvé
très bien pour débuter.
Cependant, j'avoue ne pas connaître les autres bouquins.
En général, la collection "X pour les Nuls" (avec X pouvant être n'importe
quoi) est assez bien pensée pour débuter.
Ils doivent bien avoir sorti C++ pour les Nuls non ?
Quoiqu'il en soit si tu veux débuter en C++, essaie de chercher "Dev C++"
sur google, c'est un compilateur sympa et gratuit.


Par avance, je vous remercie des vos réponse.




Avatar
Loïc Joly
Arnaud ARZUFFI wrote:

Stéphane OUTHIER wrote:


Bonjour tous le monde,

J'aurai besoin des lumières des âmes charitables.
j'aimerais apprendre un langage de programmation, et en particulier le
C++. Mais je connais très peu de choses en programmation.
Ma question est la suivante:
-Peut on commencer directement par l'apprentissage du C++, ou dois-je
passer par un autre langage avant (tel que le C).
-Est il possible d'apprendre depuis des ouvrages traitant du sujet, de
manière autodidacte? Si oui Quel sont les ouvrages les plus pédagogiques
ou les plus adaptés pour un autodidacte?

Par avance, je vous remercie des vos réponse.



Si tu souhaites apprendre un autre langage que le langage C++ pour
commencer, d'accord, mais pas le langage C ; effectivement, une rumeur
tenace voudrait que "comme le langage C++ est une évolution du langage C,
alors..." : eh bien, NON ! Ces 2 langages ont certes des syntaxes proches,
mais ils favorisent 2 paradigmes de programmation différents : la
programmation impérative procédurale pour le langage C, et la programmation
impérative orientée objets pour le langage C++. Souvent, les programmeurs
passant du langage C au langage C++ continuent à "réfléchir procédural"
dans le langage C++ ; l'intérêt de l'orientation objet est assez éloignée
dans ces conditions...


Il n'en reste pas moins que pour l'apprentissage du C++ en n'ayant pas
d'autre langage de base connu, l'écriture de programme procéduraux me
semble un passage nécessaire avant que d'étudier comment créer des
objets. Ca ne contredit pas forcément ce que tu dit, puisque la
programmation en C++ "procédural" est assez différente (et plus simple)
que la programmation en C "procédural" (string et vector, notamment).

[...]
(si
quelqu'un pouvait m'expliquer la nécessité d'existence simultanée des
objets "valeurs", des références et des pointeurs sur objets plutôt que
seulement des références ?).


Pour moi, ces trois concepts répondent à des besoins différents. Peux-tu
développer en quoi tu les trouve redondants, afin que je puisse mieux
comprendre ton point de vue (et éventuellement sortir des contre-arguments).

--
Loïc


Avatar
ecstasy
"Rincevent" a écrit dans le message de
news:btdq15$mvl$
En général, la collection "X pour les Nuls" (avec X pouvant être n'importe
quoi) est assez bien pensée pour débuter.
Ils doivent bien avoir sorti C++ pour les Nuls non ?


Ce que le service marketing de ces bouquins ont oublié de dire, c'est que tu
resteras toujours aussi nul après les avoir lus.

À méditer la citation d'Einstein dans le bouquin de Stroustrup "il faut
toujours essayer de faire le plus simple possible, mais jamais plus plus."

Avatar
Stéphane OUTHIER
Bonjour tous le monde,

je vous remercie pour toutes ces réponses très rapides.

Je vais me mettre en quète d'un des livres que vous m'avez suggèré, afin de
débuter au plus tôt. Je pense revenir assez régulièrement sur ce newsgroup
pour poser des tas de question. Je pars de zéro, et ma tête est déjà en
ébullition.
En ce qui concerne l'ouvrage "C++ pour les nuls", J'ai lu sur un forum que
le livre était assez bien fait et pensé, mais que la traduction était plus
qu'aléatoire, avec un nombre impressionant d'erreur dans les ligne de
code...

Pour que Christophe ne se sente pas seul, moi aussi, il va falloir que je me
remette à l'anglais. La phraséologie aéronautique, ça déforme...

Stéphane
Avatar
ecstasy
"Arnaud ARZUFFI" a écrit dans le message de
news:btd2li$3mk$
si quelqu'un pouvait m'expliquer la nécessité d'existence simultanée des
objets "valeurs", des références et des pointeurs sur objets plutôt que
seulement des références ?).


ça éviterait des idioties à la java, comme par exemple ( code java ) :

void f(int[] tableau)
{
tableau = new int[10]; // on veut changer la taille du tableau passé
en paramètre AIEEE
}


public static void main(...)
{
int[] tab = new int[5];
f(tab);
}

comment faire dans ce cas, si f() a besoin de changer la taille de tab ?
Solution sun : introduire une classe wrapper ( comme s'il y avait pas assez
de classes ), mettre le tableau en membre et passer la classe en paramètre
de f(). Élégant, java...

Un exemple parmi tant d'autres...

Avatar
Nicolas Aunai
Stéphane OUTHIER avait écrit le 05/01/2004 :
Bonjour tous le monde,

J'aurai besoin des lumières des âmes charitables.
j'aimerais apprendre un langage de programmation, et en particulier le C++.
Mais je connais très peu de choses en programmation.
Ma question est la suivante:
-Peut on commencer directement par l'apprentissage du C++, ou dois-je passer
par un autre langage avant (tel que le C).
-Est il possible d'apprendre depuis des ouvrages traitant du sujet, de
manière autodidacte? Si oui Quel sont les ouvrages les plus pédagogiques ou
les plus adaptés pour un autodidacte?

Par avance, je vous remercie des vos réponse.




bienvenue dans le monde merveilleux des trolls
si c'est pas ton univers, tu peux essayer celui là ;) :
http://groups.google.fr/groups?hl=fr&lr=&ie=UTF-8&group=fr.comp.lang.c%2B%2B


bonne année.

--
Nico,
http://astrosurf.com/nicoastro
messenger :

1 2 3 4