Contenu | Rechercher | Menus

Annonce

Si vous avez des soucis pour rester connecté, déconnectez-vous puis reconnectez-vous depuis ce lien en cochant la case
Me connecter automatiquement lors de mes prochaines visites.

À propos de l'équipe du forum.

#26 Le 22/12/2008, à 09:51

Diidoouuuu

Re : Apprendre la programation. Comment et quel langage?

Tu peux jeter un oeil sur http://www.librecours.org.
C'est un site généraliste sur lequel sont hébergés des cours d'université en format PDF.
L'informatique et la programmation en particulier sont bien dotés.

Avec un petit coup de google : "Programmation Système", tu devrais trouver ce qu'il te faut.

Par exemple :

http://www-igm.univ-mlv.fr/~dr/CS/ (un cours complet de programmation système sous Unix)
http://pagnotte.developpez.com/cours/systeme-exploitation/ (s'intéresse à la fois à Unix et NT. )

#27 Le 23/12/2008, à 17:11

Luc Hermitte

Re : Apprendre la programation. Comment et quel langage?

Je vais tenter de répondre à plusieurs des questions soulevées:

a- parmi ces 3 langages, en premier langage, je te conseille le Python -- j'avoue: je ne le connais pourtant pas et ne suis pas intéressé. Ce que tu veux, mais pas le C en premier langage (cf archives, ici, dvlpz, sdz, ..., tout ça). Corolaire, oui le C++ est plus abordable que le C (tout est question d'ordre, cf plus bas)

b- Les pignes de pins sont moins chères que du papier avec "C/C++" écrit dessus pour allumer les cheminées. Dit autrement, C et C++ sont deux langages distincts. Et C/C++ bien que n'étant pas un langage officiel, est le terme que j'emploie pour désigner la plus mauvaise utilisation du C++ que l'on puisse faire: un mélange de C avec des classes, sans s'intéresser aux idiomes qui vont rendre le C++ robuste et paradoxalement plus simple que le C.

c- Si vous avez quelque chose à reprocher au sdz, c'est qu'il suit l'approche historique en termes d'apprentissage du C++. i.e., il commence d'abord par le sous-ensemble C du C++, et donc les pointeurs, puis introduit le reste. À sa décharge, un des premiers chapitres du C++ montre std::string pour détourner momentanément l'étudiant des char*. Et Nanoc a pris en charge la suite des "cours".

d- La référence en matière d'apprentissage du C++ est Accelerated C++ de Koenig et Moo. D'autres ouvrages sont particulièrement appréciés (des débutants, comme des connaisseurs (étrangement, on a tendance à préférer que nos futurs collègues potentiels n'apprennent pas à faire n'importe quoi)) comme la 4e édition du bouquin de Lipmann, Lajoie et Moo. Aucun des deux n'a été traduits.
Il y a un autre livre, qui a été traduit lui (Je me Lance de Francis Glassborrough), et qui mérite d'être cité. Il présente un C++ (simple et robuste) comme premier langage, le livre montre ni les parties OO/templates/exception du C++ (=> à rapprocher du C), ni la partie complexe du C (pointeurs, fonctions variadiques, ...). Seul bémol, vu où nous sommes, la bibliothèque qui vient avec est faite pour windows, il faut contacter l'auteur pour avoir une version pour *nix, mais savoir l'installer va sous-entendre que l'on n'est pas aussi débutant que cela. Bref. Même si le C++ n'est pas le meilleur choix qui soit comme premier langage, il y a pire (comme le C).

Dernière modification par Luc Hermitte (Le 23/12/2008, à 17:13)

Hors ligne

#28 Le 23/12/2008, à 18:28

twinsen93

Re : Apprendre la programation. Comment et quel langage?

Je viens de lire le fil, je trouve qu'il manque des commentaires sur le but de ton apprentissage de la programmation. Donc, j'ajoute mon grain de sel.

Pour le plaisir de la connaissance, et pour savoir comment ça marche : le Pascal (orienté objet en 2ème étape) est le langage le plus pédagogique pour les principes classiques de programmation.

Pour aller dès le début au fond des choses, ou bien dans un but professionnel ou scolaire : le C/C++. Ces 2 langages ne masquent pas les détails, et donc peuvent être décourageants. Mon conseil, pour du C/C++ serait de commencer par du C++, mais sans les objets.


Pour réaliser assez vite tes premiers programmes, sans hésiter, je plussoie tous ceux qui on suggéré le Python.

Pour contrer un troll caché dans ce fil, non, ce langage n'est pas plus lent que les autres.
Il est plus rapide à écrire, plus simple à lire, beaucoup moins méchant pour le débutant qui ne comprends pas pourquoi ça veut pas tomber en marche.

En bonus, il permet d'utiliser facilement beaucoup de bibliothèques toutes prêtes pour faire tout ce que tu peux imaginer, y compris tout ce que tu ne peux pas imaginer, et même son contraire.

Et puis personne n'a parlé du lien entre C/C++ et Python. Le python du paquet python ubuntu est CPython, son implémentation officielle en C. C'est entre autres un langage de script : prévu pour être embarqué dans un programme (écrit en C/C++ pour CPython) pour le rendre scriptable. Les bibliothèques d'extension python sont souvent écrites en C.

Donc tu peux apprendre Python, puis te mettre au C/C++, et mélanger les deux en fonction des besoins (là on est déjà dans du long terme).

Deuxième troll caché dans ce fil : C et C++ sont deux langages distincts. Oui et non, il n'y a qu'un compilateur C, et C++ est à la base un préprocesseur qui transforme le C++ en C. Il y a un tronc commun, et le C++ est un sur ensemble.
Par contre, ce sont deux styles différents du langage. On peut en théorie utiliser des élément typiquement C dans un programme C++, mais 1) ca ne peut apporter que des ennuis, 2) c'est 3 point en moins direct.
Et effectivement, le C++ pratiqué de nos jours est plus simple que le C de base.

Voila, fin du troll, j'espère avoir été constructif et utile pour ton choix.

Hors ligne

#29 Le 23/12/2008, à 19:08

wawan60

Re : Apprendre la programation. Comment et quel langage?

Mon conseil, pour du C/C++ serait de commencer par du C++, mais sans les objets.

Personnelement je penche pour le C tout d'abord suivis du C++ . Je parle d'expérience , mettant toutrné vers le C , pour m'y retrouver j ai du apprendre le language C pour avoir les bonnes bases .


Mon site -> www.retro-wuseum.hostzi.com
Grace Hopper : Pour moi, la programmation est plus qu'un art appliqué important. C'est aussi une ambitieuse
quête menée dans les tréfonds de la connaissance

Hors ligne

#30 Le 23/12/2008, à 19:15

HP

Re : Apprendre la programation. Comment et quel langage?

twinsen93 a écrit :

Mon conseil, pour du C/C++ serait de commencer par du C++, mais sans les objets.

Je comprends pas trop pourquoi "sans les objets"… sinon, je n'ai pas de commentaire sur la question… big_smile

Dernière modification par HP (Le 23/12/2008, à 19:16)


cat /dev/urandom >/dev/null 2>&1 #github

Hors ligne

#31 Le 23/12/2008, à 19:22

twinsen93

Re : Apprendre la programation. Comment et quel langage?

"sans les objets", cad sans écrire de classe et sans faire une conception orientée objets, en restant dans une programmation procédurale.

Je crois que la conception orientée objet n'est pas évidente a saisir, et si elle est mal appliquée elle peut donner des programmes lourds a écrire et à maintenir. Pour débuter la programmation, mieux vaut limiter la masse de connaissances à assimiler.

Hors ligne

#32 Le 23/12/2008, à 19:38

HP

Re : Apprendre la programation. Comment et quel langage?

Ouais, c'est plus le deuxième paragraphe qui m'intéressait en fait !

Ouais… mais bon, à un moment donné faut bien passer à l'objet… pourquoi pas le plus tôt possible ? Parce que une fois habitué à la bonne procédure… le break peut être difficile… enfin, je dis çà, je dis rien ! tongue


cat /dev/urandom >/dev/null 2>&1 #github

Hors ligne

#33 Le 23/12/2008, à 20:05

Link31

Re : Apprendre la programation. Comment et quel langage?

twinsen93 a écrit :

Pour réaliser assez vite tes premiers programmes, sans hésiter, je plussoie tous ceux qui on suggéré le Python.

Pour contrer un troll caché dans ce fil, non, ce langage n'est pas plus lent que les autres.

Mais bien sûr roll

Hors ligne

#34 Le 23/12/2008, à 20:17

Luc Hermitte

Re : Apprendre la programation. Comment et quel langage?

wawan60 a écrit :

Mon conseil, pour du C/C++ serait de commencer par du C++, mais sans les objets.

Personnelement je penche pour le C tout d'abord suivis du C++ . Je parle d'expérience , mettant toutrné vers le C , pour m'y retrouver j ai du apprendre le language C pour avoir les bonnes bases .

Si tu connais d'autres langages et l'algorithmie, pourquoi pas.

En premier langage, surtout pas un langage à pointeurs! Et le C++, contrairement au C, n'est pas nécessairement un langage à pointeurs ; pas besoin de savoir ce que c'est pour passer au second chapitre. Il "suffit" de ne pas baser son apprentissage sur un cours de C++ qui suit l'approche historique.

Hors ligne

#35 Le 30/03/2009, à 15:01

PetitApa

Re : Apprendre la programation. Comment et quel langage?

BebeFoetus a écrit :

Pour Python, le mieux est de commencer par le tuto de Swinnen, ensuite on a les bases suffisantes pour :
- soit commencer à explorer soi-même la bibliothèque standard (en anglais).
- soit acquérir un livre de référence en français sur Python comme Programmation Python - Syntaxe, conception et optimisation.
- ou soit continuer son apprentissage avec le tuto Dive into Python en français, un peu plus lourd à suivre, mais bourré de petits trucs indispensables.
Une lecture des Bonnes pratiques et astuces Python sera aussi un plus.

Le premier lien vers le tuto de Swinnen ne fonctionne plus.
Quelqu'un aurait son équivalent ou une copie ?

Apa, intéressé par l'apprentissage du Python comme 1er language.


J'ai beau essayer, je ne serais jamais aussi drôle que le gouvernement français.
Et je ne saurais jamais faire peur aux gens comme lui.

Hors ligne

#36 Le 30/03/2009, à 15:07

Angelius

Re : Apprendre la programation. Comment et quel langage?

Tout dépend des critères de celui qui désire apprendre. Il y a des langages très didactiques mais dont leur utilisation est très limitée et d'autre moins complet mais bien plus productif.

Ainsi, apprendre le c++ est exelent pour voir tous les concepts mais pour le dev web c'est pas la peine !
Ruby ou python sont très pratique, multi paradigme et bien pour les algos mais beaucoup de concept de la programmation ne sont pas abordé ( gestion de la mémoire, pointeur, typage )

bref, a chacun de voir selon ses attentes ! En tout cas, et à mon humble avis, mieux faut passer de langage style c++ à python que l'inverse.


Un moteur de recherche qui respecte votre vie privée ?--> Ixquick
Une messagerie instantanée libre et décentralisée ?--> Jabber
Ecouter et télécharger de la musique libre ?--> Jamendo

Hors ligne

#37 Le 30/03/2009, à 16:18

philarmonie

Re : Apprendre la programation. Comment et quel langage?

PetitApa a écrit :

Le premier lien vers le tuto de Swinnen ne fonctionne plus.
Quelqu'un aurait son équivalent ou une copie ?

tuto Swinnen

#38 Le 30/03/2009, à 17:04

Gatsu

Re : Apprendre la programation. Comment et quel langage?

PetitApa a écrit :

Quelqu'un aurait son équivalent ou une copie ?

La version originale (sous licence GFDL) en pdf.

Dernière modification par BebeFoetus (Le 30/03/2009, à 17:05)

Hors ligne

#39 Le 31/03/2009, à 08:48

PetitApa

Re : Apprendre la programation. Comment et quel langage?

Tutoriel de Swinnen et Logiciel Python :

Voilà, je commence à apprendre la programmation sous python en lisant le tutoriel que tout le monde semble apprécier.
Seulement quand je rentre l'instruction :
http://python.developpez.com/cours/TutoSwinnen/?page=Chapitre3#L3.2

>>>a=20
>>>If (a>100):
....Print "a dépasse la centaine"
....Else:

j'ai un message d'erreur quand je veux passer à la ligne suivante.


Du coup j'ai fait plusieurs essai, copier/coller mais j'ai toujours ce message d'erreur.
Comme j'ai pus lire que les versions de python apportent quelques changements je me demande si je n'ai une mauvaise version (paquet python 2,5).
Quel version dois-je utiliser pour correspondre à la période du tutoriel de swinnen ?

Apa, ou alors ma ligne de commande est fausse ?


J'ai beau essayer, je ne serais jamais aussi drôle que le gouvernement français.
Et je ne saurais jamais faire peur aux gens comme lui.

Hors ligne

#40 Le 31/03/2009, à 08:54

aleph2

Re : Apprendre la programation. Comment et quel langage?

http://docs.python.org/3.0/tutorial/index.html

#41 Le 31/03/2009, à 09:18

PetitApa

Re : Apprendre la programation. Comment et quel langage?

Je ne suis pas fluant en anglais donc merci de me dire si j'ai bien compris :

a=1

# if équivaut à "si condition"
if a==1:
    print "a est égale à 1"

# elif équivaut à "sinon condition"
elif a==0:
    print "a est égale à 0"

# else équivaut à "sinon pour les autres solutions"
else:
    print "a est différent de 1 et 0"



Donc si je fais ce code :

if a==1:
    print "a est égale à 1"
elif a==0:
    print "a est égale à 0"

Avec a=2 je n'aurais aucune réponse ?

Apa


J'ai beau essayer, je ne serais jamais aussi drôle que le gouvernement français.
Et je ne saurais jamais faire peur aux gens comme lui.

Hors ligne

#42 Le 31/03/2009, à 10:26

aleph2

Re : Apprendre la programation. Comment et quel langage?

> PetitApa

Tout à fait, comme le montre la console Python que tu as eu la bonne idée d'utiliser.

>>> 
>>> a = 1
>>> if a==1:
        print "a est égale à 1"
    # elif équivaut à "sinon condition"
    elif a==0:
        print "a est égale à 0"
    # else équivaut à "sinon pour les autres solutions"
    else:
        print "a est différent de 1 et 0"
        
a est égale à 1
>>> a = 2
>>> if a==1:
        print "a est égale à 1"
    elif a==0:
        print "a est égale à 0"
        
>>> # rien

---

Ceci dit, en t'écartant du Swimmen (que je ne conseillerais plus), tu apprendrais bien d'autres choses
fort utiles.

>>> a
2
>>> print 'a est égal à 2' if a == 2 else 'a est différent de 2'
a est égal à 2

#43 Le 31/03/2009, à 10:51

PetitApa

Re : Apprendre la programation. Comment et quel langage?

Ceci dit, en t'écartant du Swimmen (que je ne conseillerais plus), tu apprendrais bien d'autres choses
fort utiles.

>>> a
2
>>> print 'a est égal à 2' if a == 2 else 'a est différent de 2'
a est égal à 2

Je vais retenir cette méthode mais ne pas l'utiliser tout de suite, car je pense que c'est moins pratique pour trouver les bug sur de petits scripts.

Merci en tout cas ^


J'ai beau essayer, je ne serais jamais aussi drôle que le gouvernement français.
Et je ne saurais jamais faire peur aux gens comme lui.

Hors ligne

#44 Le 31/03/2009, à 13:09

aleph2

Re : Apprendre la programation. Comment et quel langage?

> PetitApa

On peut aimer ou non, mais ton inexpérience t'amène à des considérations hâtives. Python est plein de ces petites subtilités dont on ne voit pas l'importance dans une première phase d'apprentissage. Il serait dommage de s'en priver.

C'est un peu la signature de ce langage, diaboliquement efficace.