想い出日記「入出力部分の機種方言」
BASIC言語の殆どがマイクロソフト製になったときがあります。一見は互換性が高いように見えます。
しかし、現実は機種ごとに入力と出力は作られているので、その部分は非互換です。そして、ディスプレイ時代ではその部分が プログラムの比率が高いのです。
入力は比較的に類似していましたが、出力は機種によって大幅に異なりました。
そもそも出力機器が多くの種類があります。幾つかの方式に統一されて行きますが、それには多くの時間を必要としました。
ハードが違えばソフトも変わるという時代でした。
方言というからには、標準語もありそうです。一番普及している機種がそれに当たるのでしょう。ただ日本では、その機種が 次にウインドウズというOSが登場すると長く方言になるという運命でした。(2009/04/05)
想い出日記「初期のBASICコンパイラ」
BASICの欠点は、インタープリターだという信仰がありました。まだ、コンパイラの性能は生成するマシン語コード次第という 事が広く理解されていない時代でした。
ミニ記号言語のコンパイラは複数広まっており速さは実証済みでしたが、実数レベルの大型コンパイラには巡り合っていなかった からです。
そのうちに複数の、マイクロソフトBASICのコンパイラが登場しました。今思えば、とてもコンパイラのイメージはないです。
作業が面倒な割りには、速度は1桁ぐらいしか速くなりません。使用コード次第ですが、インタープリター内のコードを使用している とも言われていました。確認した訳ではありません。
インタープリターでデバッグして、コンパイラで変換して使用するのは便利ですが、機能が不足のイメージでした。
BASICの欠点は非構造化にあり、効率の良いコンパイラ作製にないと当時は思い込んでいました。事実ではありますが、単純では なかったです。(2009/04/12)
想い出日記「構造化言語ブーム」
初期の普及期に、構造化言語のブームが起きた時があります。現在でもその信者は多くいますし、教育面からは適しているとも いわれます。
モジュール化とそのダイナミックリンクは、その後のパソコンのコンパイラの主力です。それは必ずしも構造化言語が必然では ありません。ただし、コンパイラとリンカーが製作しやすい事は確かです。
それ故に、BASICもコンパイラを作りやすいように変化を起こしました。
コンパイラには、ダイレクト・コンパイル=直接機械語に変換すると、中間言語コンパイル=実行速度の速い中間言語に変換する 方式があります。
BASICの場合は、もともとがインタープリタだったこともあり中間言語コンパイラが次のステップになりました。
ただ正確には、マイクロソフトBASICも行番号をメモリーアドレスに変換していますので、弱い中間言語コンパイラと見る事も 出来ます。(2009/04/19)
想い出日記「機械語が徐々に減少へ」
ミニ・コンパイラの時代と平行して、汎用コンパイラとして「C」が登場しました。
「PASCAL」を始めとする多くの構造型コンパイラ言語は、数学的に優れているとの評価でしたが、機械語レベルのビット単位の 操作にはあまり向いていないとの当時の評価でした。機械語レベル操作のコマンドを追加する事での対応はもう少し後でした。
「C」言語は、それ自身が再帰的な自己成長型のコンパイラで機械語レベルの操作を容易に行える特徴がありました。
最初は最低限の命令のみを機械語で記述します。
次にそのコンパイラ言語で、より多い命令のある言語を記述する。これを繰り返せば大型言語に成長します。
CPUやメモリー空間の複雑化とコンパイラ言語の進歩で、機械語での記述は特定の用途になりつつありました。(2009/04/26)
機械語に浸り、ミニ言語に熱中した時期
BASIC言語が、ソフトの中心だった時期
アプリケーションソフトの登場でプログラムから離脱