# Turbo Pascal

Turbo Pascal est un environnement de développement intégré pour le langage Pascal. Sa puissance et son prix « démocratique » ont fait son succès dans les années 1980 et 1990.

## Histoire

Le compilateur était basé sur le compilateur Blue Label Pascal à l'origine écrit en 1981 par Anders Hejlsberg pour l'ordinateur Nascom avec le système d'exploitation à cassette NasSys. Il a été réécrit sous le nom de Compass Pascal pour le système d'exploitation CP/M, puis il a pris le nom de Poly Pascal (d'après la société Poly Data de Hejlsberg) avant d'être acheté par Borland et produit pour les systèmes DOS et CP/M. Borland a distribué une version pour Apple Macintosh en 1985, mais le support de cette plateforme a rapidement été abandonné$^,$.
Quand la première version de Turbo Pascal compatible PC est apparue en 1983, le concept d'environnement de développement intégré (EDI) était relativement inconnu (les PC fonctionnaient en effet en mode texte, tout comme d'ailleurs les ordinateurs centraux). La puissance du compilateur, qui ne prenait pourtant que 16 Ko (taille alors d'un éditeur de texte courant), et sa rapidité (compilation directe en mémoire, en une seule passe), plus les bas prix pratiqués par Borland (49,95 dollars pour l'achat en 1983, sans redevance à payer pour la distribution des codes compilés contrairement aux compilateurs Microsoft de l'époque) ont créé un véritable succès et coulé le compilateur Microsoft Pascal (vendu dans les 500 dollars).
Grâce à une gestion non-redondante des messages d'erreur, le code était d'une grande compacité afin que le compilateur comme l'éditeur (en mode plein écran) puissent rester en permanence en mémoire vive : 16 Ko. L'absence d'utilisation du disque, un peu à la manière de PUFFT (Purdue University Fast Fortran Translator) ou WATFOR (Waterloo FORTRAN) sur ordinateur central rendait évidemment les compilations très rapides.
Il faut ajouter que les codes produits par le compilateur étaient libres de droits. Microsoft entendait au contraire réclamer des droits sur ces codes parce qu'ils incluaient nécessairement des modules de la bibliothèque.

## Versions

Au cours des années, Borland a amélioré l'EDI mais aussi le langage de programmation.
* Avec la version 4.0 apparaît une aide en ligne hypertexte, depuis laquelle on peut copier et coller les exemples dans l'éditeur de développement. Le langage évolue également, avec l'apparition des « unités », qui permettent la programmation modulaire et la compilation séparée. Il permet également de séparer nettement dans chaque module la partie interface de la partie implémentation et permet à chaque module d'avoir ses initialisations propres, ce qui augmente considérablement la lisibilité des programmes.
* La programmation objet apparaît dans la version 5.5, sous une forme encore rudimentaire.
* Avec la version 6.0, l'EDI est nettement amélioré : il utilise la Turbo Vision, bibliothèque graphique orientée objet qui apparaît également avec cette version de Turbo Pascal.
La dernière version de Turbo Pascal, la version 7.0, existait en trois versions :
* Turbo Pascal 7.0, qui comprenait un EDI pour MS-DOS et des compilateurs pour créer des programmes MS-DOS et DOS étendus ;
* « Turbo Pascal for Windows » 1.5, basé sur Turbo Pascal 7.0, et destiné à Windows 3.x ;
* Borland Pascal 7.0, qui comprenait en plus un EDI pour Windows, qui permettait lui aussi de créer des exécutables pour Windows 3.x, ainsi que Turbo Assembler.
En 1995, Borland a abandonné Turbo Pascal et l'a remplacé par l'environnement de développement rapide d'applications (RAD) Delphi, qui incluait le langage Pascal Objet. La version actuelle de Delphi supporte tous les enrichissements du Pascal des premiers produits ainsi que le « vieux » modèle objet (Turbo Pascal utilisait le type object alors que Delphi utilise class).
Turbo Pascal est longtemps resté utilisé dans l'éducation, notamment dans les classes préparatoires aux grandes écoles en France : jusqu'en 1995 pour le tronc commun d'informatique des classes scientifiques, jusqu'en 2013 pour l'option informatique des classes scientifiques (en concurrence avec Caml) et dans les classes économiques et commerciales. Il a aujourd'hui cédé la place à Python ou OCaml.