見出し画像

Quick BASIC - テキスト画面でGUIを作れた構造化BASIC

QuickBASIC がリリースされたのは1985年なのですが、この頃になるとメインPCはNEC PC9801シリーズで、もっぱらMS-DOS配下のプログラミング言語を使ってプログラムを書いていました。

もちろんC言語も使うようになっていたのですが、PC9801のグラフィックや周辺機器を使うには C言語はサポートされている範囲が狭く、何だかんだN88BASIC(86)のMSDOS版を使うことが多かったです。

もちろんC言語でもグラフィックなどを扱えなくはなかったのですが、C言語のコンパイラ毎に異なる関数を呼ばなければなりませんでしたし、ライブラリの実装もちゃんとGDCを呼んでくれないことも多かったので、使えはしたものの物足りないことが多かったのです。また周辺機器のドライバやライブラリがN88BASIC用しか提供されていないという場合、これを無理やりC言語から呼び出すのも大変すぎるので(それにサポートもされない)、何だかんだBASICを使ってしまいます。

QuickBASIC がPC9801で使えるようになったのは1988年にリリースされたVer.4.2からです。BASIC としてはそれまでの BASIC とは大きく異なり、行番号はラベルであって、必須ではなくなり、構造化された制御構文を使えるようになりました。サブルーチンも GOSUB で呼ぶのではなく、ちゃんと名前を付けて呼ぶことができ、その中ではローカル変数も使えます。もちろん行番号があっても良く、それまでの BASIC の構文も許容されていたのですが、長い BASIC プログラムで面倒で仕方がなかった変数や行番号の管理からやっと解放された気持ちでいっぱいでした。

行番号が無いということは、それまでのような組み込みのスクリーンエディタも無いわけです。これに変わり今でこそお馴染みの統合環境というのが提供されていて、テキスト画面を駆使したGUIのような画面で、メニューからウィンドウというかテキストの領域が開かれて、コードを書いたり、実行したり、デバッグまでできるようになっていました。

3.Quick Basicの基本操作

BASIC の経験しかない人であれば、なかなか戸惑うものもあったとは思いますが、構造化BASICは BASIC09 以来の付き合いですし、C も FORTRAN も使っていた自分にとっては、ようやく BASIC でも同じような書き方が出来ると、理由がない限り今までの BASIC に戻ることはなくなりました(QB に無い機能もありますし、周辺機器がサポートされていないとか、複雑なグラフィックがまだ厳しいとか、ちょっとばかりバギーな部分が残っていたなど理由はいろいろ)。

N88BASICでもアプリを作るには、端末のようにダラダラと文字列を流すのではなく、画面内の領域を区切って決まった位置に情報を出すような UI が主流になっていたのですが、QB には、このあたりの機能が充実していて、ダイアログのようなものが簡単に出せるようになっていたので、非常に重宝しました。

QuickBASIC

QuickBASIC

今でも QB の流れをくむ処理系が使えるようです。

QB64Team/qb64

MS-DOSの時代はまだOSがグラフィックをサポートしていなかったので、あくまでテキストな世界でコードを書いて実行していましたが、Windows の時代になって Visual BASIC が登場すると、この新しい BASIC の時代が花開いていきました。 

QBasic programming tutorial

QuickBASIC は、なかなか素敵だったのですが、どうしても Quick なところがあり、大規模な開発には力不足なこともありました。そこでいわゆる開発するようなソフトを書く時には、MS-BASICを使うようになりました。そちらのお話は少し調べが必要なので、またの機会に。

ヘッダ画面は、以下のものを使わせて頂きました。

https://commons.wikimedia.org/wiki/File:Qbasic2.jpg#/media/File:Qbasic2.jpg

#プログラミング言語 #BASIC #QB #構造化BASIC #MSDOS #PC9801 #統合環境

この記事が気に入ったらサポートをしてみませんか?