想い出日記「ハードディスクとOS」
ハードディスクの標準装備で始めてOSが、実用的になりました。
最小限のファームウエア(bios等)と、巨大な記憶装置のハードディスクの組み合わせで成立しました。
半導体メモリーはある程度の限られた量で、そこに実行するソフトを読み込む方式です。
プログラムも。あるいはプログラム言語もそれに対応が必要になりました。
それは、コンパイラ・構造化・再帰等を全て必要とします。
逆に言えば、それを満たせば表面上は色々なものが可能という事です。
ただし、機械は壊れるものですし、ソフトは一部のトラブルで全体が使用出来ない事は度々です。
長い、ハードディスクのクラッシュ問題との戦いの始まりでした。
しかし、まだハードディスクに変わるものは登場していません。(2012/02/05)
想い出日記「整数BASICとミニコンパイラの類似性」
初期のパソコンはハード的にも、ソフト的にもシンプルでした。
そこで動作する「整数BASICインタープリタ」と「記号記述ミニコンパイラ」は言語的に類似性がありました。
「記号記述ミニコンパイラ」の起源である、そのインタープリターはコマンドの種類以外は「整数BASICインタープリタ」と同じとも言えます。
類似性のあるプログラム言語は、慣れればプログラムには障害はありません。
あえていうならば、第3者にはプログラムの読みやすさが異なる事くらいでしょう。
個人の趣味の世界では、第3者がプログラムを読む事も殆どなく、制作者が理解出来れば同じという意識です。
これが覆されるのは、コマンドと関数が増えた大型プログラム言語の登場からです。
大型のメインフレーム用の言語と、パソコン用の言語が近づく事になります。(2012/02/12)
想い出日記「マイクロソフトBASICは中間言語タイプ」
BASICの特徴は、行番号とそこへのジャンプ命令です。
インタープリタでは、行番号を最初から探すので、大きなプログラムで終わりの行番号へのジャンプに時間がかかりました。
従って、実行回数の多いサブルーチンをプログラムの最初に置くのが標準でした。
マイクロソフトBASICでは、行番号のメモリーアドレスを持たせる事を行っていました。
プログラムを変更するたびに変換しなおす必要がありますが、多くの時間は不要です。
一方、実行時には行番号の大きさや位置や、プログラムの大きさに関係無しで、行番号ジャンプが可能です。
これは、その後に増えた中間言語タイプのコンパイラの一部である機能です。
わずかですが、中間言語タイプも含んでいたと言えます。(2012/02/19)
想い出日記「一時はBASIC動作パソコン設計も」
マイクロソフトベーシックが殆どの機種のパソコンに搭載された時期があります。
その当時は、OSはなくベーシックが兼用の働きをしていました。
プログラム領域の一部を使用して、他の言語特にタイニーコンパイラを動かす事もありました。
しかし、タイニーコンパイラやマシン語のプログラムを想定していない機種もありました。
代表例が「FM−8」です、プログラム領域と、画面表示領域が別のCPUで動作しており、機械語での表示プログラムには制限がありました。
1年後に出た後継機種からは、制限が少なくなってそのまま長年継続しました。
短い時期ですが、さながらベーシック言語動作のみを考えたかのような(厳密には異なりますが)設計でした。
色々なプログラム言語が、標準と言えるようになるには、OSの登場を待つ事になった様です。
OSでは、読み込むアプリケーションの性格も変わり、構造化コンパイラ言語が必要でした。(2012/02/26)