QuickBASIC は QB64 とともに生き続けます
私が最初のコンピューター (MS-DOS 6.22 を実行する中古の 386) を入手したとき、インターネット接続はありませんでした。 しかし、QuickBASIC はインストールされており、地元の図書館が捨てていたプログラミング雑誌の束もあったので、忙しくするのに十分な量がありました。 当時私は、QuickBASIC は魔法とほとんど区別がつかないと思っていました。 簡単なコードを書いて .exe にコンパイルし、フロッピーに入れて、他の人に渡して自分のマシンで実行させることができます。 本当であるとは思えませんが、このテクノロジーをどのように改善できるでしょうか?
もちろん、それは何年も前のことであり、現在では状況は大きく異なります。 現在のプログラミング言語は、80 年代や 90 年代のゆっくりとした BASIC の亜種よりもはるかに高性能です。 それでも、何十年も前に書いたプログラムが詰まったフロッピーを見つけたとき、それらを再び実行することについて疑問を抱かずにはいられませんでした。 DOSBox のようなものを使えば、QuickBASIC IDE をインストールして、信頼できる 386 に戻ったかのように実行できるはずだと私は考えました。
残念ながら、そうではありませんでした。 私が DOSBox に十分に精通していないだけかもしれませんが、フロッピーから取り出したソース コードを IDE で実際に実行することはできませんでした。 これは残念でしたが、現代の BASIC インタプリタはおそらくインターネットの片隅で開発されているのではないかと思いつきました。もしかしたら、30 年前のソフトウェアに依存せずに、30 年近く前のコードを実行する方法を見つけることができるかもしれません。やれ。
少し検索した結果、QB64 プロジェクトを見つけました。 これはオープンソースの QuickBASIC 開発環境で、既存のプログラムと完全な互換性があるだけでなく、私の 386 では考えられなかった機能が追加されています。PNG の表示、TTF フォントの読み込み、または MP3 のバックグラウンド再生を実現できます。たった 1 つまたは 2 つのコマンドで実行できます。
このようなことはオリジナルの QuickBASIC でも可能でしたが、それは何よりも技術デモの領域に存在していました。 ああ、昔はこんなソフトがあればゲームが作れたのに! ピー音やピー音だけで満足する必要があり、その場合でも音のタイミングを自分で把握する必要がありました。
さらに良いことに、QB64 はクロスプラットフォームであり、Linux、Windows、および Mac OS のネイティブ バイナリへのコンパイルをサポートしています。 つまり、古いコードを IDE 内で実行できるだけでなく、実際にそれを Linux デスクトップ用のバイナリにコンパイルできることになります。 私はもう Windows コンピューターを所有していませんが、WINE を使用して QB64 の Windows バージョンを実行し、暗黒時代をまだ生きている友人に渡すことができる .exe をコンパイルすることができました。
QB64 を使用して QuickBasic コードを Android アプリケーションにコンパイルすることもできますが、かなりの困難を乗り越えなければならず、現時点では Windows でのみ動作します。
ビンテージ マシンで BASIC コードを書いたことがない人には分からないかもしれませんが、次のコードは 800 × 600 の画面を作成し、全画面 PNG を表示し、MP3 を再生し、TrueType フォントを使用してメッセージを書き込みます。
比較として、JPEG 画像を単純に表示するためのこの QuickBasic ツールのコード数は 653 行です。
活発な 10 代の頃、私は「Drugwars」スタイルのゲームのグラフィック バージョンを作成しました。 あなたは小さな棒人間をピクセル化された環境内で動かし、映画で聞いたことはあっても実際に見たことのない物質を売買しました。 ひどいものでした。 しかし、それは私の青春の一部であり、QB64 を使用して現代のフラッシュで靴べらをできるかどうかを確認するのは楽しいだろうと考えました。
結局のところ、透明な PNG と適切なフォントを表示できる機能により、作業がはるかに簡単になります。 バックグラウンドで音楽や環境音を再生できると、雑なゲームでもずっと良くなったように見えます。 次のスクリーンショットは、QB64 の適用前と適用後の、私の小さな 10 代の犯罪ファンタジーのメイン メニューです。 コアのソース コード自体は多かれ少なかれ同じであることに注意してください。外部ファイルを読み込んで表示する機能をインターリーブしているだけです。
いいえ、絶対にやめてください。 私は、読者の多くが生まれる前にピークに達したプログラミング言語に飛びつくように誰かを説得するためにこれを書いたわけではありません。 QuickBASIC は時代遅れの言語であり、現代のプログラマーを混乱させる時代遅れのメソッドと制限がつきまとっています。 しかし、QB64 は、この古典的な言語に慣れ親しんでいる私たちにとって、大局的には比較的小さな程度ではありますが、この古典的な言語を現代化するという優れた仕事をしています。
90 年代初頭に DOS 386 で書いた BASIC コードを含むディスクを 2018 年に Linux バイナリに変換できたことは、非常に素晴らしい成果であり、それを可能にした QB64 開発チームに敬意を表します。 私はその言語で新しいコードを書くつもりはありませんし、あなたにもそうすることをお勧めしませんが、人生のこの時代を再訪し、それを現代に引きずり込み、叫ぶことができたのはとても楽しかったです。