ここではF-BASIC V6.3というBASIC言語について説明します。
これはWindowsアプリケーション開発のBASIC言語なのですが。
凄すぎるのでアーカイブを残したいと思いました。
【サルでもアプリケーション開発できる?!】
ちょっと大げさかもしれませんが、誰でもアプリケーション開発ができます。
僕のようなBASIC言語メインの凡人でもできるのですよ。
イメージとしては80年代のBASIC言語そのまんまです。
マイコンBASICマガジンに掲載されたたようなBASIC言語プログラムです。
恐らくプログラム言語としてはいちばんやさしい言語だと思います。
小学生でもサクサクと作れると思いますね。
ただし、ゲームを作るのにはちょっと物足りない?
ちなみに僕はプログラマーではありません。
FLASH ActionScript3.0が少しできる程度の人間です・・・
子供の頃はMSXパソコンでBASICをいじっていました。
その後、ポケコンBASICで楽しんでました。
だからBASICがいちばん理解できる唯一の言語です。
そんな人であるので、このF-BASICに目を付けたわけです。
F-BASICは80年代と同じ命令が使われてるBASIC言語です。
拡張命令はありますが、基本命令はBASICそのものです。
WindowsのBASIC言語にはいくつか開発されています。
例えば、HSPとかです。
このようなBASICは実際には拡張されているので、昔のBASICとは違います。
BASIC言語と違う文法がつかわれていることが多いのです。
本来のBASIC言語とは違うBASICという言語が多いのです。
また、開発したPCでしか実行できない場合もあります。
つまり完成プログラムを他人に配布することができないBASICが多いのです。
ですから、色々検討した結果F-BASICにたどり着いたわけです。
これがF-BASICの優位性がある部分です。
完成プログラムを他人に配布できることは重要です。
【Windows10で使用するときのバグについて】
ここではWindows10で標準プログラムのバグについて説明します。
(拡張プログラムは使用してないので不明です)
結論から言えば、小さなバグはありますが大きな問題はありません。
プログラムを作るのに大きな支障があるわけではないです。
ソースエディターで改行(エンターキー)すると漢字などは文字化けすることがある。
上下カーソルキーでポインタを移動しても同じ現象があります。
上下に移動はカーソルキーを使わないことです。マウス操作でポインタを移動させることです。
(左右移動はカーソルキーでも問題ありません)
wait命令でバグ?
ウインドウ拡大命令(1000×1000ピクセルくらい)を使用して、wait命令2秒以上使うと、瞬間的にウィンドウがフル画面になるバグがあります。
wait命令は2秒以下にするか、ウィンドウはデフォルト(800×600くらい)のまま使用することです。
BEEP音がでない。
ドライバーの関係でBEEP音はでません。標準では音楽を演奏させることもできません。
つまり音は出せないです。
それでも音がでないだけなので大きな問題ではありません。
(Windows11でBEEP音が出るようになりました)
デバッグモードが使えない?
デバッグモードは使えないみたいです。
使えないのでどのようなものか不明です。
それでもプログラム制作には大きな支障はないです。
勿論使えた方がよいとは思いますがね・・・
バグではないが16色しか使えない。
これは仕様ではありますが16色しか色数はありません。
いまどきこの少ない色数で作る?でも問題はないです。
80年代のPCは16色が普通でしたので、ゲームもそんなチープなものばかりでした。
逆に味がでてよいと思いますが。
【ゲーム制作には向いてないけどこれで十分!】
ゲーム制作はスプライト機能が便利ですが。
F-BASICにはスプライト機能がありません。
ですから、アスキー文字やラインアートなどでキャラクター表示という。
キャラクターを表示できないのはゲーム制作には向いてないかな・・・
ラインや円などのグラフィックも描けるので。
アドベンチャーゲームだったらできると思います。
【プログラムは基本と拡張の2種類がある】
基本モードでは、コマンド入力のアプリケーションが作れます。
キー入力にも対応しています。
計算結果はPRINT命令で表示させることができます。
コマンド入力なので操作性はよくありませんが。
これでも十分だと思います。
拡張モードでは、マウス操作に対応したGUI型アプリケーションが作れます。
WindowsのGUI対応したアプリケーション開発ができます。
こちらはちょっと難易度が高いのですが、僕は使ってません。
でも拡張モードならば、ほぼ何でもできるという感じです。
インターネットにも対応しているようです。
ネットワーク型アプリケーションもできなくもないです。
【移行支援機能が凄い?!】
他のBASIC言語からの移植ができるようです。
この機能はV6.0からついた機能みたいです。
過去のプログラムをほぼ完全移植できるという凄い機能です。
僕には関係がないですが・・・
【プログラムが超高速で動く!驚きますよ!】
32bitネイティブコンパイラー搭載で、超高速なんですよ。
BASIC言語といえば遅いイメージがありますよね。
僕の試した限りでは80年代のBASIC言語と比べて1000倍くらい早い!
30万回の計算表示が1秒で終了します。
Windowsマシンの性能にもよりますけどね。
(実験ではWindows98PCとWindows10PCは実行速度6倍変わる)
兎に角早いんです。
コンパイルでマシン語になってるから早いのは当たり前です。
コンパイルは約1秒で完了します。
つまり、コンパイルしてる感覚はないです。
【時代はBASIC言語なのか?!】
このF-BASICは時代にあっていると思います。
もっと普及するべきだと思うのですが。
誰でも簡単にプログラミングできる理想の言語なのです。
しかも超高速ですから。
言う事がありませんね。
F-BASICの復活を願ってやみません。
【僕の作ったF-BASICプログラム】
最後に僕の制作したプログラムを紹介します。
FXトレードを再現したシミュレーションプログラムです。
これもちょこちょこ10日くらいでできました。
グラフィック機能に助けられた感じです。
LINE命令、circle命令などを駆使してチャートを描いています。
恐らく1秒間に1000回は線を描いてると思います。
そんな超高速なのでwait命令で遅くしているくらいです。
もし、BASIC言語でなかったらお手上げでした。
練習で作ったピンポンゲーム
簡単なアクションゲームならF-BASICでも可能なのだが。
スプライト機能がないのでキャラクターを出すのは困難か?
拡張命令を使えば可能かもしれないが。
僕が言いたいことは・・・
古典的な開発ツールは使いやすかったものが多かった。
でもなぜかそれは消えていった気がする。
このご時世は高度な開発言語が次々登場している。
それらを使いこなせるのは一部のエンジニアだけである。
一般人にはまったく手の届かない技術になっている。
最近流行っているPythonはどうだろう?
Pythonは比較的簡単と言われている。
カッコを使わず、インデントさせて命令ブロックを作る。
少ない命令で動作する特徴もある。
この辺りはBASIC言語に似てる部分がある。
Pythonをもっと簡素化したのがBASIC言語とも言える。
結局は簡単な言語は使いやすいという結論なのだろう。
つまりは言語を複雑化するのはまったく非効率。
そう言えるのではないか?
黎明期のコンピューターはそもそも遅かった。
BASICはインタプリタ言語なので更に遅かった。
それで時代に付いていけなかったのでは?
そう思えてくるのである。
現在のPCは超高速で動くのでBASICでも何ら問題ない。
ちなみにPythonも遅い言語ですがね・・・
F-BASICで製作した例
左側 為替チャートシミュレーター 動きの統計データを分析するソフト
右側 トレード損益統計シミュレーター トレーダー損益分布を円グラフで分析ソフト