C++ pour les nuls

Discutez d'informatique ici !
valentin.b
Membre Rationnel
Messages: 518
Enregistré le: 25 Aoû 2008, 09:34

C++ pour les nuls

par valentin.b » 17 Juin 2009, 15:49

Bonjour,
Je fais des études qui m'obligent à faire de l'informatique, et j'avoue que ça ne me plait pas trop. J'ai déjà eu des cours d'informatique (sur le Xhtml), mais les enseignants n'aiment pas trop les L1, et les cours n'étaient pas très clairs. Comme l'année prochaine je sais que je vais devoir apprendre des trucs sur le langage C++, j'aurai aimé savoir ce que c'est (avec des mots et des concepts simples, je suis vraiment pas du tout au point, pour donner un exemple de ce que je ne comprends pas, aller sur la page C++ de wikipédia). Merci d’avance.



valentin.b
Membre Rationnel
Messages: 518
Enregistré le: 25 Aoû 2008, 09:34

par valentin.b » 17 Juin 2009, 15:52

Imaginez que vous l'expliquez à un enfant *

anima
Membre Transcendant
Messages: 3762
Enregistré le: 15 Sep 2006, 11:00

par anima » 17 Juin 2009, 15:56

valentin.b a écrit:Bonjour,
Je fais des études qui m'obligent à faire de l'informatique, et j'avoue que ça ne me plait pas trop. J'ai déjà eu des cours d'informatique (sur le Xhtml), mais les enseignants n'aiment pas trop les L1, et les cours n'étaient pas très clairs. Comme l'année prochaine je sais que je vais devoir apprendre des trucs sur le langage C++, j'aurai aimé savoir ce que c'est (avec des mots et des concepts simples, je suis vraiment pas du tout au point, pour donner un exemple de ce que je ne comprends pas, aller sur la page C++ de wikipédia). Merci d’avance.

Déjà, le XHTML, c'est plutôt difficile a expliquer (XML ca va encore, mais XHTML...heu...non :ptdr: ). Je comprends un peu les profs, tu ne peux pas vraiment dire autre chose a propos du XHTML que "Les balises (+ liste), et ce que ca fait".
Le C/C++, par contre, c'est une toute autre histoire. Je ne sais pas si tu vas apprécier; cependant, je peux t'assurer que c'est incomparable avec le XHTML.

Bon, après, tu vas surement me dire que je fais vieux, mais je vais te passer des liens qui existaient déjà quand j'ai appris le C (il y a plus de 8 ans déjà). Je te conseille fortement, comme je l'ai fait, de commencer avec le language C (qui est a la base du C++. Le nom "C++" vient du fait que dans le language C, on incrémente une variable en écrivant variable++;... Trève de blague, la syntaxe (grammaire) du language reste la même entre C et C++, et la plupart du vocabulaire aussi), avant d'enchainer avec le C++. Comme ca, quand tes petits camarades te demanderont ce qu'est une boucle while (ou pire, for), présent en C, tu sauras direct ce que c'est.
Le gros avantage du C++ par rapport au C est l'orienté objet. Mais bon, tu peux faire presque pareil avec des structures en C. (Comme tu peux le deviner, je n'aime pas vraiment le C++. Beaucoup de vent pour pas grand chose)

Les liens:
- Les cours de C sur developpez.com
- Idem pour C++
Sinon, il y a pas mal de bouquins sympa chez O'Reilly. Je regarderai si je peux trouver 2-3 trucs sympa demain.

Le C en lui-même est un language de programmation fonctionnel - en gros, avec beaucoup de simplifications, ca te permet, entre autre, de créer des programmes. Le language en lui-même est réduit et possède une structure rigide (un peu comme le système métrique international. Pour te donner une petite idée, les variables en C ont des types associés. Et, comme en physique, on ne mélange pas des caractères avec des entiers!).
Un programme en C, ca ressemble a ca:
Code: Tout sélectionner
#include
int main() {
char Nom[255];
printf("Bonjour! Quel est ton nom?");
scanf("%s",&Nom);
printf("Enchanté, %s!",Nom);
}

C'est pas bien méchant: char ; te permet de définir une variable de caractère (un caractère). Le [255] me permet de signaler au programme que je veux définir un tableau de 255 caractères.
printf() envoie un message à la console
scanf() récupère un mot ou expression entrée.

Et un programme en C++, a peu près la même chose, sauf que tu risques de voir énormément de -> dans le code. :ptdr:

valentin.b
Membre Rationnel
Messages: 518
Enregistré le: 25 Aoû 2008, 09:34

par valentin.b » 17 Juin 2009, 16:24

Ca va être dur pour moi. oO'
Je te remercie. (Pour une fois qu'on me donne des cours d'informatique qui ressemble à quelquechose ...).
Quand tu dis que ça ne ressemble pas du tout au HTML, c'est en terme de difficultés ou dans le manière de faire. Parce que si c'est la deuxième option, je préfère (à condition d'avoir un enseignement de qualité) recomencer à 0. On peut plus me parler de Xhtml ("Parlez moi de HTML et je vous fous mon poing sur la gueule, sauf le respect que je vous dois").

Y'a deux-trois trucs qui passent mal (je suis vraiment pas bon) :
. l'orienté objet
. language de programmation fonctionnel
(Est-ce qu'un enfant aurai compris ? ^^)

Et la fin de ton message c'est chaud (j'ai aucune base, donc l'exemple je suis pas mal largué, pour pas dire complètement).

De ce que j'ai compris, ça sert à la programation (entre autre).
Toujours et encore de manière simple, quel genre d'objets on utilise pour faire ces "programmes" (si il en existe de différentes sortes).

(J'ai l'impression de devoir apprendre une langue, je suis vraiment pas bon pour ça, j'était content d'avoir quitté la LV2 !!!)

anima
Membre Transcendant
Messages: 3762
Enregistré le: 15 Sep 2006, 11:00

par anima » 17 Juin 2009, 18:28

valentin.b a écrit:Ca va être dur pour moi. oO'
Je te remercie. (Pour une fois qu'on me donne des cours d'informatique qui ressemble à quelquechose ...).
Quand tu dis que ça ne ressemble pas du tout au HTML, c'est en terme de difficultés ou dans le manière de faire. Parce que si c'est la deuxième option, je préfère (à condition d'avoir un enseignement de qualité) recomencer à 0. On peut plus me parler de Xhtml ("Parlez moi de HTML et je vous fous mon poing sur la gueule, sauf le respect que je vous dois").

C'est vraiment, vraiment différent. Le HTML est basé sur le format XML, et comme l'indique les deux dernieres lettres (ML pour Markup Language) sert a transférer et formater ("baliser") des données. Le format est fait de balises embriquées. On appelle ca un language représentatif.
Le C est un language fonctionnel: une suite de fonctions avec choix logiques etc, te permettant d'effectuer des opérations (ce que le HTML ne te permet pas de faire). La structure est beaucoup plus proche d'une langue normale que le HTML (je vais te rassurer direct, le C est hyper logique. Très peu d'exceptions et de conneries du genre). Donc, plus facile à apprendre qu'une langue vivante.

Y'a deux-trois trucs qui passent mal (je suis vraiment pas bon) :
. l'orienté objet

Le non-orienté-objet est juste des fonctions dans le même scope (domaine). L'orienté objet te permet de définir des sous-domaines avec fonctions associées etc. Par exemple, si tu veux un exemple réel, j'ai programmé une petite bibliothèque il y a pas si longtemps que ca pour faire un peu de simulation physique. L'orienté objet m'a permis de définir une entité vecteur, avec toutes les opérations associées uniquement pour cette entité.
. language de programmation fonctionnel
(Est-ce qu'un enfant aurai compris ? ^^)

Défini ci-dessus.

Et la fin de ton message c'est chaud (j'ai aucune base, donc l'exemple je suis pas mal largué, pour pas dire complètement).

C'est parce que tu n'es pas habitué au format. T'en fais pas, ca viendra :ptdr:

De ce que j'ai compris, ça sert à la programation (entre autre).
Toujours et encore de manière simple, quel genre d'objets on utilise pour faire ces "programmes" (si il en existe de différentes sortes).

(J'ai l'impression de devoir apprendre une langue, je suis vraiment pas bon pour ça, j'était content d'avoir quitté la LV2 !!!)

On utilise un compileur (ou compilateur, je ne sais pas quel mot est utilisé en francais), qui "transforme" le language C en language machine.

abcd22
Membre Complexe
Messages: 2426
Enregistré le: 13 Jan 2006, 14:36

par abcd22 » 17 Juin 2009, 20:08

Bonsoir,
anima a écrit:Le C en lui-même est un language de programmation fonctionnel

Attention, « langage de programmation fonctionnel » a un sens spécifique et C n'est pas du tout un langage de programmation fonctionnel (exemples de langages fonctionnels : les langages des familles Lisp et ML, Haskell), c'est un langage impératif.
Tu voulais sûrement dire que (X)HTML n'est pas un langage de programmation mais un langage de balisage comme LaTeX, alors que C est un langage de programmation.

anima
Membre Transcendant
Messages: 3762
Enregistré le: 15 Sep 2006, 11:00

par anima » 17 Juin 2009, 20:24

abcd22 a écrit:Bonsoir,

Attention, « langage de programmation fonctionnel » a un sens spécifique et C n'est pas du tout un langage de programmation fonctionnel (exemples de langages fonctionnels : les langages des familles Lisp et ML, Haskell), c'est un langage impératif.
Tu voulais sûrement dire que (X)HTML n'est pas un langage de programmation mais un langage de balisage comme LaTeX, alors que C est un langage de programmation.

Mince alors, j'ai toujours cru que le C était fonctionnel. :doh:

Merci de m'avoir corrigé; comme quoi, on en apprend tous les jours.

valentin.b
Membre Rationnel
Messages: 518
Enregistré le: 25 Aoû 2008, 09:34

par valentin.b » 17 Juin 2009, 20:46

anima a écrit:La structure est beaucoup plus proche d'une langue normale que le HTML (je vais te rassurer direct, le C est hyper logique. Très peu d'exceptions et de conneries du genre). Donc, plus facile à apprendre qu'une langue vivante.

C'est rassurant !! J'ai presque pleuré ! :hum: ???

anima
Membre Transcendant
Messages: 3762
Enregistré le: 15 Sep 2006, 11:00

par anima » 17 Juin 2009, 23:13

valentin.b a écrit:C'est rassurant !! J'ai presque pleuré ! :hum: ???

Il y a un proverbe sympa en anglais: "No pain, no gain". Ne me dis pas que tu ne peux pas retenir 2-3 règles hyper logique ("ouvrir une {, (, ou [ = fermer une }, ) our ]", syntaxe de base, "finir chaque ligne avec un ;"), un peu de vocabulaire (nom de fonctions et arguments)...

Avatar de l’utilisateur
fatal_error
Membre Légendaire
Messages: 6610
Enregistré le: 22 Nov 2007, 12:00

par fatal_error » 18 Juin 2009, 07:22

salut,

le C c'est aussi le plaisir des pointeurs... qui a dit char* ? =)
la vie est une fête :)

anima
Membre Transcendant
Messages: 3762
Enregistré le: 15 Sep 2006, 11:00

par anima » 18 Juin 2009, 08:18

fatal_error a écrit:salut,

le C c'est aussi le plaisir des pointeurs... qui a dit char* ? =)

Ou même char**... :ptdr:

valentin.b
Membre Rationnel
Messages: 518
Enregistré le: 25 Aoû 2008, 09:34

par valentin.b » 18 Juin 2009, 09:35

valentin.b a écrit:C'est rassurant !! J'ai presque pleuré ...

... de joie.
C'est rassurant un langage logique (vraiment, ce n'était pas de l'ironie).

 

Retourner vers ϟ Informatique

Qui est en ligne

Utilisateurs parcourant ce forum : Aucun utilisateur enregistré et 4 invités

Tu pars déja ?



Fais toi aider gratuitement sur Maths-forum !

Créé un compte en 1 minute et pose ta question dans le forum ;-)
Inscription gratuite

Identification

Pas encore inscrit ?

Ou identifiez-vous :

Inscription gratuite