電文(Message)とタスク(Task)

IT系の非常に古い用語として未だに残っている。
本来は、OSの分も含めても、たった数Kバイトのメモリしか実装されていなかった初期の古いコンピュータのための用語である。
主にCOBOLという言語のためにあった用語だったと思う。
ストレージといえるものは128KB~1MBのフロッピー・ディスクが2つ付いているぐらいでしかなかった。
※数MBのハード・ディスク+128KBのフロッピー・ディスクな構成のものもあった。
このため、今となっては一小節(あるいは五・七・五または5W1H)とでも云うべきの極短い単位でしか処理(タスク≒Task)が書けなかったのだ。
そのため、何かの目的を達成するには、次々と小さいタスクを呼び出していくしかなかった。これをバッチと云う。
またBASICで云うところのGOSUB(サブルーチン呼び出し)が実装されていなかった(※呼び出し側のタスクを保持するメモリの余裕が無かった)ため、タスク間を跨る大きなループは危なっかしいIF文とGOTO文でしか表現できなかったことである。
またコンピュータに内蔵するメモリ1バイトは血の一滴というくらい高価でその容量は貧相であったため、今の様に沢山のパラメータを付けてタスクを呼び出すこことも叶わず、実装上は内部ストレージ(メモリではなく、先の1MBのxxxxの1つ目です。)をグローバルな共有領域として扱い、ここを遣り繰りすることになるので、そのデータの取り決めは非常に重要で、電文(≒Message)と呼ばれていた。
後に16KBぐらいまでメモリが増えてくると、GOSUBやMERGE(プログラムの一部を差し替える宣言)が使えるコンピュータも出てくるのだが、設計の方法や仕事の発注の仕方が変わる訳では無いし、まだまだコンピュータ自体が高価だったので、相変わらず少ないメモリしかない古いコンピュータも平然と使われており、プログラムの流用(もとい上位下位互換性)を考慮し、事実上の使用禁止。それは20世紀の終りにCOBOLからVISUAL-BASICやJavaに切り替わるまで続くのでした。
COBOL系って非常に少ないメモリ容量だったのだなぁ~と思えるだろう。
しかし、当時(20世紀後半)のMacintosh Plusのハードディスクでさえ10MBしかなかったことを考えると、
Windows 3.x(16ビットなノン・プリエンプティブ・マルチタスクなWindows)はスタックの初期設定が8KBしかなかったりで、C++でソースを書いても、インスタンス変数が多いクラスのオブジェクトは外部変数にしか配置できなかった。
スマホでもメモリ云GBが当たり前の現在から見ると、
当時はどこも結構悲惨な状況で、
特にCOBOL系のコンピュータだけが極端にメモリが少なかった訳では無いのだ。
今では電文もタスクも巨大なものを作成することができるし、メモリの余裕から、タスクにその巨大な電文を渡したり、巨大な電文を貰ったりもできる場合もあるが、物量的な面を除けば、電文やタスクの基本的な性質は何も変わっていない。
今でも、設計書に電文やタスクの文言が掲載されていることもあるが、それは電文やタスクが単純な基本的な性質しか持たないと云う特性を生かして、要点を簡潔にまとめて設計書に書けてしまうという利点があるからだ。
ところが、メモリの余裕から、世の中はコンピュータに色々と面倒なことをさせたがっている。
でも、
電文やタスクの文言で、要点を簡潔にまとめて書かれたものは、どんなに素晴らしい出来でも・・・
基本設計書の域を出ないのである。
※あくまでも、これは個人の感想です。
 
 
 
 
 
 




コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

CAPTCHA