PL/I:汎用プログラミング言語の功績と変遷

PL/I:汎用プログラミング言語の功績と変遷

ITの初心者

先生、「PL/I」って、どんなコンピューター言語のことですか?

ITアドバイザー

PL/Iはね、1960年代にIBMという会社が作ったプログラミング言語で、科学技術計算に強い「FORTRAN」と事務処理計算に強い「COBOL」という言語のいいとこ取りをして作られた言語なんだ。

ITの初心者

へえー、両方のいいとこ取りって、すごいですね!どんな時に使われていたんですか?

ITアドバイザー

主にIBMの作った大型コンピューター、メインフレームで使われていたんだ。でも、時代とともに新しい言語が出てきたこともあり、今は昔ほどは使われていないんだよ。

PL/Iとは。

「ピーエルワン」という言葉を説明します。これは、コンピューターのプログラムを作るための言葉の一つで、1960年代にIBMという会社が作りました。当時、計算に強かった「フォートラン」と事務処理に強かった「コボル」という二つの言葉がありましたが、この両方の良いところを取り入れて、より幅広く使えるようにしたのがこのピーエルワンです。主にIBMの作った大型コンピューターで使われていました。このピーエルワンという言葉は、「programming language/I」のそれぞれの単語の頭文字をとったものです。

PL/Iとは

PL/Iとは

– PL/Iとは1960年代、コンピュータの世界では用途に合わせて異なるプログラミング言語を使い分けるのが主流でした。例えば、科学技術計算にはFORTRAN、事務処理計算にはCOBOLといった具合です。しかし、複数の言語を使い分けることは、プログラマーの負担を増やし、開発効率を低下させる要因にもなっていました。そこでIBM社は、FORTRANとCOBOLの利点を統合し、両方の用途を1つの言語でカバーできる、より汎用性の高いプログラミング言語の開発に乗り出しました。こうして誕生したのがPL/Iです。「Programming Language One」、つまり「唯一のプログラミング言語」を目指して設計されたPL/Iは、当時としては画期的な存在でした。PL/Iは、FORTRANの持つ科学技術計算の処理能力と、COBOLの持つ事務処理計算の柔軟性を兼ね備えていました。さらに、当時としては先進的な機能を多く取り入れており、多くのプログラマーから期待を集めました。しかし、複雑な仕様や当時のコンピュータの性能不足などが原因で、PL/Iは広く普及するには至りませんでした。それでも、PL/Iは後のプログラミング言語に大きな影響を与え、その設計思想は現代のプログラミング言語にも受け継がれています。

言語 用途
FORTRAN 科学技術計算
COBOL 事務処理計算
PL/I 科学技術計算、事務処理計算 の統合

PL/Iの特徴

PL/Iの特徴

– PL/Iの特徴PL/Iは、1960年代に登場した当時としては非常に先進的なプログラミング言語でした。多くの画期的な機能を備えており、当時の他の言語と比較して、多様なプログラム開発を可能にする柔軟性を持っていました。まず、PL/Iは構造化プログラミングを可能にする機能を持っていました。これは、プログラムを「ブロック」と呼ばれる小さな単位に分割することで、プログラムの流れをより理解しやすく、保守しやすいものにするための手法です。PL/Iの登場以前は、プログラムは行番号順に実行されることが多く、複雑なプログラムを理解することは困難でした。しかし、PL/Iのブロック構造により、プログラムの構造を明確化することが可能となり、より品質の高いプログラムを開発することができるようになりました。また、PL/Iはデータ構造を柔軟に定義できる「構造体」という機能も備えていました。これは、従来の言語では難しかった、関連するデータをまとめて扱うことを可能にするものでした。例えば、顧客情報を扱う場合、顧客の名前、住所、電話番号などをまとめて一つの構造体として定義することで、データの管理が容易になり、プログラムの可読性も向上しました。さらに、PL/Iは例外処理機能文字列処理入出力機能なども充実していました。これらの機能により、PL/Iは事務処理から科学技術計算まで、幅広い分野のプログラム開発に利用することができるようになりました。このように、PL/Iは当時のプログラミング言語としては非常に先進的な機能を多く備えており、その後のプログラミング言語の発展にも大きな影響を与えました。

特徴 説明
構造化プログラミング プログラムを「ブロック」に分割することで、プログラムの流れを理解しやすくし、保守を容易にする。
構造体 関連するデータをまとめて扱う「構造体」により、データ管理を容易にし、プログラムの可読性を向上させる。
その他 例外処理、文字列処理、入出力機能など、多様な機能を搭載。
利点 事務処理から科学技術計算まで、幅広い分野での利用が可能。

IBMメインフレームでの活躍

IBMメインフレームでの活躍

IBMが開発した汎用コンピュータ、メインフレーム。その高い信頼性と処理能力から、金融機関や官公庁など、社会の重要なインフラを支えるシステムで多く採用されてきました。

PL/Iは、まさにそうしたメインフレーム上で広く利用されたプログラミング言語です。膨大な量のデータを効率的に処理する必要がある大規模システム開発において、PL/Iは主要な言語として活躍しました。

PL/Iの強みは、多様な処理に対応できる柔軟性と、当時の他の言語と比べて読み書きのしやすさでした。IBMは、PL/Iを用いた開発を促進するため、充実した開発環境や豊富な機能を持つライブラリを提供し、多くの開発者を支援しました。

こうしてPL/Iは、IBMメインフレームと共に、日本の経済成長や社会の発展を陰ながら支えるシステムの構築に大きく貢献したのです。

項目 説明
メインフレーム IBMが開発した汎用コンピュータ。高い信頼性と処理能力を持つ。金融機関や官公庁など、社会の重要なインフラを支えるシステムで多く採用。
PL/I メインフレーム上で広く利用されたプログラミング言語。大規模システム開発において主要な言語として活躍。
PL/Iの強み 多様な処理に対応できる柔軟性と、当時の他の言語と比べて読み書きがしやすい。
IBMの支援 PL/Iを用いた開発を促進するため、充実した開発環境や豊富な機能を持つライブラリを提供。
PL/Iの貢献 IBMメインフレームと共に、日本の経済成長や社会の発展を陰ながら支えるシステムの構築に大きく貢献。

他の言語の影響

他の言語の影響

– 他の言語への影響PL/Iは、その後広く普及するプログラミング言語の開発にも大きな影響を与えました。 C言語やPascalといった代表的な言語にも、PL/Iの特徴が色濃く反映されています。特に、PL/Iが提唱した「構造化プログラミング」は、後のプログラミング言語にとって革新的な考え方でした。これは、プログラムを「順次」「選択」「繰り返し」といった基本的な構造に分解することで、プログラムの可読性や保守性を向上させるという考え方です。従来の複雑なプログラム構造に比べて、理解しやすく修正しやすいコードを記述することが可能になりました。さらに、PL/Iは「データ抽象化」という概念も導入しました。これは、データとその処理をまとめて扱うことで、データの整合性を保ちながらプログラムの開発効率を高めるという考え方です。 この概念は、オブジェクト指向プログラミングなど、現代のプログラミング言語の基礎となっています。このように、PL/Iは単に多くの機能を備えた言語というだけでなく、その後のプログラミング言語の発展に大きな影響を与えた重要な言語と言えるでしょう。

PL/Iの特徴 説明 後続言語への影響
構造化プログラミング プログラムを「順次」「選択」「繰り返し」の構造に分解 – プログラムの可読性・保守性の向上
– C言語、Pascalなどに影響
データ抽象化 データとその処理をまとめて扱う – データの整合性確保
– 開発効率の向上
– オブジェクト指向プログラミングなどに影響

現代におけるPL/I

現代におけるPL/I

かつては、多くの企業の情報システムを支える主要なプログラミング言語として利用されていたPL/Iですが、今日では、JavaやPythonといった、より新しいプログラミング言語の登場により、その影は薄くなっています。かつて隆盛を誇ったPL/Iも、現在では、限られた分野で細々と利用されているというのが実情です。

しかし、過去の資産を活用するという観点から、現在もなお、一部のシステムではPL/Iが使い続けられています。これらのシステムは、長年の運用の中で、PL/Iで開発されたプログラムが複雑に絡み合っており、簡単に新しい言語に移行することが難しいという事情を抱えています。また、PL/Iは、業務処理に特化した言語として開発されたという歴史的背景から、現在もなお、金融機関や官公庁など、高い信頼性が求められるシステムで利用されています。

さらに、長年の経験を持つPL/I技術者の存在も無視できません。彼らは、PL/Iで開発されたシステムの保守運用に携わるだけでなく、その知識や経験を活かして、他のプログラミング言語での開発プロジェクトにも貢献しています。このように、PL/Iは、過去の遺産を現代に繋ぐという重要な役割を担っています。

PL/Iの現状 理由
JavaやPython等の新しい言語の登場により影が薄い
限られた分野で利用
過去の資産を活用するため使い続けられているシステムもある – 長年の運用でプログラムが複雑化
– 新しい言語への移行が困難
金融機関や官公庁で利用 – 業務処理に特化した言語
– 高い信頼性が求められるため
PL/I技術者が経験を活かして活躍 – システムの保守運用
– 他のプログラミング言語での開発プロジェクトへの貢献