PL/I

PL/I（ピーエルワン）は、汎用プログラミング言語の一つ。名前は英語の「」に由来する。
PL/Iは科学技術用、工業用、商業用などにデザインされた命令型プログラミング言語である。1964年に生まれ、教育機関、商用、工業で使用されてきた。
PL/Iの主要な用途はデータ処理で、再帰および構造化プログラミングに対応する。言語の構文は英語に似ており、検証や操作が可能な幅広い機能のセットを持ち、複合的なデータ型を記述することに適している。
呼称.
提案当時は「NPL」と呼ばれていた。初期には「PL/1」と表記していたが、その後「PL/I」が正式名称となった（I はローマ数字）。同時期の「DL/I」（ディー・エル・ワン、IBMの階層型データベース照会言語）と同じネーミングと考えられる。
特徴.
言語としての特徴.
を同時に持っている。
予約語が無いのも特徴。
歴史.
1963年 IBMとそのユーザー団体(SHARE)が提案
1965年 IBMが完成させた
1979年 ISOで標準化
科学技術計算向けのFORTRAN、ビジネス処理向けのCOBOLと言われていた時代に、ALGOL並のアルゴリズム記述能力も加え、ひとつの言語であらゆるニーズを満たすために開発されたプログラミング言語。
言語仕様が複雑なため、大型計算機以外では余り使われなかったが、デジタルリサーチ社のゲイリー・キルドールが、インテルのi8080のために、サブセット版のPL/Mおよび、一部をPL/Mで記述し、オペレーティングシステムCP/Mを作った。また、CP/M上で動作するPL/I(PL/I-80)も作成している。
UNIX開発のきっかけとなったMultics（のちにMulticsは「成功しなかったプロジェクト」と見なされることとなる）は、PL/Iで書かれていた。Multicsの失敗はPL/Iが原因ではなかったものの、記述言語においても簡潔極まるC言語を生んだ事は皮肉である。
2016年時点でも、メインフレームで稼働する銀行の勘定系システムの多くはCOBOLまたはPL/Iで記述されている。
エピソード.
IBMのPL/Iコンパイラでは、メッセージIDが「IBM」で始まる。IBMが当時PL/Iに力を入れていたためと言われている。
コードの実例.
HELLO:PROC OPTIONS(MAIN);
 DCL HELLO1 CHAR(12) INIT('HELLO WORLD!');
 DCL 1 HELLO2,
 2 HELLO2_1 CHAR(12) INIT('HELLO WORLD!');
 DISPLAY('HELLO WORLD!');
 DISPLAY(HELLO1);
 DISPLAY(HELLO2);
END HELLO;