PL/1

De Wikipedia, la enciclopedia libre
Saltar a: navegación, búsqueda

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.

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[editar]

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 linea 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;

Véase también[editar]

Estándar[editar]

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