12-22-2012, 10:57:54
Je copy-paste ce tuto rédigé par delroth pour le forum des 2017 :
Bon(jour|soir),
J'ai posté un topic à peu près du même genre l'an dernier sur le forum des 2016 pour parler un peu de la programmation, pourquoi c'est important en informatique, et comment et pourquoi s'y mettre dès maintenant. Ça m'a l'air d'avoir été assez utile et d'avoir aidé un certain nombre de gens l'an dernier, donc pourquoi pas refaire la même chose cette année. Le discours sera à peu près le même, mais mon point de vue à certainement évolué depuis l'an dernier donc ça vaut surement le coup.
Premièrement, vous devrez à un moment ou un autre programmer. Si vous entrez à EPITA, à peu près tous les jobs de sortie habituels de cette école impliquent de la programmation. Être chef de projet, administrateur système ou architecte réseau ne veut pas dire ne pas programmer : la programmation est l'outil de base de toute personne passant la plupart de son temps sur un ordinateur pour réaliser ce qu'elle imagine et conçoit, et quoi que l'école essaie de vous enseigner vous ne pourrez pas diriger efficacement une équipe de programmeurs sans comprendre ce qu'ils font (ça semble logique, non ?).
Deuxièmement, l'école vous apportera un bagage minimum de connaissances en informatique. C'est votre curiosité et votre travail personnel qui fera de vous quelqu'un de compétent dans le domaine. N'attendez pas que tout vienne à vous, prenez de l'avance : vous la conserverez, et l'écart s'agrandira au fur et à mesure avec tous les gens qui attendent les cours pour apprendre la base de leur travail. C'est entre autre cet écart qui fait que dans une même promotion des gens sortent de l'école en CDI chez Google/Facebook/Microsoft ou en CDI chez Cap Gemini/Accenture (plus ou moins des usines à programmation). Comme partout, les gens doués à la base n'ont de l'avantage que si vous travaillez autant qu'eux. La prépa EPITA vous donne plein de temps, profitez en pour autre chose que jouer à WoW.
Troisièmement, si vous avez de l'imagination et/ou de la curiosité, apprendre à programmer et savoir comment fonctionne un ordinateur est quelque chose d'extrêmement enrichissant. Avant d'avoir plongé dedans vous ne pouvez même pas imaginer la subtilité du fonctionnement de ces machines : du CPU qui sur une surface de 2 ou 3 cm² exécute 4x3 milliards d'instructions par seconde, à la tête de lecture du disque dur qui lit à une précision énorme un disque qui tourne en périphérie à 651km/h, jusqu'au système d'exploitation qui simule le fonctionnement de plusieurs programmes simultanément en changeant de programme actif 100 fois par seconde. Je ne parlerai même pas des jeux vidéos qui 60 fois par seconde font traiter 2 millions de pixels à la carte graphique pour y faire des calculs d'éclairage. C'est un monde dingue, et s'il vous faudra très longtemps pour tout y comprendre, ça veut aussi et surtout dire qu'il y aura toujours des choses à y apprendre.
Bref, j'espère que j'ai donné à certains l'envie de s'y mettre. Parlons un peu plus de comment bien apprendre à programmer, histoire de gagner du temps.
Pour commencer, deux cours que je trouve pas mal pour commencer la programmation :
Quelques conseils d'ordre général si vous voulez progresser vite :
Sur ce, amusez vous bien !
Bon(jour|soir),
J'ai posté un topic à peu près du même genre l'an dernier sur le forum des 2016 pour parler un peu de la programmation, pourquoi c'est important en informatique, et comment et pourquoi s'y mettre dès maintenant. Ça m'a l'air d'avoir été assez utile et d'avoir aidé un certain nombre de gens l'an dernier, donc pourquoi pas refaire la même chose cette année. Le discours sera à peu près le même, mais mon point de vue à certainement évolué depuis l'an dernier donc ça vaut surement le coup.
Premièrement, vous devrez à un moment ou un autre programmer. Si vous entrez à EPITA, à peu près tous les jobs de sortie habituels de cette école impliquent de la programmation. Être chef de projet, administrateur système ou architecte réseau ne veut pas dire ne pas programmer : la programmation est l'outil de base de toute personne passant la plupart de son temps sur un ordinateur pour réaliser ce qu'elle imagine et conçoit, et quoi que l'école essaie de vous enseigner vous ne pourrez pas diriger efficacement une équipe de programmeurs sans comprendre ce qu'ils font (ça semble logique, non ?).
Deuxièmement, l'école vous apportera un bagage minimum de connaissances en informatique. C'est votre curiosité et votre travail personnel qui fera de vous quelqu'un de compétent dans le domaine. N'attendez pas que tout vienne à vous, prenez de l'avance : vous la conserverez, et l'écart s'agrandira au fur et à mesure avec tous les gens qui attendent les cours pour apprendre la base de leur travail. C'est entre autre cet écart qui fait que dans une même promotion des gens sortent de l'école en CDI chez Google/Facebook/Microsoft ou en CDI chez Cap Gemini/Accenture (plus ou moins des usines à programmation). Comme partout, les gens doués à la base n'ont de l'avantage que si vous travaillez autant qu'eux. La prépa EPITA vous donne plein de temps, profitez en pour autre chose que jouer à WoW.
Troisièmement, si vous avez de l'imagination et/ou de la curiosité, apprendre à programmer et savoir comment fonctionne un ordinateur est quelque chose d'extrêmement enrichissant. Avant d'avoir plongé dedans vous ne pouvez même pas imaginer la subtilité du fonctionnement de ces machines : du CPU qui sur une surface de 2 ou 3 cm² exécute 4x3 milliards d'instructions par seconde, à la tête de lecture du disque dur qui lit à une précision énorme un disque qui tourne en périphérie à 651km/h, jusqu'au système d'exploitation qui simule le fonctionnement de plusieurs programmes simultanément en changeant de programme actif 100 fois par seconde. Je ne parlerai même pas des jeux vidéos qui 60 fois par seconde font traiter 2 millions de pixels à la carte graphique pour y faire des calculs d'éclairage. C'est un monde dingue, et s'il vous faudra très longtemps pour tout y comprendre, ça veut aussi et surtout dire qu'il y aura toujours des choses à y apprendre.
Bref, j'espère que j'ai donné à certains l'envie de s'y mettre. Parlons un peu plus de comment bien apprendre à programmer, histoire de gagner du temps.
Pour commencer, deux cours que je trouve pas mal pour commencer la programmation :
- Learn Python The Hard Way - même si le titre peut faire peur, c'est un cours fait pour les débutants. La pédagogie est d'après moi très bonne, alternant entre des exemples commentés et des petits exercices, et obligeant à entrainer la mémoire en recopiant les exemples plutôt que de simplement les lire.
- How to Think Like a Computer Scientist - le cours donné aux étudiants du MIT qui débutent la programmation. Très sympa, va bien dans les détails, un peu abstrait parfois, et qui manque un peu d'exercices.
Quelques conseils d'ordre général si vous voulez progresser vite :
- Ne vous fermez surtout pas à l'anglais. Une très grande partie du contenu intéressant que vous trouverez sur internet est écrit en anglais car c'est une langue supposée compréhensible par tout le monde. Si vous ne savez pas lire d'anglais, c'est du suicide en informatique. À plus haut niveau, écrire et parler correctement l'anglais est également nécessaire pour communiquer efficacement avec les gens avec lesquels vous travaillerez sur des projets.
- Trouvez une communauté de gens qui s'intéressent à l'informatique et essayez de vous y intégrer le mieux possible. Vous apprendrez énormément en lisant les conversations et en essayant de comprendre ce qu'il se passe, et si vous avez des questions il y aura des gens pour y répondre. Vous êtes avantagés : vous rentrez dans une école d'informatique qui a un channel IRC actif avec 80 personnes connectées presque tout le temps. Soyez sur #epita, écoutez ce qu'il s'y dit en essayant de pas être chiant, si vous ne comprenez pas cherchez sur google et essayez de ne pas interrompre les discussions avec des questions sur ce qu'il se dit, bref, les règles de vies classiques. On est chiant par moment mais on ne mange pas.
- (Conseil qui vient directement d'un des cours que j'ai conseillé plus haut) N'écoutez pas les gens qui vous disent « le langage|cours que tu as choisi pour commencer l'info est mauvais » ou « beuh tu utilises notepad++ pour programmer, utilise vim|emacs ». L'important au départ est de comprendre les bases de la programmation et sa logique. Que vous appreniez ça via Java, Python, C, PHP ou quoi que ce soit n'est en rien un problème tant que vous comprenez que ce que vous avez appris n'est pas forcément le mieux pour tout. Les technologies sont des outils, il n'y a pas de langage magique qui fait tout.
Sur ce, amusez vous bien !
Don Ares, dit "Le Parrain"
EpiM**** recrute !
EpiM**** recrute !