Les langages de programmation sont la base de tout logiciel, système d’exploitation et même d’Internet. Sans les langages de programmation pour créer les milliers de logiciels et sites que nous utilisons quotidiennement, notre ordinateur serait une belle coquille vide.
Dans cet article, nous allons brosser un tableau sommaire des langages de programmation en visitant quelque peu l’histoire, puis où nous en sommes aujourd’hui, le tout complémenté de quelques anecdotes.
Tout d’abord, il faut savoir que nous classons les langages en trois catégories, soit :
- Par génération
- Par type
- Par paradigme
Générations de langages de programmation
La génération d’un langage de programmation est déterminée en fonction de son évolution, des possibilités et des styles qu’il offre ainsi que des avancées technologiques auxquelles il répond. Ainsi, on reconnaît la 1re génération au début des années 1940. Nous en sommes aujourd’hui à la 6e génération de langages de programmation.
Types de langages de programmation
Le type de langages fait référence à la méthode utilisée pour l’exécution du logiciel. Il existe plusieurs types. Toutefois, nous ne mentionnerons que trois grandes familles, soit :
- Les langages interprétés : Ces langages sont traduits dans la langue native de l’ordinateur à l’aide d’un interpréteur au fur et à mesure de leur exécution. De ce fait, ces programmes sont généralement plus lents en fonctionnement. Exemple de logiciel étant interprété; les sites Internet que nous visitons.
- Les langages semi-compilés : Ces langages sont traduits dans un format intermédiaire à la machine et nécessitent un module d’interprétation pour fonctionner. Ces programmes sont plus rapides que la famille précédente.
- Les langages compilés : Ces langages sont entièrement transformés au format natif de l’ordinateur à l’aide d’un compilateur. De ce fait, ils sont les plus rapides en exécution. Exemple de logiciels ayant été compilés; la suite Microsoft Office avec Word, Excel, etc. Les jeux vidéo pour console Xbox ou PlayStation sont également un bon exemple.
Paradigme de programmation
Le paradigme de programmation est la façon d’élaborer des solutions aux problèmes et à sa traduction en langage informatique. Nous pouvons distinguer trois grands paradigmes de programmation, soit :
- La programmation structurée, procédurale ou séquentielle : Ce paradigme date des années 1970 et était idéal dans un contexte où un seul programme était exécuté à la fois, loin du multitâche que nous connaissons aujourd’hui.
- La programmation orientée objet: Développée dans les années 70, mais adoptée par les développeurs dans les années 80, elle permet la création et l’utilisation de briques logiciels réutilisables, nommées « objets ». Par exemple, je peux créer un objet de validation du numéro d’assurance sociale et l’utiliser dans mes autres logiciels à l’avenir. Mieux encore, je peux partager cet objet avec d’autres développeurs.
- La programmation événementielle : Celle-ci a été développée afin de répondre aux besoins multitâches et multiévénements que nous utilisons aujourd’hui avec nos ordinateurs fonctionnant sous Windows ou macOS. Ce type de paradigme est à l’opposé de la programmation séquentielle.
Le fameux « Hello World! »
Tout programmeur débutant connaît le fameux « Hello World! ». Celui-ci constitue systématiquement le premier exemple à faire lorsqu’on apprend un langage de programmation. Ce premier programme est assez simple, il consiste à faire afficher le message « Hello world! » à l’écran. Nous utiliserons ce premier programme pour afficher les quelques exemples de langages dans cet article.
Un peu d’histoire
L’histoire de l’informatique reconnaît la machine analytique, crée en 1834 par Charles Babbage, comme précurseur de l’informatique moderne. M. Babbage est le premier à énoncer le principe d’ordinateur et sa machine est considérée comme le premier ordinateur mécanique programmable.
À cette époque, le travail des femmes était peu reconnu. Toutefois, une dame nommée Ada Lovelace se démarque nettement de ses pairs par son intelligence. Elle effectue plusieurs travaux sur la machine analytique de M. Babbage. Lors de son décès en 1852, nous avons retrouvé dans ses notes un programme informatique dédié à cette machine. Cependant, il faudra attendre le 20e siècle pour que Mme Lovelace soit reconnue comme première programmeuse pour avoir réalisé le premier véritable programme informatique au milieu du 19e siècle!
Pour la suite, il faut effectuer un bond d’un siècle dans le temps et arriver dans les années 40 pour voir apparaître les premiers ordinateurs électriques et les premiers langages de programmation associés. Au tout début, ces ordinateurs étaient programmés en langage machine ou binaire. Celui-ci se compose de bits « 0 » et « 1 ». Il est le langage natif des ordinateurs, mais incompréhensible pour nous, les humains. Il constitue la première génération des langages de programmation.
« Hello World! » en binaire, rien à y comprendre!
Rapidement, nous verrons une seconde génération apparaître afin de faciliter la programmation avec la création du langage Assembleur. Bien qu’il requière une connaissance approfondie du fonctionnement d’un ordinateur, celui-ci demeure tout de même plus digestible que le langage binaire. Fait important, l’Assembleur est encore utilisé de nos jours pour répondre à certaines tâches spécifiques ou pour de petits équipements électroniques programmables.
« Hello World! » en Assembleur.
À la même période, d’autres langages verront le jour. Cependant, je vous amène dans les années 50 pour voir apparaître la 3e génération des langages plus évolués et compréhensibles, dont deux langages marquants dans l’histoire, soit le Fortran en 1954 dédié au domaine scientifique, puis le COBOL en 1959 dédié au monde des affaires. Fait à noter, le nom des langages de programmation à cette époque était, pour la plupart, constitué d’un acronyme. Par exemple, Fortran est la concaténation de « Formula Translating ». COBOL est l’acronyme de « Common Business Oriented Langage ». Notez au passage que Fortran et COBOL sont encore en utilisation de nos jours.
« Hello World! » en COBOL. Ceci est déjà beaucoup plus compréhensible, mais un peu lourd.
Il en est de même pour le langage BASIC, créé en 1964 et qui est l’un des plus connus par les développeurs en herbe pour sa simplicité d’utilisation. Bien que le mot soit assez clair, dans les faits, il constitue un acronyme de « Beginner’s All-purpose Symblolic Instruction Code ». D’ailleurs, celui-ci appartient également à la 3e génération de langages de programmation.
Afin d’illustrer la simplicité du langage BASIC, le fameux « Hello world! » se traduit en une seule ligne de code :
PRINT « Hello, World! »
Et aujourd’hui
Aujourd’hui, il existe des centaines de langages de programmation. Je vous renvoie à cette page pour une liste alphabétique des langages existants et l’information disponible pour la plupart de ceux-ci. Pourquoi autant de langages, me direz-vous? Un langage de programmation est créé pour répondre à l’un des besoins suivants :
- Un nouveau besoin: Par exemple, l’Internet a suscité la création de plusieurs langages de programmation comme le HTML, le XML et le JavaScript afin de répondre aux besoins spécifiques de cette technologie.
- Un équipement électronique particulier: Par exemple, l’entreprise Apple a créé le langage Swift pour le développement d’applications dédiées à ses appareils iPhone, iPad, Apple Watch, Apple TV et ordinateurs Mac.
- Une évolution technologique: Par exemple, le langage C++ qui est une évolution orientée objet du langage C rendue nécessaire afin de répondre aux besoins des applications d’aujourd’hui.
- Une évolution de langage: Par exemple, le langage C est une évolution du langage B plus primitif et limité.
À l’époque où j’ai fait mes études, nous utilisions un seul langage de programmation lors de la création d’un nouveau logiciel, voire deux tout au plus.
Aujourd’hui, il est fréquent d’utiliser plusieurs langages pour une seule application, Internet en étant une illustration parfaite. Par exemple, un développeur utilisera le HTML, le CSS et le JavaScript pour la navigation des utilisateurs, le PHP pour le contenu dynamique des pages affichées et le SQL pour interroger les bases de données du côté serveur.
Le fameux « Hello World! » en HTML, langage de l’Internet
Quelques anecdotes au sujet des langages de programmation
- Le langage Ada a été nommé en hommage à Mme Ada Lovelace que nous avons vue en début d’article.
- Le langage Python, très prisé par le monde scientifique et de l’analyse de données, a été nommé ainsi non pas pour symboliser le serpent éponyme, bien qu’il en soit le logo, mais parce que son créateur était un très grand fan de l’émission britannique Monty Python Flying Circus.
- Le langage APL a été nommé tout simplement de l’acronyme « A Programming Langage ». Quoi de plus simple!
- Le langage PHP est nommé en référence à lui-même. Il signifie « PHP Hypertext Preprocessor ».
- Le langage Pascal est nommé en l’honneur de Blaise Pascal, mathématicien, physicien et inventeur français. En 1642, à l’âge de 19 ans, il créa une machine à calculer pour son père qui était percepteur d’impôts.
- Le C++ est l’évolution orientée objet du langage C. La symbolique « ++ » a été ajoutée pour simplement indiquer une amélioration du langage, celui-ci faisant référence à l’opération d’incrémentation d’une variable. Autrement dit;
« C = C + 1 » peut également s’écrire « C++ » dans ce langage.
Il y aurait encore tant à dire sur le monde fascinant de la programmation dont les outils de développement facilitant la tâche des développeurs, mais nous nous arrêterons ici pour aujourd’hui. Cependant, je vous promets d’y revenir un jour.
Daniel Vinet
Voici un rapport à propos du marché du travail mondial pour les programmeurs -> https://www.slashdata.co/free-resources/
Personne n’a parlé de Losp -> https://youtu.be/GVyoCh2chEs
Avant Internet, si on avait le malheur de faire une erreur en programmant, on pouvait rester pris longtemps avec, sauf si on pouvait compter sur quelqu’un pour nous dépanner.
Connaissez vous l’expression: « Google is your friend ». Voici votre nouvel ami -> https://www.phind.com/about Plus besoin d’avoir de vrais amis; tout le monde peut rester chez soi en attendant la fin du monde!
0n peut utiliser GPT-4 pour peaufiner des programmes -> https://www.sitepoint.com/refactor-code-gpt/
Mon langage préféré est C -> https://www.techrepublic.com/article/c-designer-torgersen-why-the-programming-language-is-still-so-popular-and-where-its-going-next/
Le langage que j’ai appris le plus facilement est APL et le second est R. Le langage que j’ai le plus utilisé est Python.
Daniel, je me joins à tous les membres ex-informaticiens programmeurs qui ont appris les languages de programmation d’une autre époque dans les classes du CÉGEP pour te féliciter d’avoir traité ce sujet avec justesse et élégance. Je me suis reconnu dans cette époque où on construisait nos programmes de À à Z avant l’ère collaborative dès librairies d’objets. Pour moi ce fût Assembler, Fortran, COBOL et PL/1. Merci pour le voyage Back to the future.
Magnifique article Daniel. Merci beaucoup.
J’ose à peine le dire : le langage que j’ai le plus souvent utilisé durant mes études en informatique et mon travail à Bell Canada est le langage Fortran.
Super intéressant et si bien présenté. Merci.
Bonjour M. Terreault et merci, j’apprécie beaucoup.
J’ai assisté à votre présentation sur l’histoire de l’Internet que j’ai beaucoup aimé. Vous avez été aux premières loges de ce jalon de notre société moderne, c’est un privilège de vous avoir dans le club!
Wow, merci Daniel. C’est ce que j’appelle « de la viande » en matière de partage de connaissance informatique. Plusieurs parmi nos membres plus avancés en informatique ont beaucoup apprécié, comme tu peux le constater.
De mon côté, je n’ai eu la chance que de ma familiariser avec HTML, Javascription et PHP, pour les raisons que tu as mentionnés: compréhension du langage web, et création simple de sites web
Bonjour Céline et merci de ton commentaire, j’apprécie beaucoup.
Les langages web sont intéressants pour la souplesse qu’ils apportent. Le HTML est aujourd’hui très puissant tout en demeurant simple, ce qui le rend abordable.
Merci encore!
Très bon article qui me rappelle des souvenirs. J’ai hâte à la suite !
Merci beaucoup Robert, j’apprécie!
Hum! Belle plume Daniel! Tu m’as fait revivre d’excellents moments de mon évolution technologique, mais également rappeler des cauchemars (ce satané COBOL) … Merci pour cet article si bien « vulgarisé » et surtout pour le temps que tu as dû mettre afin de le réaliser.
Merci Pierre, j’apprécie.
Oui, en effet, j’avoue qu’il m’a pris plus de temps que les autres, cet article. Et oui, j’ai damné la rigidité du COBOL moi aussi. À l’époque, mon langage préférée était le Pascal.
Tout d’abord, Félicitation Daniel pour cet article que je trouve des plus intéressant. Contrairement à la plupart d’entre vous, je suis toujours un programmeur très actif. Je voudrais souligner ici que, comme pour les langages humain, ce ne sont pas tous les langages de programmation qui sont très utilisés. Certains d’entre eux ne sont utilisé que très parcimonieusement. D’autres par contre sont très utilisés. Aujourd’hui, d’autres langages de programmation continuent d’émerger et l’arrivé de l’intelligence artificielle en engendrera fort probablement quelques autres. En fait, ça continue toujours d’évoluer mais certains langages sont des bases solides qui ont le mérite d’être plus évolutifs et universels (les langages C/C++, HLML, CSS en font partie). Aujourd’hui, les langages de programmation les plus utilisés sont presque tous reliés à la création de sites web (on comprend pourquoi). Félicitation encore une fois Daniel! J’ai hâte au prochain article traitant de ce passionnant sujet.
Pour les langages humains, juste au Canada en 2016, on recensait 260,000 interlocuteurs autochtones parlant plus de 70 langues et dialectes (1eres Nations, Métis et Inuits) !
Dans la longue liste de programmes ou de scripts indiqués dans la référence Wikipédia, il y a notamment Visual Basic, Python ainsi que JSON faisant partie du langage JavaScript. En effet C++ est très utilisé dans plusieurs domaines dont les jeux.
Je suis très heureux d’entendre un membre du CIMBCC qui touche intensément à la programmation informatique en ce moment.
Bonjour Robert et merci de ton commentaire, j’apprécie beaucoup.
Je demeure un passionné d’informatique et j’ai toujours gardé une patte, parfois lourde, parfois légère, dans le monde de la programmation.
Merci encore!
Bonjour Réjean et merci de ton commentaire, j’apprécie beaucoup!
Excellent point avec l’intelligence artificielle et, en effet, je crois que nous sommes loins d’avoir tout vu!
Merci encore.
Très recherché cet article. Ça rappelle à la mémoire de vieux souvenirs de l’époque du Cégep (années 70). Je n’ai pas lu l’article, je l’ai survolé.
Bonjour Richard et merci de ton commentaire, j’apprécie!
Que de souvenirs, en 1982 j’apprenais la programmation au Collège Rosemont. Les langages étaient Assembler, Basic, Cobol pour la comptabilité et le dernier Pascal.
Merci pour ce retour en arrière
Bonjour Gaétan et merci de ton commentaire, j’apprécie.
Nous sommes de la même génération, j’étais au CÉGEP Maisonneuve en 1984 avec…. roulement de tambour… Assembler, Basic, COBOL et Pascal 😀
Merci encore!
Ouf, quel article super extra ! Bravo Daniel. Cet article rare a toute sa place dans un club informatique.
Tous les membres pourront apprécier la grande quantité d’outils de nos spécialistes informatiques que l’on louange ou décrie selon les évènements. Il ne faut pas être trop surpris de la quantité de langages informatiques car c’est de même dans les langages humains sur notre planète !
Comme ancien informaticien pouvant se qualifier comme tel, je liste rapidement mes expériences en langages de programmation dont la majorité sont incluses dans l’article. Que de souvenirs !
Fortran – à Polytechnique de Montréal dans les années 60
RPG II – sur ordi IBM midrange System 3 dans les années 70
UNIX – sur IBM mainframe au début de 1975
APL et COBOL – sur IBM System Series 370
HTML – création de ma 1ere page web vers 1995
PHP – création de diverses rustines dans les années 2010
Sparc Solaris – programmation Sun SparcStation vers 2000
Aujourd’hui, j’admire ceux que je décris comme l’équivalent de mécaniciens les mains pleines de graisse ! Personnellement à mon âge, je préfère travailler avec des programmes dits faciles ayant des rustines HTML, PHP, JAVA, CSS préprogrammées !
Les langages informatiques sont presque aussi nombreux que les langues et dialectes humains utilisés pour les publications !
Bonjour Robert et merci de ce partage, tu as une riche expérience.
Merci encore!
Merci Daniel, très intéressant!
Marius
Merci de ton commentaire, Marius, j’apprécie beaucoup.