[go: up one dir, main page]

コンテンツにスキップ

PL/I

出典: フリー百科事典『ウィキペディア(Wikipedia)』

これはこのページの過去の版です。125.52.162.121 (会話) による 2008年8月25日 (月) 14:23個人設定で未設定ならUTC)時点の版であり、現在の版とは大きく異なる場合があります。

PL/I(ピーエルワン、Programming Language One)は、汎用プログラミング言語の一つ。IBMによって開発された。

呼称

提案当時は「NPL」(New Programming Language)と呼ばれていた。 初期の頃は「PL/1」と表記していたが、その後「PL/I」が正式な名称となった(I はローマ数字)。 「DL/1」(ディー・エル・ワン。同時代のIBMの階層型データベース照会言語)と同じネーミングと考えられる。

特徴

言語としての特徴

  • FORTRANの記述形式
  • COBOLのレコード構造や入出力機能
  • ALGOLのアルゴリズム記述能力

を同時に持っている。

予約語が無いのも特徴。

長所

  • 商用計算と科学技術計算を、1つの言語で記述できる
  • 最初から構造化されている
  • 積み木構造(初歩的機能から入門し、徐々に高度な機能を学習できる)
  • IBMメインフレーム(OS/390z/OSIMSCICSなど)で広く使われている

短所

  • 言語仕様が複雑で大規模なため、当時の小型機では性能的に厳しく、大型機以外に広まらなかった

歴史

1963年 IBMとそのユーザー団体(SHARE)が提案

1965年 IBMが完成させた

1979年 ISOで標準化

現状 2008年現在でも、IBMメインフレーム上の業務処理では広く使われているが、今後の新規の開発はJavaなどに移行していくと思われる。なお、国産メーカー系汎用機ではCOBOLが使われているケースが多い。

科学技術計算向けのFORTRAN、ビジネス処理向けのCOBOLと言われていた時代に、ALGOL並のアルゴリズム記述能力も加え、ひとつの言語であらゆるニーズを満たすために開発されたプログラミング言語。主としてIBMの大型機で利用された。

言語仕様が複雑なため、大型計算機以外では余り使われなかったが、デジタルリサーチ社のゲイリー・キルドールが、Iインテルのi8080のために、サブセット版のPL/M(Programming Language for Microcomputer)および、一部をPL/Mで記述し、オペレーティングシステムCP/Mを作った。また、CP/M上で動作するPL/I(PL/I-80)も作成している。

UNIX開発のきっかけとなったMulticsは、PL/Iで書かれていた。Multicsの失敗はPL/Iが原因ではなかったものの、記述言語においても簡潔極まるC言語を生んだ事は皮肉である。

エピソード

IBMのPL/Iコンパイラでは、メッセージIDが「IBM」で始まる。IBMが当時PL/Iに力を入れていたためと言われている。

コードの実例

HELLO:PROC OPTIONS(MAIN);
 DCL HELLO1        CHAR(12)  INIT('HELLO WORLD!');
 DCL 1 HELLO2,
      2 *                 CHAR(12)  INIT('HELLO WORLD!');
 DISPLAY('HELLO WORLD!');
 DISPLAY(HELLO1);
 DISPLAY(HELLO2);
END HELLO;

外部リンク