03 ネイティブコードコンパイル
日付を管理していなかったので、正確な記述日時がわかりません。
ので、サイト「猿頁」開設日としました。御了承ください。
これで、ふつーにインタプリタ実行するよりは「解釈」にかかる時間を節約したファイルができあがりました。当時の MS-DOS 用 BASIC では、これでなんとか DISK-BASIC 版とどっこい程度の動作速度を実現していたと記憶しています。
もっともインタプリタ(これは「開発環境」といぅ意味での)\48,000.-、コンパイラ\98,000.-、別途ランタイム(もちろん再配布不可)\12.800.-/1台あたり、くらいの値段だったはずなので(うろ覚え^_^;)、フリーウェア文化なんかなかなか育つ環境ではありませんでしたけれども。
さて。この p-code コンパイル、やっぱちょっと邪道のよぅな気がしませんか?コンパイルって「翻訳」って意味ですし、ソース→ p-code に「翻訳」するんですからウソをついているわけではないんですけれども。
でも、パソコンで「コンパイル」するんなら、やっぱソース→マシン語を期待するのが人の世の常。で、テキストエディタやなんやが普及していくにしたがって、パワーのある人は C に乗り換えていったりして。で、BASIC 以外の言語を勉強するのがめんどくさい人は Microsoft BASIC や Quick BASIC (これも Microsoft 製だったりして)に流れていったりして。
この、ソース→マシン語への翻訳を行ってくれるコンパイル作業のことを、p-code に対してネイティブコードコンパイル(ネイティブコード=自然な言語、ってここではマシン語のことを指します)と呼ぶようになったのは、VB が言い出しっぺじゃありませんでしたっけ。当時は、「ホントのコンパイル」とか「マシン語へのコンパイル」とか呼んで区別してました、私(^_^;)。
ちなみに私は、この件で BASIC に割とうんざりしていて C に流れたんですけど、Microsoft Cじゃなくて Lattice C だったりして。当時個人的には富士通派で、学校では日立の 2020 使ってて。就職のときに NEC 系を選んで、友人には「転び PC」と差別受けたりして。したっけ NEC が自社ブランドで販売しているのがMicrosoft Cしかなくて、さらにコロんでみたりして。…流されてますなぁ。
時代はがばっと進み、OS が MS-DOS→OS/2→Windows3.0/3.0A/3.1/95 と進んでいく中で、「割とかんたんに開発できる言語/環境」ってやつも Visual Basic2.0→4.0 と進んでいきました(日本の場合ですよ。本家アメリカでは Windows も 3.11 ワークグループとかってバージョンもあったはずですし、VB だって16ビット時代の名作と評価が高い 3.0 もありましたしね。聞くところによると VB1.0 for MS-DOS ってのもあったらしいんですが、これ、日本語版は出たのかしら)。
対して、初期のネイティブコードを作り出せる開発環境は Microsoft C7.0+SDK (当時は SDK だけで単体売りされる有料商品)しかなくって、ややこしすぎて嫌んなった人たちがもぅ一度 BASIC…いゃいゃ、Visual Basic(この大文字と小文字の区別は意外と大事。古い人は、すべて大文字表記の「BASIC」は DOS 版か DISK BASIC 版、大文字小文字混じりの「Basic」は Visual Basic ってこだわってたりしますので)へ舞い戻ってきたりしていたわけですね。
戻ってはきたものの。確かにそこそこ動くものは作れるものの。やはり DOS 時代に C で、Microsoft/Quick BASIC で、なじんだネイティブコンパイル環境がほしい!って願望はやはり強かったわけですね。
で、さらに新しい開発環境にチャレンジできるだけの精神力を持った人たちは、Microsoft C+SDK の次世代を担う新しい開発環境、Visual C++ へと突撃していったわけです。