Un compilateur Pascal qui donne une nouvelle dimension aux CPC 464,664 et 6128.En 1970, Niklaus Wirth met au point le langage Pascal. Ses motivations sont surtout d'ordre pédagogique : il veut bannir les mauvaises habitudes de programmation contractées par ses élèves avec des langages tels que Fortran. Peu préoccupé par la performance, Niklaus Wirth cherche avant tout à faciliter l'implémentation de son rejeton sur d'autres machines. Dans cette optique, il réalise un compilateur Pascal écrit dans le code d'une machine fictive, le P- code. Dès lors, l'implémentation sur une nouvelle machine passe uniquement par l'écriture d'un interpréteur de P- code écrit dans le langage de la machine hôte : Pascal est un langage semi-compilé. Revers de cette portabilité : Pascal traîne comme un boulet son interpréteur de P- code, qui ralentit considérablement l'exécution des programmes, sans pour autant apporter l'interactivité des véritables interpréteurs. Autre inconvénient du P- code, un programme ne peut tourner sans la présence de l'interpréteur P- code : lourd handicap pour le développement d'applications. Bref, on arrive à la situation paradoxale où Pascal, l'un des langages les plus séduisants, offre tous les inconvénients des compilateurs sans apporter aucun des avantages des interpréteurs. 
Philippe Kahn, un FRANÇAIS de génie, concepteur de Turbo Pascal, est parti de ce constat et a réalisé un vrai compilateur Pascal, générant du code machine, du vrai. Résultat, Turbo Pascal est environ trois fois plus rapide que les Pascal classiques. Sur Amstrad, il se révèle de trente à quarante-cinq fois plus rapide que le Basic Locomotive (en moyenne), sauf en affichage où la vitesse n'est multipliée que par deux (à cause de la structure de la mémoire d'écran). En fait, Philippe Kahn ne s'est pas contenté de faire un Pascal rapide, il a trouvé le moyen de réaliser un langage compilé presque aussi interactif qu'un interpréteur. Et cela grâce à une vitesse de compilation exceptionnelle, un positionnement du curseur dans le programme source sur l'origine des erreurs de compilation et, enfin grâce à l'accès à la plupart des fonctions avec une seule touche. Vous voulez compiler un programme : appuyez sur C ; vous voulez retourner à l'éditeur (qui ressemble à Wordstar ) : une pression sur E suffit ; vous voulez lancer un programme : pressez R, et si le programme n'est pas compilé, Turbo Pascal s'en charge ; vous appuyez sur une touche ne correspondant à aucune commande : un menu apparaît pour les expliciter. Autres perfectionnements, Turbo Pascal permet toutes les manipulations possibles sur la mémoire (octets, bits), l'accès direct, les accès aux ports, l'inclusion de codes machine dans les procédures, ainsi que la manipulation de chaînes de caractères dynamiques (comme en Basic). La version proposée pour Amstrad est la version 3.0 (la plus récente) fonctionnant sous CP/M 2.2. Elle est proposée pour CPC 464, 664 et 6128, et exige la présence d'un lecteur de disquette. La zone TPA n'étant, sur les deux premières machines, que de 39 Ko, la place disponible pour les programmes ne dépasse pas 8 Ko. C'est faible, surtout pour un langage verbeux comme l'est le Pascal. L'accès aux possibilités graphiques n'est pas possible sur la version que nous avons testée, mais un « pack » de procédures est prévu. Qui vivra, verra ! Turbo Pascal s'adresse aussi bien au débutant - la documentation est d'ailleurs très complète - qu'au programmeur expérimenté ou même au développeur, puisque le code machine généré peut être sauvegardé sous la forme de fichier COM, dont l'exécution ne nécessite pas la présence en mémoire de Turbo Pascal. THIERRY LÉVY-ABÉGNOLI , Microstrad n°2 , nov/dec 1985
|