PL/1 programming language

Clarity of code: Perhaps the most describing statement given to the language
was made by famous computer scientist E.Dijkstra: ?Using PL/I must be like flying
a ...

Part of the document


Oleg Merkulov CIS 26 Prof. Kopec PL/1 programming language History: PL/I is a third-generation (3GL) programming language developed in
the early 1960s as an alternative to assembler language (for low-level
computer processing functions), COBOL (for large-scale business
applications), FORTRAN and ALGOL 60 (for scientific and algorithmic
applications). PL/I stands for "Programming Language 1". PL/I is still in
use today on IBM mainframes MVS operating system.
Abstraction: In terms of data abstraction PL/I lacks the support of data
structures built-in to the language. However, due to extensive
functionality of arrays, structures, unions and pointers any abstract data
types could be implemented quickly and efficiently. Process abstraction can
be easily achieved by using both iterative and recursive procedures.
Binding: The language fully supports the concept of early and late binding
by using storage class attributes like AUTOMATIC, STATIC, and CONTROLLED.3)
Clarity of code: Perhaps the most describing statement given to the
language was made by famous computer scientist E.Dijkstra: "Using PL/I must
be like flying a plane with 7000 buttons, switches, and handles to
manipulate in the cockpit...And if I have to describe the influence PL/I
can have on its users, the closest metaphor that comes to my mind is that
of a drug."4) The number of different techniques used in PL/I to express
the language structures is truly confusing, especially considering the
ability to declare implicit variables, and to use keywords as the names of
variables.
Conditionals: PL/I supports a standard set of IF...ILSE structure,
SELECT...WHEN (same as switch statement in C) and conditional operators.
The whole set of comparison operators that can be used in compounded
conditional statements as (X