Les 40 ans de Turbo Pascal
(blog.marcocantu.com)- Turbo Pascal, présenté par Borland en novembre 1983, a officiellement fêté ses 40 ans en novembre 2023
- Turbo Pascal est considéré comme le produit fondateur de Borland ainsi que comme le premier environnement de développement intégré (IDE) largement utilisé dans l’industrie
- À l’époque, il a marqué les esprits par l’expérience de développement qu’il proposait et par le niveau de finition du produit, ce qui a conduit à un grand succès commercial
- Embarcadero continue de développer la lignée de compilateurs qui lui a succédé, et le compilateur en ligne de commande Win32 de Delphi 12 Athens utilise la version 36.0
- Le système actuel de numérotation des versions remontant jusqu’au tout premier Turbo Pascal, ce 40e anniversaire est aussi directement lié à l’histoire de la lignée Delphi
Turbo Pascal, lancé en novembre 1983
- Turbo Pascal est un produit lancé par Borland en novembre 1983
- En novembre 2023, il a officiellement 40 ans
Sa place dans l’histoire de Borland et des IDE
- Turbo Pascal est considéré comme un produit jalon de l’industrie
- C’est le produit qui a lancé Borland
- Il est cité comme le premier IDE largement connu
- Pour l’époque, c’était un produit remarquable, et son succès a été immense
Pour aller plus loin et replacer Pascal dans son contexte
- Pour en savoir plus sur Turbo Pascal, on peut lire le récent billet de blog de David I et Wikipedia
- Parmi les ressources liées à Pascal figurent aussi un billet de blog sur les 50 ans de Pascal et la première présentation du Pascal World Congress à Salamanca
Les compilateurs successeurs poursuivis par Embarcadero
- Embarcadero continue de développer la lignée de compilateurs successeurs de Turbo Pascal
- L’entreprise a récemment publié la version 36 de ce compilateur
- Le compilateur en ligne de commande de Delphi 12 Athens affiche la version
Embarcadero Delphi for Win32 compiler version 36.0 - Cette version 36 s’inscrit dans un système de numérotation qui remonte jusqu’au tout premier Turbo Pascal
Easter Egg pour le 40e anniversaire
- Pour célébrer ce 40e anniversaire, Embarcadero a dédié l’Easter Egg du produit à l’anniversaire de Turbo Pascal
- Le message se conclut par « Happy 40th birthday, Turbo Pascal! »
1 commentaires
Commentaires sur Hacker News
L’un de mes jeux vidéo préférés était ZZT, écrit en Turbo Pascal. C’était un étrange jeu en mode texte créé par Tim Sweeney d’Epic Megagames, mêlant puzzles, tir, etc. ; même la version shareware gratuite incluait un éditeur de jeu, ainsi qu’un petit langage de programmation appelé ZZT-OOP
Le code source original de ZZT a été perdu, mais quelques années plus tard, Adrian Siekierka a rétro-ingénié avec acharnement le code Pascal d’origine jusqu’à ce que sa compilation avec la version originale de Turbo Pascal produise un exécutable identique octet pour octet. C’est incroyable
https://blog.asie.pl/2020/08/reconstructing-zzt/
https://news.ycombinator.com/item?id=22609474
https://benhoyt.com/writings/zzt-in-go/
Turbo Pascal m’a fait entrer dans la programmation. Je me souviens avoir dépensé plusieurs centaines de marks allemands pour des licences Borland Pascal 7.0, puis Delphi 1.0 et 2.0, et j’ai fini par créer mon premier logiciel « commercial » que j’ai vendu contre rémunération
À l’époque de DOS, à part Basic, Turbo Pascal était probablement la voie la plus simple pour se lancer dans la programmation, et sous Windows 3.1/95, Delphi a été un outil révélateur, montrant à quel point la programmation d’interfaces graphiques pouvait être facile
À bien des égards, j’ai même l’impression qu’on a régressé depuis. Les compilateurs Turbo Pascal / Delphi produisaient des programmes GUI complets sous forme de petits binaires, et je me demande comment des logiciels aux performances comparables peuvent aujourd’hui être plus gros de plusieurs ordres de grandeur
Si la cause était une faute de frappe, il suffisait d’une seconde pour corriger, recompiler et exécuter. Les outils actuels relèvent souvent d’une autre philosophie, qui demande au développeur des actions inutiles en plus
L’exception, c’est SAP, qui semble avoir réussi, d’une manière ou d’une autre, à combiner l’hostilité envers l’utilisateur des interfaces des années 90 avec la consommation de ressources des programmes modernes. Pour moi aussi, Turbo Pascal a été le langage que j’ai utilisé après BASIC
Ce dont je me souviens le plus avec TP, c’est que chaque fonction avait un exemple de code simple et facile à comprendre, et que tout était organisé de façon logique, donc facile à trouver et à utiliser. Résultat, même adolescent, alors que je comprenais à peine le BASIC, j’ai pu apprendre Turbo Pascal en autodidacte avec seulement l’IDE, sans Internet.
Aujourd’hui, trop de systèmes n’ont même rien qui s’en approche. Je me demande si c’était dû à la simplicité des systèmes x86 DOS de l’époque, ou si le rythme rapide des changements, les exigences multiplateformes et la complexité actuels rendent ce genre de chose impossible à créer.
J’ajouterais que Processing était alors le seul framework de creative coding doté d’une documentation entièrement hors ligne. OpenFrameworks, par exemple, ressemble encore aujourd’hui en grande partie à une coquille vide de documentation générée automatiquement.
À mon avis, c’est l’un des éléments qui ont donné à Processing un avantage sur les alternatives dans l’enseignement. J’ai été assez déçu que p5.js ne perpétue pas entièrement cette tradition, qu’il faille être en ligne pour lire la documentation, et que ce ne soit plus un site web statique mais un rendu du texte en JavaScript à l’ouverture. Cela dit, la documentation elle-même est complète, exemples compris.
https://processing.org/
https://p5js.org/
C’était quelques années avant que je découvre Internet à l’université, donc je n’avais pas d’accès facile à des ressources d’apprentissage. Avant ça, j’avais essayé plusieurs fois d’apprendre le C sans grand succès ; ce n’est qu’après avoir appris TP que j’ai pu transférer vers C ce que j’avais appris en Pascal, avec là encore l’aide d’un autre excellent produit Borland, C++ Builder.
À la fin des années 80, après l’assembleur 6809E, des variantes de BASIC structuré et du batch/shell, le premier « vrai » langage de programmation que j’ai appris a été Turbo Pascal. Quand je suis arrivé en informatique au début des années 90, les cours de première année étaient encore enseignés avec Borland Pascal, donc cette expérience m’a été très utile.
Quelques années plus tard, mon bagage en Pascal m’a amené à développer des applications sur mesure en Delphi pendant environ cinq ans, puis à tester les IDE Kylix et C++Builder chez Borland. C’était une belle époque.
Delphi me manque encore aujourd’hui. De nos jours, on considère presque comme un défaut rédhibitoire qu’un IDE n’ait pas de plugins, mais à l’époque, l’idée d’une bibliothèque de composants et d’un environnement de codage facilement extensibles dans leur propre langage tenait de la pure magie. C’était vraiment amusant de manipuler la VCL et l’IDE lui-même.
C’est dommage que Borland ait poursuivi le marché entreprise en laissant de côté les développeurs de terrain, tuant de fait la croissance de l’adoption par la communauté. Au moins jusqu’aux environs de Delphi 7, c’était vraiment un ensemble formidable.
J’ai découvert TP pendant l’hiver 1993, à 14 ans, en le piratant sur un BBS warez. Contrairement au simple lancement d’un fichier .BAS, la puissance primitive que j’ai ressentie en compilant moi-même un EXE était exaltante.
J’ai commencé à modifier Renegade BBS et à créer des programmes door ; j’ai aussi essayé, sans succès, de créer des vers, des chevaux de Troie et des virus. Cette expérience a changé ma vie et tracé le chemin qui m’a mené au secteur tech aujourd’hui. Et en plus, j’ai corrigé depuis mes penchants adolescents pour la délinquance. Je dois beaucoup à Borland.
Quelques années plus tard, à 16 ans, j’ai développé une petite application pour gérer les clients de mon père et j’ai réellement été payé ; avec une partie de cet argent, j’ai acheté une version légale de TP6. C’était une belle époque.
Free Pascal propose encore un mode qui ressemble à l’IDE TP d’origine. Cela dit, comme ils le reconnaissent eux-mêmes, le code est en train de pourrir et dépend encore fortement de vieilles particularités de la plateforme MS-DOS d’origine
C’est dommage qu’il n’existe pas de version similaire utilisable comme éditeur généraliste dans un terminal, à la manière de neovim ou emacs, tout en s’intégrant à des fonctionnalités orientées IDE modernes comme LSP, les parseurs tree-sitter ou le Debug Adapter Protocol. Pour l’édition de code distant via SSH/connexion terminal, cela pourrait changer la donne
Il est difficile d’exagérer à quel point Turbo Pascal était plus rapide que ses concurrents. Il était si rapide qu’on pouvait se demander s’il n’y avait pas une astuce quelque part, et les programmes générés étaient eux aussi plus rapides
Pour l’époque, c’était un chef-d’œuvre, et les éloges qu’il a reçus étaient amplement mérités
C’est comme ça que j’ai appris qu’un compilateur mature était meilleur qu’un compilateur en version 1.0
Je me souviens avoir compilé une version de FPC 2.0 et quelques sur un PC Windows avec 512 Mo de RAM il y a quelques années, et cela n’avait même pas pris 5 minutes
https://www.tmssoftware.com/site/blogold.asp?post=759
Quand j’étais enfant, le sympathique propriétaire d’un magasin d’informatique m’a vendu à bon prix un semi-compatible PC qui faisait tourner MS-DOS 1.25. Disons que cela représentait à peu près la contrepartie d’une centaine de tontes de pelouse et de quelques gardes d’enfants
Il vendait Turbo Pascal pour MS-DOS standard, c’est-à-dire une version qui ne supposait pas la présence du BIOS PC, sur disquettes 8 pouces, et il me l’a transférée au format 5,25 pouces 160 Ko utilisé par mon semi-compatible. J’espère avoir été aussi reconnaissant à l’époque que je le suis aujourd’hui. C’est ce qui a lancé ma carrière
Au début des années 80, j’utilisais sur Apple ][+ et //e Apple Pascal, c’est-à-dire un environnement basé sur UCSC p-system Pascal, puis je suis passé à Turbo Pascal sous DOS. Turbo Pascal était vraiment enthousiasmant. Grâce à un compilateur très rapide, un bon retour d’information, un éditeur en couleur et des raccourcis clavier WordStar que je connaissais déjà, l’expérience était excellente
Je me souviens aussi du moment où le programme était devenu assez gros pour devoir utiliser la fonction d’overlays. Sous DOS, cela permettait en pratique de charger différentes parties du programme comme des pages
Je me souviens aussi avoir rencontré David Intersimone, excellent ambassadeur de Borland, à un moment dans les années 80, probablement vers la fin. C’était lorsqu’il était venu à l’invitation de la section locale de l’ACM de notre université
Curieusement, Turbo Pascal a été le premier langage de programmation de haut niveau que j’ai appris, et l’environnement était un Macintosh Plus. Ce n’est que plus tard que j’ai compris que Turbo Pascal était plutôt associé au monde PC
À l’université, j’ai acheté mon premier ordinateur Apple, un Macintosh Plus, avec un prêt étudiant, et je suis tombé par hasard sur une annonce dans le journal universitaire pour un exemplaire de Turbo Pascal pour Mac. Un professeur le vendait une quarantaine de dollars, et je l’ai acheté immédiatement
Heureusement, il y avait le manuel, mais les outils de développement Macintosh étaient très rudimentaires. Il n’y avait pas ResEdit, mais une étrange application R-Maker qui demandait de créer les ressources Macintosh sous forme de fichier texte, puis de les faire passer dans l’outil pour générer la resource fork
Certaines de mes premières applis étaient des implémentations en Turbo Pascal d’algorithmes parus dans la rubrique Computer Recreations de Scientific American. Heureusement, elles nécessitaient très peu d’interface utilisateur : en général, une fenêtre et quelques boutons suffisaient
Plus tard, j’ai découvert THINK Pascal, un IDE beaucoup plus centré sur le Mac, et je suis passé dessus ; plus tard encore, je me suis lancé dans THINK C
Malgré tout, Turbo Pascal restera toujours un souvenir affectueux. À une époque où j’entrais dans un monde nouveau et brut, Turbo Pascal m’a en quelque sorte ouvert la porte