Object Pascal History/fr

From Free Pascal wiki

Deutsch (de) English (en) español (es) français (fr) italiano (it) 日本語 (ja) 한국어 (ko) русский (ru) 中文(中国大陆)‎ (zh_CN)

Tutoriel de Pascal Objet : Histoire du Pascal

Origines

Pascal est dérivé d'ALGOL, un langage de programmation prévu pour le calcul scientifique. Réunis à Zurich, un comité international conçut ALGOL comme langage indépendant de la plate-forme. Cela leur a donné une relative carte blanche dans les fonctions qu'ils pourraient concevoir en ALGOL, mais aussi rendu plus difficile d'écrire des compilateurs pour lui. C'étaient ces jours où manquaient des caractéristiques matérielles que nous prenons maintenant pour acquises. L'absence de compilateurs sur plusieurs plates-formes, combiné avec le manque de pointeurs et de types de données basiques tels que les caractères, ont fait qu'ALGOL n'a pas été largement accepté. Les scientifiques et les ingénieurs ont afflué vers FORTRAN, un langage de programmation qui était disponible sur de nombreuses plateformes. ALGOL a périclité sauf comme langage de description d'algorithme.

Wirth invente le Pascal

Dans les années 60, plusieurs informaticiens travaillent à étendre ALGOL. L'un d'entre eux est Niklaus Wirth de l'Institut Fédéral de Technologie Suisse (ETH-Zurich), un membre du groupe à l'origine d'ALGOL. En 1971, il publia sa spécification d'un langage hautement structuré de qui ressemblait à ALGOL de plusieurs façons. Il nomma le langage Pascal d'après le philosophe et mathématicien Français du XVIIe siècle qui construisit la première machine à calculer.

Pascal est très orienté donnée, donnant au programmeur la possibilité de définir des type des données personnalisés. Avec cette liberté vient aussi le contrôle le strict contrôle de type, qui évite de mélanger les types de données. Pascal fut prévu pour comme langage d'apprentissage et a été largement adopté comme tel. Il se lit facilement comme un langage naturel, rendant donc le code écrit avec facile à comprendre .

UCSD Pascal

La difficulté de créer un compilateur pour ALGOL a été l'une des choses qui l'a tué. Le Dr Wirth a évité cela en faisant que son compilateur Pascal compile le code objet intermédiaire, indépendant de la plateforme dans une première étape. Un autre programme transformait le code intermédiaire en code exécutable.

Pr. Ken Bowles de l'Université de Californie de San Diego (UCSD) saisit l'opportunité ainsi offerte pour adapter le compilateur sur Apple II, le micro-ordinateur le plus populaire du moment. UCSD P-System devint un standard et fut largement utilisé dans les universités, aidé en cela par le faible prix de l'Apple II comparé à celui d'un mainframe qui était nécessaire en ce temps pour faire tourner des langages comme FORTRAN. Son impact sur ​​l'informatique peut être vu dans les annonces d'IBM pour son révolutionnaire ordinateur personnel, qui vantait que le PC prenait en charge trois systèmes d'exploitation : le CP/M-86 de Digital Research, le UCSD P-system de Softech et le PC-DOS de MicroSoft.

Pascal devient standard

Au début des années 80, Pascal est déjà devenu très largement accepté dans les universités. Deux événements ont contribué à le rendre encore plus populaire.

En premier, l'Educational Testing Service, l'organisation qui écrit et administre le principal examen d'entrée aux États-Unis, a décidé d'ajouter un examen d'informatique à ses examen (non traduit) « Advanced Placement » pour les élèves du secondaire. Pour cet examen, il a choisi le langage Pascal. Grâce à cela, les élèves du secondaire aussi bien que ceux du collège commencèrent à apprendre Pascal. Pascal resta le langage officiel de l'examen AP jusqu'en 1999, quand il a été remplacé par C++ qui a été rapidement remplacé par Java.

En second, une petite société nommée Borland International a délivré le compilateur Turbo Pascal pour les ordinateurs personnels d'IBM. Le compilateur a été conçu par Anders Hejlsberg, qui sera plus tard chez Microsoft à la tête du groupe qui développa C# et (ré)introduisit le code managé à nouveau dans le monde de la programmation. Turbo Pascal était authentiquement révolutionnaire. Il prit quelques raccourcis et fit quelques modifications au Pascal standard, mais elles étaient mineures et aidèrent à gagner un grand avantage : la vitesse. Turbo Pascal compilait à un rythme vertigineux : plusieurs milliers de lignes à la minute. À ce moment, les compilateurs disponibles pour la plateforme PC étaient lents et bouffis. Quand Turbo Pascal arriva, ce fut un souffle d'air frais. Rapidement, le Turbo Pascal devint le standard de facto pour la programmation sur PC. Quand les magazines de PC publiaient du code source pour des utilitaires, c'était souvent en assembleur ou en Turbo Pascal.

En même temps, Apple lança sa première série de Macintosh. Comme Pascal était le langage prééminent de programmation structurée du jour, Appel choisit Pascal comme langage de programmation standard pour la Mac. Quand les programmeurs ont reçu l'API et les exemples de code pour la programmation du Mac, tout était en Pascal.

Extensions

Des versions 1.0 à 7.0 de Turbo Pascal, Borland continua d'étendre la langage. Une des critiques sur le Pascal originel était son absence de compilation séparée des modules. Dr Wirth a même créé un nouveau langage, Modula-2, à l'attention de ce problème. Borland ajouta les modules dans Pascal avec la fonctionnalité des unités.

En version 7.0, de nombreuses fonctionnalités avancées ont été ajoutées. L'une d'entre elles était DPMI (Protected Mode Interface), une façon de faire tourner les programmes DOS en mode protégé, en gagnant de la vitesse supplémentaire et en dépassant la barrière des 640 Ko pour l'accès mémoire sous DOS. Turbo Vision, une système de gestion de fenêtre en mode texte, a permis aux développeurs de créer de belles interfaces en pratiquement pas de temps. Pascal devint même orienté objet, comme la version 5.5 qui adopta les extensions du Pascal Objet d'Apple. Quand Windows 3.0 sortit, Borland a créé Turbo Pascal pour Windows, apportant la vitesse et facilité de Pascal aux interface utilisateur graphique. Il semblait alors que l'avenir de Pascal était assuré.

Le monde change

Cependant, ce ne fut pas le cas. Dans les années 70, Dennis Ritchie et Brian Kernighan des laboratoires AT&T Bell ont créé le langage C. Ritchie collaborait alors avec Ken Thompson afin de concevoir le système d'exploitation Unix. À l'époque, AT&T avait un monopole sur le service téléphonique aux États-Unis, sanctionné par le gouvernement. En contrepartie de ce monopole, l'entreprise de téléphone a été régulée et il lui a été interdit d'entrer dans le domaine de l'informatique. AT&T, ne voyant plus de marché pour un système d'exploitation de recherche, céda Unix aux universités gratuitement, complètement avec le code source. Ainsi, une génération entière d'étudiants informaticiens ont appris le langage C dans leurs cours universitaires de langages et de systèmes d'exploitation. Lentement mais sûrement, C commença à filtrer dans le monde de la programmation.

Pascal a pris un mauvais coup dans les années 90, quand plusieurs grandes sociétés se concentrèrent sur d'autres langages de programmation. Par exemple, Microsoft se concentra sur Visual Basic et C, Apple migra ses APIs de Pascal vers C, puis vers Objective C. Malgré l'absence de soutien des éditeurs de systèmes d'exploitation, Pascal conservait encore de nombreux adeptes grâce à Delphi et Free Pascal.

Pascal a été finalement tué par l'orientation objet et le mouvement de la plateforme de PC standard de l'industrie vers Windows. Dans les années 80, Bjarne Soustrup, aussi des laboratoires Bell, popularisa l'orienté objet en développant C++, qui conserva une syntaxe familière de C en l'étendant pour la programmation objet. C++ en est venu à définir l'orientation de l'objet pour une génération de programmeurs, et reste une force puissante, même aujourd'hui.

Aussi dans les années 80, Microsoft Windows adopta C comme langage de programmation standard. Au contraire de Mac OS et de Pascal, les échantillons de l'API Windows étaient tous en C K&R (pré-ANSI), avec des listes de variables après le prototype de fonction. Comme l'orientation objet et Windows ont pris le dessus, le langage naturel pour la migration des applications vers Windows fut C++.

De nombreux collèges et universités ont abandonné Pascal, choisissant C++ ou des langages plus récents pour leurs cours de programmation. Au final, l'examen AP alla à C++, mettant fin à la dominance de Pascal dans les lycées américains.

Alors, quels sont les avantages à apprendre Pascal ?

Malgré la perte de sa domination, Pascal est encore assez utile, un de ses avantages étant qu'il a une syntaxe très claire qui utilise des noms communs anglais, tels que begin/end (début/fin), pour exprimer les concepts, ce qui rend son code facile à lire et à maintenir.

Autre raison : vitesse et taille. Les compilateurs Pascal sont rapides comme l'éclair, Delphi et Free Pascal ne font pas exception. Alors que les programmeurs C doivent attendre des heures, les programmeurs Pascal attendent seulement 1 minute (et encore) pour un programme de taille similaire. Par ailleurs, les IDE Pascal sont toujours leaders en termes de productivité dans le monde à travers l'IDE Delphi et l'IDE Lazarus.

Aussi, Pascal reste le favori dans de nombreuses universités. En outre, Pascal est bien adapté à l'enseignement de la programmation, et le reste. Il y a moins de difficulté et moins de manière de mettre un programme en problème. Pour enseigner la simple programmation procédurale, Pascal reste un bon choix.

Pascal a plus accroché dans l'éducation en dehors des États-Unis, et reste un langage officiel des Olympiades Internationales d'Informatique. Une expérience basique en programmation est utile dans plusieurs métiers techniques et Pascal est plus facile à apprendre que C/C++.

Aujourd'hui, Pascal conserve une niche de marché à travers Delphi, Free Pascal et Lazarus. De nombreux petits gratuiciels, partagiciels et programmes open source ou commerciaux sont écrits en Pascal/Delphi. Alors profitez de l'apprentissage ! C'est une bonne introduction à la programmation des ordinateurs. Il n'est pas dangereux comme C, ni confus comme C++, ni encore lent comme Java.

Sommaire