Benoît Courtine



    Navigation
     » Accueil
     » A propos
     » XML Feed

    First seven languages

    18 Nov 2016 » perso

    Twitter

    Il y a quelques semaines, j’ai vu passer plusieurs tweets gazouillis avec le hashtag mot-dièse #FirstSevenLanguages. Ces messages consistaient à faire la liste des septs premiers languages de programmation que l’on a appris/pratiqués)… Or, je me suis rendu compte que cette liste n’était pas si évidente à reconstituer.

    Voici donc, avec quelques lignes de plus que sur tweeter, mes débuts dans l’informatique.

    Les débuts

    Le premier ordinateur domestique arrivé chez nous était un Oric-1. Mais je n’ai pas souvenir de l’avoir utilisé. L’ordinateur sur lequel j’ai fait mes débuts devait nous a été rapporté du travail par mon père (à l’époque ingénieur en électronique), vers 1990. Ce devait être un 8086 ou un 8088. Sur cette machine, j’ai appris rudiments de la ligne de commande MS-DOS (dans sa version 3, sur des 5 pouces ¼), nécessaires pour pouvoir lancer l’unique jeu de cette machine : Prince of Persia.

    Premier programme

    Mon premier programme ont été réalisés sur la machine qui a remplacée celle-ci, vers 1994 : un 286. Entretemps, nous sommes passés sur MS-DOS 5, et sur une machine disposant d’un disque dur (de 20MB). Ce premier programme a pour but (encore) de permettre aux jeux de se lancer : il s’agit de l’écriture d’un "menu de démarrage" (avec sous-menus) dans les fichiers AUTOEXEC.BAT et CONFIG.SYS, permettant pour chaque jeu d’avoir la bonne quantité et le bon type de mémoire (drivers chargés, mémoire paginée ou non, etc.) : l’enfer des 640K de mémoire…

    Pour réaliser et améliorer ce menu, je lis également à cette époque mon premier livre de "programmation" : le manuel de référence de MS-DOS.

    Au passage, je découvre également comment créer mon premier bug (ou virus), avec cette boucle infinie : relancer AUTOEXEC.BAT à la fin de AUTOEXEC.BAT…

    Hello World

    Ayant trouvé cet exercice plutôt amusant, entre 1994 et 1998, je teste plusieurs langages de programmation et outils (mais sans aller beaucoup plus loin que le "Hello World") :

    A cette même époque, à défaut d’écrire une vraie application, j’essaye de regarder comment elles fonctionnent, et apprends donc des rudiments d’assembleur.

    Premiers pas sur le web

    Au lycée, en option informatique, nous concevons un site internet… à base de frames, de gifs animés, et de couleurs flashy. A notre décharge, c’était la mode de l’époque (1998/2000).

    Cette époque marque également mes premiers pas à la fois dans les bases de données et l’Open Source, en participant à un projet de projet PHP : NPDS.

    Concernant ces différents projets, il y a heureusement prescription…

    Les classes préparatoires

    Ayant peu de temps disponible à cette époque, l’unique langage sur lequel je travaille à cette époque est celui enseigné en option informatique à l’époque : Caml Light. Ces cours seront mes premières bases sérieuses en informatique, et me permettront de découvrir les bases de la programmation fonctionnelle.

    Pour ceux que ça intéresse, ces cours sont toujours intéressants, et accessibles sur le site de leur auteur.

    L’école

    En école, découverte (mais superficielle) d’autres langages, afin d’illustrer les types de programmation associés :

    • Programmation par contrainte, avec Prolog

    • Programmation fonctionnelle (à nouveau), avec Lisp

    • SQL

    Enfin, le langage principal de l’option informatique, Java, qui me permettra de trouver mon premier emploi (dans une SSII) en sortant d’école.

    Depuis…

    Très vite en sortant d’école, j’ai dû me mettre à jour sur la programmation web :

    Egalement très vite, j’ai appris que Java en entreprise, ce n’était pas qu’un langage, mais tout un ensemble de librairies et de frameworks (ce qui vaut d’ailleurs également pour le web et les autres langages…).

    Enfin, je suis allé à la découverte d’autres langages (autour de la JVM, pour des besoins d’automatisation d’infrastructure, voire par simple curiosité) :

    En réumé

    Si je reprends donc depuis le début, nous avons donc les sept langages suivants dans l’ordre :

    • Ligne de commande MS-DOS

    • C++

    • Pascal (je ne compte pas Delphi qui s’appuie sur le langage Pascal)

    • Assembleur

    • HTML

    • PHP

    • Caml Light