PL/I 汎用プログラミング言語の祖

ITを学びたい
先生、「PL/I」って、何ですか?

IT専門家
PL/Iは、1960年代にIBMという会社が作ったコンピューターのプログラムを作るための言葉の一つだよ。当時、科学技術計算に強い「FORTRAN」と事務処理計算に強い「COBOL」という言語があったんだけど、PL/Iは両方のいいところを取り入れて作られたんだ。

ITを学びたい
両方のいいところを取り入れるって、どういうことですか?

IT専門家
つまり、科学技術計算にも事務処理計算にも使える、より幅広い用途で使えるように設計されたということだよ。主にIBMの大型コンピューターで使われていたんだ。
PL/Iとは。
『ピーエルワン』という情報処理の言葉について説明します。これは、1960年代にアイビーエムという会社が作った、コンピューターへの命令を書くための言葉の一つです。科学技術の計算に強いフォートランと、事務処理の計算に強いコボル、それぞれの良いところを取り入れて、色々な用途に使えるように作られました。主にアイビーエムの大型コンピューターで使われていました。このピーエルワンという言葉は、『プログラミングランゲージ ワン』の頭文字から来ています。
誕生の背景

1960年代、計算機の世界は目覚ましい発展を遂げていました。しかし、計算機に指示を出すための言葉、つまりプログラム言語に関しては、まだ夜明け前のような状況でした。当時、広く使われていた計算機の言葉の一つに、科学技術計算に特化したフォートランがありました。また、事務処理計算を得意とするコボルも存在していました。フォートランは数式を扱うのが得意でしたが、事務処理には不向きでした。逆にコボルは事務処理には優れていましたが、複雑な数式を扱うことはできませんでした。例えるなら、フォートランは優れた理系の学者、コボルは優秀な事務員のようなもので、それぞれ得意分野が異なっていました。
そこで、計算機の大手企業であるアイ・ビー・エム社は、これらの言語の利点を一つにまとめ、どんな仕事にも使える万能なプログラム言語の開発に乗り出しました。これがピーエルワン誕生のきっかけです。まるで理系の学者と優秀な事務員の能力を併せ持つ、万能な人材を育成するような計画でした。異なる分野の計算機の指示を一つの言葉で記述できるという画期的な考え方は、当時の技術者たちの大きな関心を集めました。色々な種類の計算機の言葉を覚える必要がなくなり、一つの言葉で様々な指示が出せるようになることは、当時の技術者にとって夢のような話でした。
ピーエルワンは、計算機の世界に大きな変革をもたらす可能性を秘めていました。あらゆる計算を一つの言語で処理できるようになれば、計算機はさらに多くの分野で活用できるようになり、社会全体に大きな影響を与えることが期待されました。まさに、計算機の歴史における新たな一歩を踏み出すための、重要な一歩でした。
| 言語 | 得意分野 | 不得意分野 |
|---|---|---|
| フォートラン | 科学技術計算、数式処理 | 事務処理 |
| コボル | 事務処理計算 | 複雑な数式処理 |
| PL/1 | 科学技術計算、事務処理計算(万能型を目指した) | – |
設計思想

計算機のプログラムを作るための言葉の一つとして「ピーエルワン」というものがあります。この言葉は、様々な計算の仕事に使えるように作られました。例えば、科学や技術で使う難しい計算や、会社で使う事務の計算など、色々な計算をこれ一つでできるようにと考えられたのです。さらに、計算機そのものを動かすためのプログラムを作るのにも使えるように設計されました。
このような色々なことができるようにと考えられたため、この言葉はとても複雑でたくさんの規則を持つようになりました。まるで、たくさんの道具が詰まった大きな道具箱のようなものです。計算を得意とする「フォートラン」という別の言葉の計算機能や、事務処理に強い「コボル」という別の言葉が持つデータの整理機能も取り入れられました。さらに、計算中に何か問題が起きた時にうまく対処するための機能や、複数の仕事を同時に行うための機能なども追加されました。
これらの機能のおかげで「ピーエルワン」はとても強力で、色々な使い方ができる言葉になりました。しかし、同時に学ぶのが難しくもなりました。まるで、たくさんの機能を持つ機械を覚えるのが大変なように、この言葉も使いこなすには多くの時間と努力が必要でした。複雑な規則は、この言葉を計算機が理解できるように翻訳する「翻訳機(コンパイラ)」を作るのも難しくしました。当時の計算機はそれほど高性能ではなかったため、「ピーエルワン」の持つ力を十分に発揮させることが難しいこともありました。まるで、高性能な車を動かすのに必要なだけの燃料がなかったようなものです。そのため、「ピーエルワン」は素晴らしい可能性を秘めた言葉でしたが、その能力を最大限に活かすには、当時の技術では限界があったと言えるでしょう。
| 言語名 | 特徴 | 利点 | 欠点 |
|---|---|---|---|
| PL/1 | 科学技術計算、事務計算、システムプログラミングなど多様な用途向けに設計。Fortranの計算機能、COBOLのデータ整理機能、エラー処理機能、マルチタスク機能など多数の機能を持つ。 | 強力で多様な使い方が可能。 | 複雑で学習が難しい。コンパイラの作成も困難。当時の計算機の性能では能力を十分に発揮できなかった。 |
主な用途

プログラミング言語「ピーエルワン」の主な活躍の場は、アイビーエム社の大型計算機でした。この計算機は、企業や研究機関などで広く使われていました。ピーエルワンは、様々な用途に対応できる汎用性の高さが特徴で、多くの分野で役立ちました。
科学技術計算では、複雑な数式を処理するのに力を発揮しました。例えば、宇宙開発や気象予測などの高度な計算に利用されました。また、事務処理計算にも使われ、給与計算や在庫管理などの日常業務を効率化しました。
さらに、ピーエルワンはシステムの基礎となるプログラムを作るのにも使われました。これは「システムプログラミング」と呼ばれ、計算機を動かすための指示を出す重要な役割を担います。加えて、情報を整理して蓄積し、必要な時に取り出せるようにする仕組みを作るのにも利用されました。
特に注目すべきは、アイビーエム社の計算機の制御プログラムの一部がピーエルワンで作られていたことです。この制御プログラムは「オーエス・サンロクゼロ」と呼ばれ、計算機全体を管理する重要な役割を担っていました。ピーエルワンがこのような重要なプログラムに使われたことは、その信頼性と処理能力の高さを裏付けるものと言えるでしょう。
しかし、大型計算機以外の分野では、ピーエルワンはあまり普及しませんでした。他の種類の計算機では、別のプログラミング言語が主流になっていたためです。
| 分野 | 用途 | 詳細 |
|---|---|---|
| 科学技術計算 | 複雑な数式処理 | 宇宙開発、気象予測など |
| (他、多くの高度な計算に利用) | ||
| 事務処理計算 | 日常業務の効率化 | 給与計算、在庫管理など |
| (他、多くの事務処理に利用) | ||
| システムプログラミング | システムの基礎となるプログラム作成 | 計算機を動かすための指示 |
| 情報管理 | 情報の整理、蓄積、検索 | データベースのような仕組み |
| OS開発 | 計算機の制御プログラム | IBM OS/360の一部 |
長所と短所

多目的言語としての「ピーエルワン」には、良い点と悪い点の両方があります。まず、この言語は非常に幅広い用途に対応できることが挙げられます。計算処理から、情報をまとめて整理したり、画面に文字や図形を描いたりといった様々な種類のプログラムを作ることができます。これは、この言語がたくさんの機能を持っているためです。まるで、たくさんの道具が入った大きな工具箱のようです。また、プログラムを分かりやすく書くための仕組みも備わっています。これは「構造化プログラミング」と呼ばれるもので、プログラムを整理された状態に保つことで、他の人や後から自分で見ても理解しやすいプログラムを作ることができます。
しかし、良い点の裏返しとして、言語の仕様が複雑になってしまいました。覚えることが多く、使いこなせるようになるまでには多くの時間と努力が必要です。まるで、たくさんのボタンや機能が付いた複雑な機械を扱うようなものです。そのため、この言語を学ぶことや、使いこなせる人が少なく、広く使われるには至りませんでした。さらに、この言語を動かすための「翻訳機」(コンパイラ)を作ることも難しかったことも、普及の妨げとなりました。翻訳機の開発には高度な技術と多くの費用が必要で、これがこの言語の普及を遅らせた一因となりました。また、プログラムの処理速度が遅いという問題点も指摘されていました。特に、処理速度が重要となる場面では、他の言語に比べて不利になることもありました。これは、この言語が多くの機能を備えていることによる弊害でもありました。
| 項目 | 内容 |
|---|---|
| 良い点 | – 幅広い用途に対応可能 – プログラムを分かりやすく書ける(構造化プログラミング) |
| 悪い点 | – 言語仕様が複雑で習得が困難 – コンパイラの開発が難しい – プログラムの処理速度が遅い |
後への影響

ピーエルワンは、広く使われるには至りませんでしたが、その後の様々なプログラム言語に大きな影響を及ぼしました。数多くの言語がピーエルワンの機能や書き方を参考に開発されました。例えば、エイダやシー言語などは、ピーエルワンの影響を強く受けています。特に、プログラムの実行中に想定外の事象が発生した場合の対処方法である例外処理や、プログラムを整理して分かりやすくするための構造化プログラミングといった概念は、ピーエルワンが先駆けて導入し、現代のプログラム言語においても重要な要素となっています。
ピーエルワンは、当時としては非常に先進的な様々な機能を備えた言語でした。構造体やポインターといったデータ構造、ブロック構造、そして様々な種類のデータ型など、現代のプログラム言語では当たり前となっている機能の多くが、既にピーエルワンに含まれていました。これらの機能は、後のプログラム言語に大きな影響を与え、現在のプログラム言語が持つ豊かな表現力や柔軟性の礎を築きました。ピーエルワン自体はビジネス用途での利用を想定して設計されましたが、その後の科学技術計算やシステムプログラミングなど、様々な分野で使われるプログラム言語にも影響を与えました。
ピーエルワンは、普及という点では成功したとは言えませんでしたが、その革新的な設計思想は、プログラム言語の歴史に大きな足跡を残しました。現代のプログラム言語が持つ多くの機能の源流を辿っていくと、ピーエルワンに行き着くことが少なくありません。プログラム言語の歴史を語る上で、ピーエルワンは欠かすことのできない重要な言語と言えるでしょう。
| PL/Iの影響 | 具体的な例 | PL/Iの特徴 |
|---|---|---|
| 後続の言語への影響 | Ada、C言語など | 例外処理、構造化プログラミング |
| 現代の言語機能の源流 | 構造体、ポインター、ブロック構造、多様なデータ型 | 先進的な機能 |
| 幅広い分野への影響 | 科学技術計算、システムプログラミング | ビジネス用途以外にも影響 |
名前の由来

「ピーエルワン」と呼ばれるこの言葉は、実は「計画言語一番」を縮めたものです。一番最初の、どんな仕事にも使える計画言語を作りたい!という開発者たちの強い思いから生まれた名前です。
始まりは「新しい計画言語」と呼ばれていましたが、後に「ピーエルワン」に変わりました。この名前には、開発者たちの未来を切り開く新しい計画言語を作りたいという熱い気持ちと、高い目標が込められています。
「ピーエルワン」は、科学技術計算から事務処理、文字の処理まで、様々な仕事に使えるように作られました。それまでの計画言語は、特定の仕事に特化したものばかりでしたが、「ピーエルワン」はどんな仕事にも対応できる画期的な存在でした。まるで万能ナイフのように、様々な用途に使える柔軟性を備えていたのです。
「ピーエルワン」は、たくさんの新しい仕組みを取り入れました。例えば、複数の仕事を同時に行う仕組みや、エラーが起きても止まらずに動き続ける仕組みなど、当時としては非常に先進的な技術でした。これらの革新的な機能は、後の計画言語にも大きな影響を与え、現代の計画言語開発にも受け継がれています。
「ピーエルワン」は、その名前に込められた開発者たちの高い志と、革新的な技術によって、計画言語の世界に大きな足跡を残しました。現代の計画言語は「ピーエルワン」の多機能性や堅牢性を超える方向に進化を続けていますが、「ピーエルワン」の開発で培われた技術や考え方は、今でも様々な場面で活かされています。
| 項目 | 説明 |
|---|---|
| 名称 | ピーエルワン(計画言語一番) |
| 由来 | どんな仕事にも使える計画言語を開発したいという思い |
| 目的 | 科学技術計算、事務処理、文字処理など、様々な仕事に使える万能な計画言語 |
| 特徴 | 多機能性、堅牢性(エラー発生時にも動作継続)、複数の仕事を同時に行う仕組み |
| 影響 | 後続の計画言語開発に大きな影響を与え、現代の開発にも受け継がれている。 |
