Introduction
Bonjour. Bienvenue. J’espère que tout le monde va bien. Juin a été un grand mois chez Exercism, avec le lancement de Premium et nos 10 ans. Et j’espère que tout le monde s’est amusé à jouer avec des Lisp pendant le Summer of Sexps. Passons maintenant au 7e mois de 2023 et à notre 6e mois à thème : Juillet jurassique.
Qu’entend-on par « jurassique » ? Eh bien, non, ces langages ne sont pas éteints, même si on a peu de chances d’écrire de nouveaux logiciels en COBOL de nos jours. Mais ce sont parmi les plus anciens langages, certains ayant plus de 60 ans. D’innombrables logiciels (en particulier des logiciels d’entreprise) ont été écrits dans ces langages. Ce sont tous des langages qui ont connu un immense succès.
Alors, quels sont ces langages ? Eh bien, nous allons nous intéresser à C, C++, COBOL, Fortran et Visual Basic. Nous ne verrons pas C et C++ dans cette vidéo, car nous les avons déjà abordés pendant Mechanical March. Regarde donc cette vidéo si ces langages t’intéressent. Mais nous allons nous intéresser à COBOL, Fortran et Visual Basic dans un instant !
Les badges
Obtiens le badge en terminant 5 exercices dans l’un de ces langages ce mois-ci. Et pour le badge de l’année, il te faut terminer :
- Bob : travailler avec des strings et de la logique conditionnelle
- Allergies : travailler avec des strings, des nombres et des opérations bit à bit
- Inverse une chaîne : parcourir les caractères d’une string
- Meilleurs scores : parcourir des tableaux de nombres
- Nombres d’Armstrong : travailler avec des nombres, les boucles et l’itération
Vue d’ensemble
Fortran
-
Initié par John Backus chez IBM dans les années 1950 pour développer une alternative plus pratique au langage d’assemblage afin de programmer leur ordinateur central IBM 704
-
Conçu pour exceller dans la création d’applications scientifiques et d’ingénierie (son nom est l’abréviation de Formula Translating System)
-
Premier langage de programmation de haut niveau (il réduit le nombre de lignes de code d’environ un facteur 20)
-
Également le premier compilateur optimisant (les clients hésitaient à utiliser un langage de programmation de haut niveau tant que son compilateur ne pouvait pas générer du code dont les performances approchaient celles du langage assembleur écrit à la main)
-
Langage à typage statique et fort
-
Ne prenait en charge au départ que la programmation impérative, mais la programmation procédurale a été ajoutée peu après. Des extensions ultérieures ont apporté la prise en charge d’autres paradigmes, comme la programmation orientée objet et la programmation matricielle
-
Normalisé, d’abord en 1966 avec Fortran 66, et mis à jour pour la dernière fois en 2018 !
-
Très influent, de Basic à ALGOL, il a inspiré de nombreux langages. Une grande partie des premières recherches sur les langages de programmation visaient à améliorer Fortran
-
Toujours activement développé, avec de nouvelles fonctionnalités ajoutées régulièrement, tout en offrant de solides garanties de rétrocompatibilité (l’ancien code se compile et s’exécute généralement encore)
-
Parallélisme intégré grâce aux coarrays, une méthode sûre et efficace pour exprimer le parallélisme. Les fonctions peuvent être marquées comme pures, ce qui aide le compilateur à optimiser pour le calcul parallèle
-
Gestion sûre de la mémoire grâce aux variables allouables, où c’est le compilateur qui se charge de libérer la mémoire.
-
Interopérabilité intégrée avec C
COBOL
-
Conçu en 1959 par le consortium CODASYL (parrainé par le Department of Defense !) dans le but de réduire les coûts de développement des applications de gestion (son nom signifie Common Business-Oriented Language)
-
Devenu une norme en 1968, avec une dernière révision en 2014
-
Différentes implémentations, comme IBM COBOL, GnuCOBOL (qui compile vers C) et Micro Focus™ Visual COBOL, qui fonctionne à la fois sur la JVM et sur le runtime .NET
-
Langage à typage statique
-
Multi-paradigme, il prend en charge la programmation impérative et orientée objet
-
Syntaxe verbeuse (beaucoup de mots-clés) mais très lisible pour un humain. Elle facilite la lisibilité et la maintenance
-
Bonne rétrocompatibilité, avec une spécification stable. Éprouvé sur le terrain
-
Bonnes performances (utilisé dans la finance)
Visual Basic
-
Développé par Microsoft comme successeur de Visual Basic, il s’exécute sur le runtime .NET (le suffixe .NET a été abandonné après Visual Basic 2003)
-
La première version est sortie en 2002 et le langage a été marqué comme « stable » en 2023. Cela signifie qu’aucune nouvelle syntaxe ne sera ajoutée au langage, mais qu’il reste un langage pris en charge
-
Il partage en grande partie sa syntaxe avec Visual Basic, mais quelques changements ont été apportés
-
Langage à typage statique qui prend en charge le typage fort et le typage faible
-
Langage multi-paradigme : principalement orienté objet, mais aussi impératif et événementiel
-
Facile à apprendre (Visual Basic a été conçu pour être facile à apprendre)
-
Excellent support de la programmation orientée objet
-
S’exécute sur le runtime .NET éprouvé, avec accès à toutes les bibliothèques .NET
-
Déploiement facile avec ClickOnce
Cas d’usage
Fortran
Utilisé dans les scénarios de calcul haute performance (superordinateurs), comme la prévision météorologique, l’astronomie et l’ingénierie des structures. Il est aussi utilisé dans des logiciels de CAO et de nombreuses applications reposent sur FORTRAN, par exemple plusieurs modules NumPy utilisent des bibliothèques FORTRAN 77
COBOL
Très utilisé dans la finance, où de nombreux systèmes financiers reposent encore en grande partie sur des logiciels COBOL (on estime qu’environ 80 % des transactions financières sont propulsées par COBOL), même s’il s’agit surtout de maintenance de nos jours. Il sert aussi à de nombreuses applications de gestion, et même à une base clé/valeur utilisée chez Walmart.
Visual Basic
Utilisé pour les interfaces graphiques (par exemple les interfaces vers des bases de données) et les sites web générés côté serveur. Parmi les entreprises qui l’utilisent : Boeing, Wells Fargo et General Electric
En quoi diffèrent-ils d’un point de vue de la programmation ?
Fortran
Ne prenait en charge au départ que la programmation impérative, mais la programmation procédurale a été ajoutée peu après. Des extensions ultérieures ont apporté la prise en charge d’autres paradigmes, comme la programmation orientée objet et la programmation matricielle
COBOL
Multi-paradigme, il prend en charge la programmation impérative et orientée objet
Visual Basic
Langage multi-paradigme : principalement orienté objet, mais aussi impératif et événementiel
Fonctionnalités remarquables
Fortran
- Performance. Le langage Fortran et ses types et structures de données sont conçus pour être efficaces et offrir d’excellentes performances. C’est ce qui lui vaut d’être utilisé dans les superordinateurs
- Il prend en charge par défaut de nombreuses fonctions mathématiques
- La programmation matricielle est une façon très élégante d’appliquer des opérations sur des tableaux et des portions de tableaux sans avoir à faire d’itération manuelle ni à préciser les bornes des tableaux
COBOL
- L’arithmétique à virgule fixe n’a pas d’erreurs d’arrondi, contrairement aux nombres à virgule flottante. C’est ce qui la rend idéale pour la finance
- Idéal pour lire et écrire dans des fichiers (des enregistrements)
- COBOL intègre nativement la génération de rapports, ce qui explique aussi sa popularité dans les applications de gestion
Visual Basic
- Excellent pour créer des applications à interface graphique avec Windows Forms. Un éditeur WYSIWYG en glisser-déposer
- Excellent support des environnements de développement, avec des réécritures, la complétion de code et bien plus encore
Lequel essayer ?
- Si le calcul scientifique ou la haute performance t’intéresse, Fortran est un excellent choix
- Si tu veux te faire une idée de la façon dont on construisait autrefois les applications de gestion, COBOL est parfait
- Si tu t’intéresses à la création d’applications à interface graphique, ou si tu es déjà sur la plateforme .NET, Visual Basic fonctionne très bien
- Si l’histoire de la programmation t’intéresse, COBOL et Fortran sont deux parcours à découvrir