PL/1

lenguaje de programación

PL/1, acrónimo de Programming Language 1 (Lenguaje de Programación 1), fue propuesto por IBM hacia 1970 para responder simultáneamente a las necesidades de las aplicaciones científicas y comerciales, disponible en las novedosas plataformas de utilidad general IBM 360 y más adelante IBM 370.

PL/1
IBM
https://www.ibm.com/products/pli-compiler-zos
Información general
Apareció en1964
Diseñado porIBM
Influido porFortran

Este lenguaje tenía muchas de las características que más adelante adoptaría el lenguaje C y algunas de C++. Por desgracia, IBM registra el nombre del lenguaje como forma de mantener control sobre su desarrollo, lo que disuadió a otras empresas de dar ese nombre a sus implementaciones. No siendo posible encontrar un único lenguaje para diversas plataformas, los potenciales usuarios del lenguaje prefirieron no adoptarlo a pesar de sus múltiples innovaciones, que incluían multiprocesamiento, recursión, estructuras de control modernas, facilidades para la puesta a punto, asignación dinámica de espacio para estructuras de datos, procedimientos genéricos, etc.

Sin embargo, dentro de los usuarios de IBM, el lenguaje se utilizó con bastante intensidad, y el proyecto Multics utilizó PL/1 como lenguaje de desarrollo para su sistema de operación.

PL/1 fue probablemente el primer lenguaje comercial cuyo compilador estaba escrito en el lenguaje que compilaba.

Ejemplos de código

Hola Mundo.

 Test: procedure options(main);    declare My_String char(20) varying initialize('Hola, mundo!');       put skip list(My_String);    end Test;

Mostrar la posición de las líneas que coinciden con un patrón.

/* Lee una línea que contiene una cadena/* y luego imprime cada línea sucesiva que contiene dicha cadena. */find_strings: procedure options (main);   declare pattern character (100) varying;   declare line    character (100) varying;   declare (line_no, end_file) fixed binary;   end_file = 0;   on endfile (sysin) end_file = 1;   get edit (pattern) (L);   line_no = 1;   do while (end_file = 0);      get edit (line) (L);      if index(line, pattern) > 0 then         put skip list (line_no, line);      line_no = line_no + 1;   end;end find_strings;

Estándar

  • ANSI X3.74-1987 (R1998) Title: Information Systems - Programming Language - PL/I General-Purpose Subset

Véase también

Referencias