2 points par GN⁺ 2023-12-02 | 1 commentaires | Partager sur WhatsApp
  • 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

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

 
GN⁺ 2023-12-02
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/

    • C’est à cause de ZZT que j’ai installé Turbo Pascal sur mon ordinateur
    • Pour moi aussi, ZZT était un logiciel vraiment spécial, et c’est ce qui m’a fait découvrir la programmation pour de bon. Avant, je recopiais des listings BASIC de magazines ou je bricolais des choses sans grand intérêt sur le BBC Micro de l’école, mais c’est avec ZZT-OOP, sur mon premier PC, que j’ai appris en créant ce que je voulais à partir de zéro
    • ZZT a aussi inspiré l’overworld de Frog Fractions 2
  • 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

    • Dans les premières versions de Turbo Pascal, tant que le programme et le source tenaient en RAM, le cycle consistant à modifier le code et à voir le résultat était pratiquement instantané, même sur les machines de l’époque. L’interaction aussi était conçue avec cette immédiateté en tête, et je me souviens qu’au lieu d’afficher des écrans interminables de rapports d’erreurs de compilation, l’outil vous emmenait directement à la ligne fautive
      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
    • Un programme GUI « complet » des années 90 serait aujourd’hui presque inutilisable selon nos critères. Autrement dit, les frameworks et programmes actuels n’ont pas des performances comparables à ceux du milieu des années 90 ; en théorie, rien qu’en recompilant une appli d’il y a 25 ans avec une version actuelle du framework, on obtiendrait des choses comme Unicode, l’internationalisation, l’accessibilité ou la prise en charge réseau
      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
    • Ah, les marks, ça ne nous rajeunit pas. Je ne sais pas si c’était seulement au Royaume-Uni, mais à l’oral comme à l’écrit, on ne traduisait pas le nom mark en anglais : on disait toujours Deutschmark
    • Il manquait au moins un gros éléphant dans cet exécutable : la prise en charge d’Unicode. Cela n’aurait probablement même pas tenu dans la RAM des PC de l’époque
    • Turbo Pascal n’enseignait pas seulement la programmation procédurale descendante, qui était alors la façon habituelle de faire du Pascal ; avec sa démo Breakout, il enseignait aussi la programmation orientée objet
  • 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.

    • Processing(P5) avait cette fonctionnalité. Dans l’IDE, on pouvait sélectionner une chaîne de texte et la rechercher dans la documentation ; s’il s’agissait d’une fonction ou d’une constante intégrée, une page HTML statique installée avec le logiciel s’ouvrait, sans besoin d’Internet ni de serveur. On pouvait parcourir la documentation hors ligne, et j’ai l’impression que cette capacité de base a disparu de la génération actuelle de sites statiques.
      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’est parce qu’aujourd’hui les gens n’écrivent plus de documentation. Les nouveaux langages sont souvent open source, et il y a cette culture qui consiste à dire de lire les sources ; je pense que c’est une erreur.
    • Moi aussi, j’ai appris Turbo Pascal sans livre. Il y avait bien un livre de BASIC fourni avec l’ordinateur, mais Turbo Pascal était beaucoup plus facile. Pour dessiner des pixels, il suffisait de choisir un mode d’affichage en double buffering et de dessiner les pixels ; lire le port joystick ou la souris se faisait tout aussi directement.
    • Turbo C, c’était pareil. Aujourd’hui, pour trouver des exemples, il faut avoir de la chance.
    • Pareil pour moi. Après avoir utilisé GFA Basic pendant quelques années, j’ai découvert Turbo Pascal, et ça m’a beaucoup aidé : j’avais l’impression d’avoir une version de BASIC avec des blocs de code, des types de variables incluant les records, des fonctions et procédures, et même des références. J’ai appris Pascal simplement en lisant la documentation d’aide et en parcourant les exemples très clairs et utiles qui figuraient sur presque toutes les pages.
      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.

    • Dans notre pays, Delphi était de très loin l’environnement de développement le plus populaire. C’était une situation étrange : la majeure partie du monde passait à VB 5, et nous utilisions Delphi. Vu de l’extérieur, cela semblait être un excellent environnement, mais pour une raison ou une autre, il semble n’avoir vraiment percé que sur certains marchés.
    • J’ai suivi un parcours similaire, mais plus tard j’ai dû passer à Visual Basic 5 à cause des offres d’emploi. Malgré tout, j’ai toujours l’impression que rien n’a égalé Delphi pour le développement d’interfaces graphiques. La VCL était géniale.
  • 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.

    • Pour un adolescent qui ne comprenait pas vraiment les notions de compilateur et d’interpréteur, pouvoir créer soi-même des fichiers EXE avec TP4 donnait l’impression d’avoir un super-pouvoir. J’avais l’impression d’être un vrai programmeur.
      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.
    • Ça me rappelle le bon vieux temps des BBS. En 1989, à 17 ans, après avoir appris à écrire un pilote série basé sur les interruptions, j’ai créé une bibliothèque de doors pour Turbo Pascal et je l’ai distribuée en shareware. Elle a été pas mal utilisée jusqu’à la disparition rapide de la scène BBS au milieu des années 90.
    • J’ai vécu une expérience similaire à la même époque. En dehors des choses déviantes, je bricolais de la programmation graphique sur un 386SX, en utilisant de l’assembleur inline pour les parties « critiques pour les performances ». Cette expérience a clairement posé les bases de ce que je fais aujourd’hui.
  • 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

    • https://github.com/magiblot/tvision
    • Il y a un peu plus de dix ans, quelques amis fans de Turbo Pascal sont passés à Lazarus. Cela ressemblait au successeur logique de Turbo Pascal et de Free Pascal. Personnellement, je n’ai jamais beaucoup aimé le langage Pascal, donc je suis passé à C++ dans Emacs
  • 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

    • Dans un cours de graphisme à l’université, enseigné en plus par Jack Bresenham, j’ai demandé si je pouvais utiliser le tout nouveau Borland Turbo C pour un devoir. Après une recompilation rapide pour la démo, comme le PC de la salle n’était pas un 80286, j’ai découvert que mon code ne tournait qu’à un tiers de la vitesse de ceux écrits par les autres en Turbo Pascal v4
      C’est comme ça que j’ai appris qu’un compilateur mature était meilleur qu’un compilateur en version 1.0
    • Exact. Même sur les processeurs lents de l’époque, le compilateur Turbo Pascal avalait vraiment le code à toute vitesse. Rien à voir avec les systèmes de build complexes d’aujourd’hui, qui mettent une éternité à compiler un programme faisant la même chose
    • Aujourd’hui encore, Pascal est cité comme un langage à compilation rapide. On le voit aussi dans ce sens dans les débats Go contre Rust
      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
    • Son successeur, Delphi, l’est toujours aussi. Il existe un article sur un vrai projet d’un peu plus d’un million de lignes, avec une vidéo, et les commentaires abordent aussi les temps de compilation Win64
      https://www.tmssoftware.com/site/blogold.asp?post=759
    • https://prog21.dadgum.com/47.html
  • 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

    • Alors je pose la question : c’était quoi exactement, ce semi-compatible PC dont tu parles ?
  • 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