5 étapes pour Débuter en Programmation

Vous êtes débutant en Programmation, Hacking ou en informatique de façon générale ? Cet article est fait pour vous.
Plus particulièrement je vais vous donner les 5 étapes à suivre pour bien commencer avec la programmation. C’est-à-dire choisir le bon langage de programmation, apprendre vite et correctement et enfin utiliser les bonnes pratiques jusqu’à atteindre un niveau qui vous convient en programmatio

Étape 1 : Trouver des domaines qui vous plaisent

Posez vous la question suivante :
Pourquoi est-ce que je veux apprendre à programmer ?
Notez les 3 raisons principales qui vous viennent à l’esprit et ne continuez pas tant que vous n’en avez pas 3.
Pourquoi faire cela ? Parce qu’un programmeur est plus motivé lorsqu’il fait ce qui lui plaît. C’est l’une des meilleures façons d’apprendre et donc de débuter en programmation :
Faire ce qui nous plaît.
En faisant ce qui nous plaît on abandonne moins facilement et on avance plus vite.
Ce sont ces 3 raisons qui vont vous guider dans toutes la suite pour savoir par ou vous devez commencer. Vous pouvez vous contenter de le choisir de façon générale mais soyez simplement sûr(e) à cette étape que ce sont bien les domaines qui vous plaisent le plus.
Pour que vous me compreniez bien je vais faire la démarche en même temps que vous avec un exemple, voici mes 3 raisons :
Je veux apprendre la programmation pour :
-Créer des logiciels
-Mieux comprendre les systèmes
-Créer des sites web

Étape 2 : Ajouter des précisions à ces domaines


Si vous voulez apprendre la programmation parce que ça semble cool ou à la mode, vous ne saurez pas quoi faire. Il faut maintenant préciser chacune de vos raisons. Prenez-les donc une par une et ajoutez y des précisions. Parmi ces précisions notez impérativement le temps que vous voulez passer à apprendre ainsi que les systèmes d’exploitation visés. Voici pour mon exemple :
-Créer des logiciels utilitaires rapidement pour Windows (désinfection, nettoyage, antivirus).
-Mieux comprendre comment fonctionnent les systèmes d’exploitation (Windows et Linux) etcomment interagir avec eux du côté programmeur. Cela peut prendre le temps qu’il faudra.
-Créer des sites web personnels pour laisser place à mon imagination sans avoir à payer un développeur. Ici le système d’exploitation ne changera rien mais le site devra être fonctionnel sur les mobiles. Je souhaite apprendre assez vite.
Note : Vos raisons peuvent être larges comme « m’initier à l’informatique » mais il vous faut lespréciser le plus possible. Si vos précisions sont nombreuses, n’écrivez pas tout un paragraphe mais trouvez la plus importante pour vous jusqu’à avoir quelque chose de concret comme dans mon exemple.

Étape 3 : En déduire le(s) langage(s) de programmation par le(s)quel commencer


Maintenant que vous savez pourquoi vous voulez débuter en programmation, ainsi que le temps alloué et le système concerné, vous obtiendrez le ou les langages par lesquels vous devez commencer.
Je reprends mon exemple puis je donnerai des informations plus générales :
-Si je souhaite créer des logiciels utilitaires sous Windows de façon rapide, je vais naturellement m’orienter vers les langages « dotnet », c’est-à-dire Visual C++C#VB.NET mais aussi Java ou mêmePython (liste non exhaustive).
Disons qu’il y a un choix à faire ici entre l’un des 3 premiers et l’un des deux derniers : Java etPython sont portables c’est-à-dire que vous pourrez plus tard vous en servir pour programmer sous d’autre systèmes comme Linux.
À l’inverse les langages dotnet sont ciblés pour Windows uniquement (je ne compte pas les essais de portabilité via des programmes) et permettent donc de programmer plus facilement et rapidement notamment via l’environnement de développement intégré Visual Studio. Si je préfère apprendre un langage moins portable mais qui me permet de faire un programme fenêtré dans moins d’une heure, je vais choisir un langage dotnet.
Ici je vais donc choisir VB.NET ou C#.
-Concernant mon envie de connaître les systèmes d’exploitation en détail à mon rythme je vais devoir prendre un langage de programmation commun aux systèmes d’exploitation et qui permetd’avoir la main sur ceux-ci. Le langage C est celui qui sera le plus adapté car il permet d’être proche du système et est portable.

Note importante : Vous pouvez très bien apprendre d’autres langages non cités ou même apprendre des langages dans des domaines différents comme le C pour des applications fenêtrées Windows.Mais tout dépend de vos objectifs, pour moi qui voulait créer des programmes Windows rapidement,le langage C fonctionne aussi mais j’y arriverai bien moins rapidement que le C#. Si j’ai tout mon temps pour le faire, que la portabilité compte pour moi et que je souhaite bien maitriser le système je peux effectivement choisir le C à la place d’un langage dotnet.

-Enfin concernant les sites web disons que je n’ai pas autant de difficultés à choisir car non seulement il n’existe pas énormément de langages différents mais en plus ils sont automatiquement adaptés à tous les systèmes de part la nature du web. Le problème d’adaptation est plutôt inter-navigateurs. Le choix judicieux dans ce cas là est d’apprendre deux langages en parallèle : Un langage côté client et un langage côté serveur. C’est ainsi que ça fonctionne. La paire de langages client/serveur typique est JavaScript/PHP.
Note concernant HTML : Je ne sais pas qui est à l’origine du mythe selon lequel il faut démarrer par le HTML, mais c’est totalement faux. Rappelez-vous de ce que je disais plus haut : Tout dépend de vos objectifs et « apprendre la programmation » n’est pas un objectif assez précis. Le HTML est unlangage de balisage, qui ne se rapproche pas des autres langages dont on parle ici et personnellement je pense que l’apprentissage du HTML est très rapide et se fait directement enrecopiant, comprenant et modifiant des pages web.
En résumé :
C/C++…etc : Apprentissage approfondi des systèmes et réseaux mais lent
dotnet/Java/Python…etc : polyvalents
Assembleur, HTML et autres : Au besoin
Les avis sur les langages de programmation restent souvent assez subjectifs, vous pouvez donc toujours chercher des exemples de programmes crées avec des langages de programmation précispour voir de vous-même si le langage semble être le meilleur pour vous.
Notez aussi qu’il n’y a pas de gros problème sur le fait de démarrer avec le « meilleur langage » pour vous ou non, vous pouvez en apprendre plusieurs en même temps ou plutôt changer si jamais vous constatez que ça ne vous plaît pas ou ne fonctionne pas.

Étape 4 : Prendre un e-book ou un livre et pratiquer


Vient maintenant l’étape la plus longue mais aussi la plus palpitante si vous commencez votre aventure : C’est l’heure d’apprendre et de pratiquer. Vous savez ce que vous voulez faire, vous savez quel langage utiliser (sinon dites le dans un commentaire), il reste à chercher des ressources et à travailler.
Je ferais peut-être des guides et articles précis sur les langages que je connais et qui vous intéressent. Pour cela donnez moi en commentaire vos trois domaines de l’étape 2 ainsi que le langage qui vous intéresse.
Commencez petit, lisez le code des autres, écrivez votre propre code en faisant des exercices.
Il faut bien noter que lire est très important pour comprendre comment écrire un programme mais vous saurez vraiment l’écrire que lorsque vous aurez pratiqué et concrètement écrit ce programme vous-même. Je l’ai appris trop tard, j’ai lu presque tous les bouquins de programmation à la FNAC pendant un an et au final j’ai tout oublié sauf les quelques notes que je prenais et même si ce n’est pas suffisant c’était déjà ça.
Par la même occasion, si vous avez décidé d’apprendre à mieux maitriser les systèmes d’exploitation et donc de comprendre le fonctionnement des ordinateurs, vous pouvez commencer à apprendre Linux en même temps.

Étape 5 : Publier vos programmes et continuer d’apprendre

Cette étape est un peu celle où l’on se perfectionne.
En fait je vais vous dire un petit secret : Vous pouvez savoir programmer en un jour.
Toute l’ambiguïté se situe dans l’expression « savoir programmer ».
Que signifie pour vous « savoir programmer » ? Que signifie cette expression pour votre employeur ?
Est-ce que savoir écrire un programme « Hello World » en C est « savoir programmer » ?
À l’inverse, est-ce que savoir debugger une erreur liée à la pile d’exécution de deux fonctions de même prototype appelées successivement avec des mêmes variables est « savoir programmer » ?
C’est d’ailleurs pour cela que l’on fait habituellement la différence dans les CVs entre « compétences en C » et « connaissances en C ».
En fait, il y a une sorte d’échelle de programmeurs, tous savent programmer de façon relative et à vrai dire il n’y a pas vraiment de niveau selon lequel on aurait atteint un statut de « programmeur ».
Votre but est donc de monter cette échelle jusqu’à un stade ou vous vous sentez suffisamment confortable, selon vos désirs.
Pour monter cette échelle facilement et rapidement je vous propose de rédiger vos propre tutoriels,créer et partager vos propres programmes.
En enseignant vous apprenez beaucoup vous-aussi, et en partageant vos travaux vous recevez des feedbacks intéressants.
Vous pouvez également participer à des forums, à d’autres programmes…etc dans le but d’obtenir l’approbation de la communauté et peut-être même vous faire un nom.

Les bonnes pratiques pour apprendre la programmation

Pour finir cet article, je vais vous parler des bonnes pratiques générales concernant la programmation.

Suivez les bons conseils


Pour apprendre, l’idéal est de suivre des bons conseils. Je veux dire par là qu’il y a tellement d’avis totalement divergents et venant de personnes totalement différentes qu’on s’y perd facilement.
À vrai dire, écoutez ceux qui vous servent de modèles. Vous écouteriez les conseils nutrition d’une personne obèse morbide ? Non.
Alors ne vous focalisez pas non plus sur le HTML parce qu’une personne vous a dit cela sans même avoir crée de site.
Méfiez vous également des personnes sentimentalement attachées à leur langage favoris qui seraient prêtes à tout pour que vous suivez leurs conseils. Les mini-guerres du type « Le C c’est bien et le reste c’est de la merde » sont courantes entre informaticiens.
Tous les conseils ne sont pas bons à prendre, il vous faut être critique sur votre travail et sur les conseils donnés. C’est notamment vos buts définis plus hauts qui doivent vous servir de chemin à suivre.
À l’inverse, discuter et se faire aider par des personnes qui ont déjà emprunté votre route est une très bonne idée.

Les outils à utiliser

Le monde des développeurs est un écosystème assez fermé qui s’adapte et utilise d’une manière générale les mêmes outils.
Voici certains d’entre eux qui vous aideront à être plus productifs :

Les services d’hébergement et/ou de gestion de codes

Ils permettent notamment de travailler facilement à plusieurs ou non sur les codes sources de vos programmes. Parmi eux on notera le fameux Github mais aussi SVN.

Les environnement de développement intégrés

Sous Windows, vous n’avez pas trop le choix, il s’agit de Visual Studio, mais sous Linux vous avez notamment Eclipse, Geany.

Développement Open Source

La communauté Hacker s’attache particulièrement à l’esprit open source. Il s’agit de permettre la rediffusion et modification de votre programme par d’autres utilisateurs notamment dans le but del’améliorer.

Les ressources diverses pour commencer la programmation

Enfin, on notera qu’un programmeur cherche beaucoup dans les livres ou sur le net des extraits de codes source qu’il pourra utiliser. Personne ne programme vraiment tout de tête, à moins d’être un expert avec des dizaines d’années de pratique.


Previous
Next Post »