Loading AI tools
ウィキペディアから
PL/I(ピーエルワン)は、汎用プログラミング言語の一つ。名前は英語の「programming language one」に由来する。
パラダイム | 構造化・命令型 |
---|---|
登場時期 | 1964年 |
開発者 | IBM (Hursley) |
型付け | 強い静的型付け |
主な処理系 | コンパイラ |
方言 | PL/M, XPL, PL/P, PL/C, IBM PL/S, PL/AS, PL/X, PL/8, Early PL/I |
影響を受けた言語 | COBOL、FORTRAN、ALGOL |
影響を与えた言語 | SP/k, B, REXX, AS/400 Control Language |
プラットフォーム | z/OS, z/VM, z/VSE, AIX, Windows ほか |
ライセンス | プロプライエタリ(IPLA) |
ウェブサイト | IBM PL/I Compiler Family |
PL/Iは科学技術用、工業用、商業用などにデザインされた命令型プログラミング言語である。1964年に生まれ、教育機関、商用、工業で使用されてきた。
PL/Iの主要な用途はデータ処理で、再帰および構造化プログラミングに対応する。言語の構文は英語に似ており、検証や操作が可能な幅広い機能のセットを持ち、複合的なデータ型を記述することに適している。
提案当時は「NPL」[注釈 1]と呼ばれていた。初期には「PL/1」と表記していたが、その後「PL/I」が正式名称となった(I はローマ数字)。同時期の「DL/I」(ディー・エル・ワン、IBMの階層型データベース照会言語)と同じネーミングと考えられる。
を同時に持っている。
予約語が無いのも特徴。
1965年 IBMが完成させた
科学技術計算向けのFORTRAN、ビジネス処理向けのCOBOLと言われていた時代に、ALGOL並のアルゴリズム記述能力も加え、ひとつの言語であらゆるニーズを満たすために開発されたプログラミング言語。
言語仕様が複雑なため、大型計算機以外では余り使われなかったが、デジタルリサーチ社のゲイリー・キルドールが、インテルのi8080のために、サブセット版のPL/M[注釈 2]および、一部をPL/Mで記述し、オペレーティングシステムCP/Mを作った。また、CP/M上で動作するPL/I(PL/I-80)も作成している。
UNIX開発のきっかけとなったMultics(のちにMulticsは「成功しなかったプロジェクト」と見なされることとなる)は、PL/Iで書かれていた。Multicsの失敗はPL/Iが原因ではなかったものの、記述言語においても簡潔極まるC言語を生んだ事は皮肉である。これについてはエピソードも参照のこと。
2016年時点でも、メインフレームで稼働する銀行の勘定系システムの多くはCOBOLまたはPL/Iで記述されている[1]。
IBMのPL/Iコンパイラでは、メッセージIDが「IBM」で始まる。IBMが当時PL/Iに力を入れていたためと言われている。
BSDがネットワークサポートの一環としてカーネルにネットワークインタフェースの構造体を導入した際、これをstruct ifnet
と名付けた。その際、コメントとしてWould like to call this struct ``if'', but C isn't PL/1.(この構造体をstruct ``if''と呼びたいところだが、C言語はPL/1ではない。)が添えられた。[2]
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;
Seamless Wikipedia browsing. On steroids.
Every time you click a link to Wikipedia, Wiktionary or Wikiquote in your browser's search results, it will show the modern Wikiwand interface.
Wikiwand extension is a five stars, simple, with minimum permission required to keep your browsing private, safe and transparent.