PL-1とは? わかりやすく解説

ピーエル‐ワン【PL/Ⅰ】

読み方:ぴーえるわん

programming language Ⅰ》コンピュータープログラミング言語の一。科学技術計算適すFORTRAN(フォートラン)と事務処理適すCOBOL(コボル)の両方長所取り入れて作られたもの。


PL/I

(PL-1 から転送)

出典: フリー百科事典『ウィキペディア(Wikipedia)』 (2024/08/20 17:42 UTC 版)

PL/I
パラダイム 構造化命令型
登場時期 1964年 (60年前) (1964)
開発者 IBM (Hursley)
型付け 強い静的型付け
主な処理系 コンパイラ
方言 PL/M, XPL, PL/P, PL/C, IBM PL/S, PL/AS, PL/X, PL/8, Early PL/I
影響を受けた言語 COBOLFORTRANALGOL
影響を与えた言語 SP/k, B, REXX, AS/400 Control Language
プラットフォーム z/OS, z/VM, z/VSE, AIX, Windows ほか
ライセンス プロプライエタリ(IPLA)
ウェブサイト IBM PL/I Compiler Family
テンプレートを表示

PL/I(ピーエルワン)は、汎用プログラミング言語の一つ。名前は英語の「programming language one」に由来する。

PL/Iは科学技術用、工業用、商業用などにデザインされた命令型プログラミング言語である。1964年に生まれ、教育機関、商用、工業で使用されてきた。

PL/Iの主要な用途はデータ処理で、再帰および構造化プログラミングに対応する。言語の構文は英語に似ており、検証や操作が可能な幅広い機能のセットを持ち、複合的なデータ型を記述することに適している。

呼称

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

特徴

言語としての特徴

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

を同時に持っている。

予約語が無いのも特徴。

長所

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

短所

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

歴史

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

1965年 IBMが完成させた

1979年 ISOで標準化

科学技術計算向けの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;

関連項目

脚注

注釈

  1. ^ 英語「new programming language」に由来する名前。
  2. ^ 英語「programming language for microcomputers」に由来する名前。

出典

  1. ^ FinTech時代の今、COBOLやPL/I、メインフレームが勘定系システムで必要な理由 - atmarkIT
  2. ^ Make struct ifnet readable and comprehensible again by grouping”. GitHub. FreeBSD (2013年11月1日). 2024年8月21日閲覧。 本文にある当該コメントが削除されたコミット。

外部リンク



英和和英テキスト翻訳>> Weblio翻訳
英語⇒日本語日本語⇒英語
  

辞書ショートカット

','','','','','','','','','','','','','','','','','',''];function getDictCodeItems(a){return dictCodeList[a]};

すべての辞書の索引

「PL-1」の関連用語


2
52% |||||









PL-1のお隣キーワード
検索ランキング
';function getSideRankTable(){return sideRankTable};

   

英語⇒日本語
日本語⇒英語
   



PL-1のページの著作権
Weblio 辞書 情報提供元は 参加元一覧 にて確認できます。

   
デジタル大辞泉デジタル大辞泉
(C)Shogakukan Inc.
株式会社 小学館
ウィキペディアウィキペディア
All text is available under the terms of the GNU Free Documentation License.
この記事は、ウィキペディアのPL/I (改訂履歴)の記事を複製、再配布したものにあたり、GNU Free Documentation Licenseというライセンスの下で提供されています。 Weblio辞書に掲載されているウィキペディアの記事も、全てGNU Free Documentation Licenseの元に提供されております。

©2025 GRAS Group, Inc.RSS