Microsoft、「GW-BASIC」をオープンソースとして公開:1983年2月10日付のアセンブリコード
Microsoftは、「Microsoft GW-BASIC」をオープンソースとして公開した。
Microsoftは2020年5月21日(米国時間)、「Microsoft GW-BASIC」をGitHubでオープンソースとして公開したと発表した。2019年に「MS-DOS 1.25」「MS-DOS 2.0」をオープンソース化して以来「Microsoft BASIC」のオープンソース化を求める声が多数寄せられたため、この要望に対応したとしている。
今回公開されたソースコードは、Intel 8088プロセッサ用GW-BASICの1983年2月10日付のソースコードで、アセンブリ言語で記述されている。Microsoftは、歴史的な参考資料として教育目的で公開したとしており、ソースコードを変更するプルリクエストは受け付けていない。
GW-BASICは、IBMのAdvanced BASIC/BASICAをベースにしたBASICインタープリタ。Advanced BASIC/BASICAは、Microsoft BASICを移植したものだ。
MicrosoftのさまざまなBASIC実装は、ビル・ゲイツ氏とポール・アレン氏が実装したMicrosoft初の製品であるAltair 8800コンピュータ用BASICインタープリタにさかのぼる。
1970年代後半から80年代にかけてMicrosoftのBASICは、さまざまなOEMの特定のプラットフォームおよびハードウェアニーズに応じて、8088、6502(MOS Technology)、MC6809(Motorola)、Z80(Zilog)といった当時普及していたプロセッサに移植された。
MicrosoftはGW-BASICのオープンソース化についてFAQでも説明している。その概要は以下の通り。
Q.C言語のソースコードはないのか。
A.1970〜80年代の多くのソフトウェア(MS-DOSを含む)と同様に、GW-BASICのソースコードは全てアセンブリ言語で記述されている。
Q.なぜアセンブリ言語なのか。なぜ開発者はCやPascalのような高級言語を使わなかったのか。
A.当時のメインフレームやミニコンピュータ上で、あるいはそれらをターゲットに開発を行う場合は、FORTRAN、LISP、COBOL、RPG、CPL/BCPL、Cなどの高級言語を使える場合もあった。だが、こうした言語のコンパイラは極めて高価な場合が多く、効率的なコードを生成することはめったになかった。また通常、当時のホームコンピュータやパーソナルコンピュータでは、容量や性能の制約から使えなかった。
そこで開発者は、初期のPC向けソフトウェアを作成する際、ソフトウェアを使用可能なメモリで動かせるサイズに収める目的と、コンピュータのリソースおよび内部機構にアクセスする目的のために、コード全体をアセンブリ言語で記述することが多かった。
こうしたことから、GW-BASICのソースコードは全て純粋なアセンブリコードとなっている。これらはコア/マスターソースから、プロセッサ/マシンごとにトランスレーターで変換された。
ソースコードはトランスレートされたのか?
Copyright © ITmedia, Inc. All Rights Reserved.
関連記事
- 「ゲームがやりたくてBASICを覚える」時代、再び?――2017年最も読まれた@ITニュース記事とは
@ITは、2017年に約700本のニュース記事を掲載しました。その中で、最も読まれた記事とは何だったのでしょうか。 - Spotifyが開発者ポータル「Backstage」をオープンソース化
Spotifyは2020年3月16日(米国時間)、社内向けに開発し、活用してきた開発者向けポータル構築プラットフォーム、「Backstage」をオープンソース化したと発表した。 - 商用利用可能なPython向け機械学習ライブラリ「SmallTrain」 Geek Guildがオープンソース化
Geek Guildは、Python向け機械学習ライブラリのオープンソースプロジェクト「SmallTrain」を開始する。商用利用が可能な学習済みのAIモデルを備え、ユーザーのデータを学習させることで、独自の学習済みモデルを構築できる。