Microsoftは2018年にGitHubで「MS-DOS」のソースコードを再びオープンソース化したが、今度は同社が1983年にリリースした「GW-BASIC」のソースコードを公開した。
GW-BASICのルーツは、Bill Gates氏とPaul Allen氏が作ったMicrosoftの最初の製品である「Altair 8800」用のBASICインタプリターにまでさかのぼる。
MicrosoftのWindowsコンソールおよびコマンドライン担当シニアプログラムマネージャーであるRich Turner氏によれば、GW-BASICは、1981年に発売された「IBM PC Model 5150」に同梱されていた「Advanced BASIC」から派生したものだ(そのAdvanced BASIC自体が「MS-BASIC」から派生したものだった)。BASICは今日の「Microsoft Visual Basic .NET」の基礎になっている。
GW-BASICのソースは1983年2月10日付けのもので、Intelが設計したマイクロプロセッサー「Intel 8088」用のアセンブリー言語で書かれている。GW-BASICのソースコードが公開されたのは、MS-DOSのコードを公開したことで、MicrosoftのBASICも公開してほしいという要望が強まったためだという。
「オープンソース」とはいえ、GitHubにはアーカイブとして公開されており、ソースに対する修正は受け付けていない。これは、歴史的な資料や教育目的の資料として公開されたものであるためだ。また、ソースには実行可能なバイナリーを生成するツールは含まれていない。
Turner氏は、1983年はテクノロジー業界にとって大きな変化の年だったと述べている。1983年には、デンマークの計算機科学者Bjarne Stroustrup氏が「C++」の最初のバージョンに取り組んでいたし(Windowsの開発に使われた言語だ)、米国のARPANETではTCP/IPも標準化された。
Borlandが「Turbo Pascal」を発表したのもこの年だ。Turbo Pascalを作ったAnders Helsjberg氏は、その後Microsoftで「C#」や「TypeScript」を作っている。
また当時のAppleのハードウェアは、あまり手頃な価格ではなく、Turner氏には全く手の届かないものだったという。
同氏は「Appleは1983年に、1MHzの6502を搭載した『Apple IIe』を1395ドル(今の値段で言えば3500ドル以上)で発売した。また、GUIを備えた最初の市販コンピューターである『Apple Lisa』も発売した」と述べている。
Microsoftはこの年にIBM PC XT用の「MS-DOS 2.0」とGW-BASICをリリースしている。
Turner氏は、GW-BASICのソースコードが100%アセンブリー言語なのは、その言語が特定のチップアーキテクチャー専用に作られた低級言語であることを意味していると説明している。
当時、メインフレームでは「FORTRAN」「LISP」「COBOL」などの高級言語を使うこともできたが、それらの言語のコンパイラーは当時のPCで使うには高価で効率が低く、サイズが大き過ぎたのだという。
「初期のPCでソフトウェアを書くときには、1バイト、1命令が重要だった。物理的な問題として、ソフトウェアを利用できるメモリー内に収めたり、コンピューターのリソースや内部の仕組みにアクセスするためには、コード全体をアセンブリーで書くしかないことも多かった」
「このため、GW-BASICのソースコードは全てアセンブラーで書かれ、コード/マスターソースからプロセッサー/マシンに合わせて変換されていた」とTurner氏は述べている。
この記事は海外CBS Interactive発の記事を朝日インタラクティブが日本向けに編集したものです。