Bonjour a vous,
Le but de ce topic est de preparer collectivement un post-it qui fournirai des details de base sur comment commencer en programmation. Donner quelques concepts generaux, discuter un nombre raisonnable de langage de programmation pour commencer, des liens vers quelques ressources (livre ou url) pour apprendre avec une ou deux lignes d'environnement. (merci a tbop pour cette suggestion)
Feel free de fournir des liens, de reorganiser le texte, de corriger des fautes...
Les langages qui reviennent souvent sont:
Je n'ai pas le temps là mais je propose aussi d'introduire avant toute chose la différence claire entre un langage de programmation et l'algorithmique. Un langage en soit c'est... fingers in the nose, l'algrithmique c'est une autre pair de manches (Structure de Données, AI).
Concernant le plan général je pense que le mieux oui est de classer les langages qui reviennent le plus souvent en inscrivant pour chacun d'eux les bon tuto pour commencer.
Une partie design pattern aurait aussi très certainement sa place.
par expérience personnelle, je pense qu'on devrait aussi accorder un peu de temps à expliquer les concepts fondamentaux de la programmation, genre: ce qu'est un IDE, a quoi sert une compilation.
ca peut sembler superflu, mais certains ultra-débutants n'appréhendent pas forcément le concept de transformer son code-source en exécutable! ![]()
Le problème c'est qu'il peu y avoir deux attitudes, à savoir apprendre en amateur la programmation pour écrire du code n'importe comment pour faire des application buggées et impossibles à maintenir, ou suivre un cursus pas à pas pour apprendre dans les règles de l'art à bien programmer, comme le font les professionnels, à savoir des applications robustes, faciles à lire et à maintenir, y compris dans une équipe de développement.
Donc quand on veux apprendre correctement déjà on à pas à se précipiter sur un langage pour se fausser l'esprit, il faut commencer par des choses plus générales comme l'initiation à la programmation et à l'algorithmique, c'est ce qu'on va par exemple trouver ici : http://rmdiscala.developpez.com/cours/
Ça c'est du sérieux c'est fait par un prof réputé et ça à reçu plusieurs prix par la profession...
Les exemples et exercices sont données en plusieurs langages,donc inutile de faire un choix de langage pour commencer. Pour choisir un langage il y à une étude en français ici : http://general.developpez.com/langages/
Sinon à part ça ton lien vers le cours Java il est périmé, ce que tu as la c'est la V1, depuis la V2 à été traduite et elle est ici, pensez en Java la V2 : http://bruce-eckel.developpez.com/livres/java/traduction/tij2/
De toute façon pour débuter avec Java il y à mieux, le top du top il est ici pour les débutants : Programmation Java pour les enfants, les parents et les grands parents : http://java.developpez.com/livres/javaEnfants/
Et à part ça sur cette adresse tu as tous le reste : http://general.developpez.com/cours/ à savoir algorithmique, POO, tous les langages de programmation,...
"à savoir apprendre en amateur la programmation pour écrire du code n'importe comment pour faire des application buggées et impossibles à maintenir"
on appelle cela la "programmation amusante".
les gens peuvent vouloir apprendre la programmation pour participer plus tard à des projets open-source ou bosser dans le milieu, mais aussi pour simplement exploiter un peu mieux les capacités de leur machine, et faire des utilitaires pour se faciliter la vie ou développer leur créativité. quitte à laisser tomber le programme après usage, uniquement développé pour ça qu'il fut ![]()
Salut,
Justement non, si tu veux participer à des projets en groupe, que ça soit en open source ou sur un des milliers de projets de développement de jeux qui naissent sur le net, tu es obligé de travailler en équipe, et et ca veux dire que les autres membres de l'équipe doivent être capable de lire ton code, et inversement. Et aussi que tu soit capable de faire du développement avec des procédures clairement explicitées et documentées, ou en architecture en couche, ou encore utiliser la POO, voir des méthodes, pour pouvoir diviser le projet en plusieurs équipes pour que tout ce petit monde sache travailler sur le projet utilement, et que toutes les pièces du puzzle vont arriver en final à être capable de fonctionner ensemble.
Tu peu aussi t'amuser à apprendre à programmer "correctement" et à apprendre à prendre de bonnes habitudes pour une programmation lisible et robuste, pour s'amuser on est pas du tout obligé d'écrire du code pourri et illisible...
Fait un simple test et amuse toi à relire un de tes programme (en C par exemple) 1 an après si tu as pas commenté ou programmé par procédures clairement documentées même toi tu sera pas de relire...
Voila crois en ceux qui sont déjà passé par la...
Ok on peu écrire du code tout pourri sur 20 lignes chouette, avec du bol le code il va peut être marcher, et quand ton projet fera 100 000 lignes de code et que tu va travailler en groupe tu va faire comment pour trouver un bug si tout est illisible ?
PS. La conversation que j'ai eu avec caelacanthe, qui finalement rejoins un peu cell-ci, sur le topic suivant donne pour ma part indirectement des pistes de ce que je mettrais dans un prochain post-it:
https://www.jeuxvideo.com/forums/1-47-51569-1-0-1-0-programmation-c.htm#message_51594
Tbol ton pseudo ressemble trop au mien ça me stresse !
Tbol, c'est moi où tu ne parles quasiment que de travail en groupe? y a pas que l'open-source dans la vie.
tout les programmeurs ne vont pas forcément rejoindre un desdits milliers de projets de jeux, certains vont bosser pour eux ![]()
J'ai simplement répondu à une question sur ce sujet.
Comme j'ai déjà écrit, même si tu fait du code tout seul, si tu n'écrit pas ton code comme il faut après 1 an même toi tu ne saura plus le relire ni le débuguer, et encore moins le faire évoluer, bref tu sera dans la m...
écrire du code pour répondre à un besoin ponctuel, c'est la base. apprendre à faire du code facile à entretenir et à maintenir, c'est le niveau au dessus, et ce n'est pas appliquable à tout.
ça ne vous arrive jamais d'écrire en vitesse un programme pour faire un truc bien spécifique, le genre de programme qui ne sert qu'une fois et qu'on ne prend bien souvent même pas la peine de sauvegarder?
le simple fait d'apprendre à faire des programmes pourrait permettre à tout un monde de s'initier à la programmation, et ceux qui ont envie de pousser l'expérience plus loin pourraient éventuellement s'intéresser aux pratiques intelligentes qui rendent le code clair et réutilisable. ![]()
Merci les gars pour cette discussion sur la necessite d'avoir des methodes de programmations fiable. Je pense qu'on est tous convaincu que cela tiens une part importante de la formation d'un programmeur "complet" et que notre post it devrait le mentionner. Je vais essayer de restructurer le post ce week end. Si un forumeur a un avis sur ce que l'on devrait inclure ou ne pas inclure, je serais tres heureux de l'entendre.
Ok godrik , pendant que tu y es le titre du sujet "debutter la programmation" -> "débuter la programmation."
on m'a fait la remarque deja ![]()
le site du zero revient regulierement. Pensez vous qu'il devrait etre liste ?
Je pencherai opur le mettre dans le C mais pas dans le C++, quite a mettre un notice de pourquoi il n'est pas dans le c++)
ils peuvent représenter une transition intéressante entre partir de rien et apprendre à coder dans les normes, j'approuve. ![]()
Je pense que le post-it devrait aussi inclure des liens pour la programmation orientée Web, je trouve que c'est assez important.
Quelques points qui pourraient être cités : HTML/CSS (ce n'est pas de la programmation, mais ça peut quand même être cité), Javascript/Ajax, PHP, SQL, Flash/ActionScript, etc. avec éventuellement des liens vers le SdZ.
godrik : je suis d'accord pour le SdZ. Le cours de C là bas n'est pas terrible, mais pas trop mauvais quand même. Celui de C++ est vraiment à déconseillé par contre. Je l'ai lu assez sérieusement il y a quelques semaine parce que je cherchais des ressources pour quelqu'un qui voulait apprendre et c'est vraiment plein d'erreur, avec les concepts de la POO qui ne sont pas du tout maitrisé par l'auteur.
Un tuto de C++ que tu pourrais citer, c'était la coqueluche de ce forum et de création de jeux dans les années 2004-2005 à peu près, c'est celui de Christien Casteyde. Il a rendu son cours payant (2 ou 3 euro seulement) pour les dernières versions, et suite à ça les gens ont arrété de le citer comme référence. Mais la version qui était gratuite l'est toujours et sa qualité n'a pas du changer.
http://casteyde.christian.free.fr/cpp/cours/online/book1.html
Pour C++ je connais deux liens utiles :
- Cours C++ : http://cpp.developpez.com/cours/
- Les FAQ C++ en Français : http://cpp.developpez.com/faq/
http://rmdiscala.developpez.com/cours/ C'est dommage ce site est très bien mais j'ai peur (outre l'esthétisme du site) qu'il soit un peu oldschool. Les chapitres 1 et 2 sont pas vraiment pas mal pourtant.
En même temps il n'y a pas vraiment de ressources à conseiller qui soit universelles.
Chacun à besoin d'apprendre à sa façon.
On peut aussi le prendre dans le sens où tous livres, tous sites ou tous supports pour apprendre est efficace, du moment qu'on ait envie d'apprendre et qu'on soit passionné.
Autre point, il faut souvent et même forcément utiliser plusieurs ressources pour apprendre complètement un langage, sans parler de la pratique qui joue un rôle énorme.
Bien entendu on peut quand même émettre des opinions sur tel ou tel site, et d'ailleurs j'avoue que le site de zéro n'est pas bon (pour moi, donc) pour apprendre correctement le langage C ou C++.
En effet, certains points ne sont pas précis, ne sont pas assez détaillés, on a affaire à des va et vient du genre "vous verrez ça plus tard" et "comme vous l'avez déjà vu" qui nuisent à la compréhension.
Et surtout, SURTOUT, l'auteur des tutos c/c++ du site du zéro est décourageant, on a l'impression que la programmation est de la torture, qu'on va en baver quoi qu'il arrive, que ce sera dur, et que grâce à lui ça se passera bien...
=> Mauvaise façon d'enseigner.