PL1

PL1

PL/I

Le PL/I ou PL/1 (Programming Language number 1) est un langage de programmation développé par IBM dans les années 1960. Son objectif était d'être universel et de pouvoir remplacer indifféremment les langages à destination scientifique, tels que FORTRAN et ALGOL, et le langage COBOL, plus adapté aux problèmes de comptabilité et de gestion. Il permettait même l'accès à des fonctions autrefois réservées à la programmation système, comme la gestion de zones dynamiques de mémoire allouées à la demande (et non simplement à l'entrée dans un bloc) et de pointeurs.

Son objectif était de devenir le langage privilégié de programmation des ordinateurs universels IBM 360 et 370.

Sa syntaxe reprenait des idées de COBOL (structures, calcul en mode décimal), et d'ALGOL (structure de blocs imbriqués). Toutefois, les programmeurs de ces deux langages ne communiquaient guère entre eux à l'époque, et chacun jugeait inutile et encombrant ce qui avait été inclus pour l'autre - et vice versa. Son compilateur nécessitait également des machines importantes, et ne comportait au départ ni optimiseur, ni compilateur incrémental (le PL/I Optimizing compiler et le PL/I Checkout compiler ne viendront que plus tard).

Ce langage avait beaucoup des caractéristiques de ce qui sera plus tard le C, et même déjà certaines du C++. Malheureusement, IBM déposa les noms PL/1 à PL/100 pour éviter de perdre le contrôle des spécifications du langage. Un effet non prévu de cette décision fut de dissuader la concurrence de nommer « PL/I » ses propres implémentations, qui prirent des noms voisins : « SL/1 », « CPL/1 », « PL/M », « PL/C »... Devant la multitude de ces appellations, la crainte d'une balkanisation du langage (et des frais de migration associés en cas de changement de constructeur) dissuada les équipes informatiques d'y migrer. Le lancement du langage, malgré ses qualités (gestion simple du multitasking, récursivité, structures de blocs, facilités de debugging et de profilage, allocation dynamique dans des pools de mémoire eux-mêmes dynamiques (AREA), procédures génériques analogues aux templates de C++) ne rencontra donc pas le vif succès attendu.

Sommaire

Caractéristiques

  • Un objectif du langage était que chacun puisse l'utiliser sans avoir à en connaître la totalité. Il n'y a en conséquence pas de mots réservés dans PL/I.
  • Un programmeur devait pouvoir utiliser un nom défini de façon externe - par exemple TIME - sans avoir à se demander si c'était une variable ou une fonction sans argument.
  • Les instructions d’entrée sortie font partie du langage et ne sont pas des fonctions de bibliothèques externes.

Défauts

Donc des qualités, mais aussi des défauts qui expliquent la quasi-disparition de ce langage de nos jours. Son principal défaut était d’avoir voulu être un couteau suisse à 24 lames. Le langage aurait beaucoup gagné à ne pas être cette fusion intégrale du Fortran et du Cobol. Les bizarreries du Fortran avec ses instructions FORMAT et ses GOTO calculés combinées aux curiosités du Cobol avec ses PICTURE et son tri de fichier intégré ont fait du PL/I un langage certes complet mais un peu lourd.

Héritier

Il existe un héritier du PL/I, tout du moins un héritier de la syntaxe claire du PL/I, c’est le langage procédural REXX.

Conclusion

PL/I permettait de produire du code bien plus robuste que celui du langage C, ceci dû principalement à la faible nécessité de gérer des pointeurs ou des adresses, ce qui est une source importante de bugs de programmation.

Références

Liens externes

  • Portail de la programmation informatique Portail de la programmation informatique
Ce document provient de « PL/I ».

Wikimedia Foundation. 2010.

Contenu soumis à la licence CC-BY-SA. Source : Article PL1 de Wikipédia en français (auteurs)

Игры ⚽ Нужна курсовая?

Regardez d'autres dictionnaires:

  • PL1 — Programming Language One, oft als PL/I (auch PL/1, PL1 oder PLI) abgekürzt ist eine Programmiersprache, die in den 1960er Jahren von IBM entwickelt wurde. Die Bezeichnung PL/1 ist vor allem in Deutschland gebräuchlich. Ursprünglich wurde PL/I… …   Deutsch Wikipedia

  • PL1 — Programming Language 1 (Computing » General) ** Room plan (3D Home Architect) (Computing » File Extensions) …   Abbreviations dictionary

  • PL1 — (andere Schreibweise für) PL/1 …   Acronyms

  • PL1 — (andere Schreibweise für) PL/1 …   Acronyms von A bis Z

  • Olympus PEN E-PL1 — Type Micro Four Thirds, interchangeable lens camera Sensor Four Thirds System 18.00 × 13.50 mm Live MOS Maximum resolu …   Wikipedia

  • Olympus PEN E-PL1 — Тип Беззеркальный цифровой фотоаппарат со сменными объективами. Матрица ПЗС Live MOS стандарта 4:3, 17,3x13,0 мм (K …   Википедия

  • ОРТОГОНАЛЬНЫЙ ПРОЕКТОР — ортопроектор, отображение PL гильбертова пространства H на его подпространство Lтакое, что ортогонально . О. п. есть ограниченный самосопряженный оператор, действующий в гильбертовом пространстве H, и такой, что и Обратно, если дан ограниченный… …   Математическая энциклопедия

  • New South Wales 48 class locomotive — New South Wales 48 class GrainCorp s 48203 at the Junee Roundhouse Power type Diesel electric Builder A. E. Goodwin under licence from American Locomotive Company …   Wikipedia

  • Gödel'scher Unvollständigkeitssatz — Der gödelsche Unvollständigkeitssatz ist einer der wichtigsten Sätze der modernen Logik. Er beschäftigt sich mit der Ableitbarkeit von Aussagen in formalen Theorien. Der Satz zeigt die Grenzen der formalen Systeme ab einer bestimmten Mächtigkeit… …   Deutsch Wikipedia

  • Gödels Satz — Der gödelsche Unvollständigkeitssatz ist einer der wichtigsten Sätze der modernen Logik. Er beschäftigt sich mit der Ableitbarkeit von Aussagen in formalen Theorien. Der Satz zeigt die Grenzen der formalen Systeme ab einer bestimmten Mächtigkeit… …   Deutsch Wikipedia

Share the article and excerpts

Direct link
Do a right-click on the link above
and select “Copy Link”