Commencer à coder en partant de zéro

Article court (~5 minutes)

Photo by Ilya Pavlov on Unsplash

Je commencerai cet article en disant que ce n’est pas un tutoriel exhaustif sur comment devenir programmeur mais plutôt un retour d’expérience et un guide sur une façon de commencer en tant que “rookie”.

Il y a près d’un an je ne connaissais rien du domaine de la programmation. Je suis rentré en CPGE où les cours de programmation sont obligatoires. Je m’y étais bien évidemment intéressé avant avec la montée de l’intelligence artificielle mais en voulant apprendre, la syntaxe me paraissait trop compliquée. Il y avait beaucoup trop de choses que je ne comprenais pas. La syntaxe des langages de programmation aujourd’hui est bien souvent trop compliquée pour un néophyte. C’est pour ça que dans mon cas, il a fallu que je commence d’une manière plus compréhensible.

Nous voilà donc dans la première étape. Ce qui différencie notre langue maternelle d’un langage de programmation quelconque, c’est sa simplicité. Ce que je veux dire par là c’est que la langue française est par exemple bien plus variée pour obtenir une nuance entre deux mots proches de sens. Pour un ordinateur qui ne comprend que le binaire, cela va être bien plus simple au début avec très peu de mot et on se rend compte alors que l’on peut faire beaucoup de choses avec très peu. Cependant, il va juste nous falloir un peu plus de temps.

Rentrons dans le vif du sujet la premier étape peut paraître étonnante mais ce sont des algorithmes en organigrammes. Pour ce faire, il existe de nombreux logiciels que l’on peut retrouver sur internet. Vous en aurez sûrement fait au lycée mais si ce n’est pas le cas c’est tout de même très utile. Cela vous apprendra à créer une réflexion sur des problèmes simples avec à votre disposition peu d’éléments. Vous pourrez par exemple vous entraîner sur les problèmes suivants : Résoudre une équation du second degré, convertir les températures de °F à °C et inversement, faire une division Euclidienne… (pour d’autres problèmes recherchez sur internet).

Maintenant que vous savez ce qu’est un organigramme et que vous avez résolu des problèmes simples, vous savez programmer. En réalité, il existe une conversion rapide entre chaque langage de programmation et une fonction d’un organigramme. Prenons avec le python par exemple :

Petit tableau de conversion organigramme — python (Maxence Raballand)

Comme on le voit dans la dernière colonne, tous les langages ne sont pas optimisés pour toutes les tâches. On doit donc choisir un langage pour apprendre en premier et cela dépend de ce que vous voulez faire.

C’est donc la deuxième étape, trouver son premier langage. Pour ma part, j’ai commencé par le C# car imposé par mon école. Mais le python est je pense le meilleur choix car très utilisé et très polyvalent. Vous pouvez l’utiliser pour créer des logiciels, structurer des sites internet/serveurs, faire de l’intelligence artificielle. Le C+ a aussi la même utilité mais il vous sera plus facile d’utiliser python car il est plus universel. Pour le développement internet, ce sera du javascript (en addition du css et html qui sont des langages “esthétiques” , pas d’algorithmique), pour le développement mobile ou ordinateur, ce sera du Java et il existe bien d’autres langages qui ont parfois des utilités bien précises mais tous les langages se ressemblent bien souvent.

Maintenant, on rentre dans la troisième étape, l’apprentissage du langage. On commence avec le bien connu “Hello World” :

Hello World (Maxence Raballand)

Vous devez utiliser un logiciel pour rentrer votre code et le tester. Si c’est du python il vous suffit de télécharger python sur votre ordinateur et vous pouvez programmer en utilisant la console python ou avec un éditeur de texte ( le meilleur à mon goût est Atom). Pour tous les langages en C (C, C+, C#,…), vous pouvez utiliser visual studio qui permet d’exécuter le code facilement. Sinon pour Java il y a un équivalent qui est Eclipse IDE…

Pour ce qui est d’apprendre, on peut aujourd’hui tout trouver sur internet en commençant de 0. Je conseille les cours de OpenClassrooms qui sont gratuits et très riches en informations. Ils donnent de temps en temps des TP qui sont les meilleurs exercices car ils vous permettent d’utiliser toutes vos connaissances.

OpenClassroom

Si vous n’avez pas de TP, ce que je vous conseille de faire c’est de reprendre les exercices avec les organigrammes en modifiant ou du moins en complexifiant les énoncés comme par exemple convertir des températures, résoudre des équations, et ensuite passer à des jeux comme le jeu de la vie ou des jeux de cartes, casino…

Maintenant la quatrième et dernière étape, comment continuer à progresser. Tout d’abord il faut se reposer les questions : De quoi ai-je besoin ? Quels sont mes projets ?

C’est avec ces questions qu’on va pouvoir se fixer des objectifs et regarder quelles sont les connaissances que je vais mobiliser. Pour pousser votre réflexion, je vous conseille d’apprendre le deep Learning et l’IA plus globalement avec fast.ai notamment.

Cela va aussi poser la question de l’environnement de développement. Pour Java par exemple, on ne va pas forcément continuer à utiliser Eclipse mais des outils comme Android Studio pour développer plus facilement sur Android. Pour l’IA aussi on va venir utiliser des online IDE comme AWS ou Google colab.

Tout au long de la réalisation d’un projet, vous ne saurez évidemment pas tout sur comment il faut faire et pour ça les forums sont remplis de méthodes, techniques, scripts… je vous conseille de regarder aussi sur Github des projets semblables au vôtre pour comparer les méthodes et éventuellement compléter votre code.

Github est par ailleurs le meilleur outil pour progresser. Vous pourrez voir des projets, apprendre des autres et créer vos propres projets, partager avec la communauté…

En bref, même si se lancer peut paraître long est difficile, on s’intéresse vite à ce que cela peut nous apporter et en un an comme moi vous aurez pu faire un bond en avant que vous n’auriez pas pensé possible.

Retrouvez moi sur MaxenceRaballand, LinkedIn et GitHub.

Third year engineering student at ESILV, Paris

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store