2021/04/28(水) [n年前の日記]
#2 [basic] 色々なBASICをちょっとだけ触ってみた
ふと、何故か、なんとなく、BASICを使ってみたいなと思えてきて。ここで言うBASICというのはプログラミング言語のBASICのことだけど。Windows10 x64 20H2 や Ubuntu Linux 20.04 LTS 上で、無償で利用できるBASICを少し触ってみたり。
今回試用してみたのは以下。どれも無償で利用できる。
以下のページが参考になった。ありがたや。
_Linux上のBASICインタプリタ
今回試用してみたのは以下。どれも無償で利用できる。
- bwBASIC
- Chipmunk Basic
- FreeBASIC
以下のページが参考になった。ありがたや。
_Linux上のBASICインタプリタ
◎ bwBASICを試用。 :
bwBASICというBASICがあって、BASIC言語の基本仕様が使えるらしい。ただ、グラフィック描画等はできないっぽい。
Windows10 x64 20H2上で試用してみる。最新版は 3.20、なのかな。たぶん。
_bwBASICでBASIC言語に再会してみよう - Qiita
_Bywater BASIC Interpreter download | SourceForge.net
_Bywater BASIC Interpreter - Browse /bwbasic/version 3.20 at SourceForge.net
bwbasic.exe をダウンロードして、任意のフォルダに置いた。
DOS窓を開いて、bwbasic.exe と打てば実行できる。起動すると「bwBASIC: 」とプロンプトが表示されて、入力待ちになる。
Ubuntu Linux 20.04 LTS 上でも試用してみた。apt でインストールできる。
導入・インストールは、一番簡単かもしれない。
Windows10 x64 20H2上で試用してみる。最新版は 3.20、なのかな。たぶん。
_bwBASICでBASIC言語に再会してみよう - Qiita
_Bywater BASIC Interpreter download | SourceForge.net
_Bywater BASIC Interpreter - Browse /bwbasic/version 3.20 at SourceForge.net
bwbasic.exe をダウンロードして、任意のフォルダに置いた。
- 一応、Microsoft Defender でウイルスチェックする。エクスプローラ上で bwbasic.exe を右クリック → Microsoft Defender でスキャンする。
- 右クリック → プロパティ → セキュリティ → 「許可する」にチェックを入れてOK。
DOS窓を開いて、bwbasic.exe と打てば実行できる。起動すると「bwBASIC: 」とプロンプトが表示されて、入力待ちになる。
- 行番号無しで入力すれば、その場で命令を実行。
- 行番号付きで入力すれば、ソースコード入力。
- load "hoge.bas" でプログラムのロード(読み込み)。
- save "hoge.bas" でプログラムをセーブ(保存)。
- list でプログラムの確認。
- run で実行。
- quit で終了。
Ubuntu Linux 20.04 LTS 上でも試用してみた。apt でインストールできる。
sudo apt install bwbasicbwbasic と打てば実行できる。
導入・インストールは、一番簡単かもしれない。
◎ Chipmunk Basicを試用。 :
Chipmunk Basic というBASICもあるらしい。これはグラフィック描画機能を持っている模様。
Windows10 x64 20H2上で、Chipmunk Basic 3.6.5b6 を試用してみた。
_Chipmunk Basic Home Page
_Chipmunk Basic
w32cbas365b6.zip をDLして解凍。任意のフォルダに置いた。
quit と打って終了。exit や bye でも終了できる。
Ubuntu Linux 20.04 LTS上でも試用してみた。cbas367b5-linux-x86_64.zip をDLして解凍。
中には、以下のファイルが入っていた。
./basic で実行できる。
ちなみに、グラフィック描画関係については、Mac, Windows, Linux で利用可能な命令が違うらしい。
_Chipmunk Basic Reference Manual
どの環境でも利用できるのは以下。
Macなら oval(楕円) や rect(矩形)が使えるらしいけど、Linux (X11) では使えない、と書いてあるように見える。
また、前述のドキュメントには書いてないけど、graphics cls も、Windows と Linux 上で一応は使えるように見えた。ただ、必ず確実に動作するわけでもないっぽいけど…。時々無反応になる…。
グラフィック描画時の色指定をする graphics color R, G, B (R,G,B は 0.0 - 100.0 の値を指定)も、Windows と Linux では動作が違った。Windows上では反映されるが、Linux上では 0 or 1 しか反応しない。
更に、スリープさせる命令、fn sleep(秒数) は、Windows上では動作しないらしい。Mac と Linux 上なら動作する、と書いてある。
さておき。以下のプログラムを gdemo.bas として打ち込んでみた。
_gdemo.bas
load "gdemo.bas" で読み込んで、run で実行。簡単な図形?が描画された。
ただ、描画ウインドウをドラッグしたり等々しないと、ちゃんと表示されない時がある。どうも各所で動作が微妙に怪しい気配がするなと…。Wikipedia でも安定性について言及されてるけど、たしかにそんな感じ。
_Chipmunk Basic - Wikipedia
Windows10 x64 20H2上で、Chipmunk Basic 3.6.5b6 を試用してみた。
_Chipmunk Basic Home Page
_Chipmunk Basic
w32cbas365b6.zip をDLして解凍。任意のフォルダに置いた。
- basic.exe を実行すれば BASIC の基本文法の動作確認ができる模様。
- グラフィック描画関連を使いたい場合は、chipmunkbasic.exe を実行しないといけない。
quit と打って終了。exit や bye でも終了できる。
Ubuntu Linux 20.04 LTS上でも試用してみた。cbas367b5-linux-x86_64.zip をDLして解凍。
wget http://www.nicholson.com/rhn/files/cbas367b5-linux-x86_64.zip unzip cbas367b5-linux-x86_64.zip
中には、以下のファイルが入っていた。
- README
- basic
- basic.man.txt
- man/
./basic で実行できる。
ちなみに、グラフィック描画関係については、Mac, Windows, Linux で利用可能な命令が違うらしい。
_Chipmunk Basic Reference Manual
どの環境でも利用できるのは以下。
- graphics 0
- graphics moveto VAL, VAL
- graphics lineto VAL, VAL
- graphics text STRINGVAL
- graphics color REDVAL, GREENVAL, BLUEVAL
Macなら oval(楕円) や rect(矩形)が使えるらしいけど、Linux (X11) では使えない、と書いてあるように見える。
また、前述のドキュメントには書いてないけど、graphics cls も、Windows と Linux 上で一応は使えるように見えた。ただ、必ず確実に動作するわけでもないっぽいけど…。時々無反応になる…。
グラフィック描画時の色指定をする graphics color R, G, B (R,G,B は 0.0 - 100.0 の値を指定)も、Windows と Linux では動作が違った。Windows上では反映されるが、Linux上では 0 or 1 しか反応しない。
更に、スリープさせる命令、fn sleep(秒数) は、Windows上では動作しないらしい。Mac と Linux 上なら動作する、と書いてある。
さておき。以下のプログラムを gdemo.bas として打ち込んでみた。
_gdemo.bas
100 graphics 0 110 graphics cls 120 w = 360 130 for i = 0 to w step 5 140 v = 100 * i / w 150 graphics moveto 0, i 160 graphics color 0, v, (100 - v) 170 graphics lineto i, w 180 fn sleep(0.04) : ' Does not work on Windows 190 next i 990 end
load "gdemo.bas" で読み込んで、run で実行。簡単な図形?が描画された。
ただ、描画ウインドウをドラッグしたり等々しないと、ちゃんと表示されない時がある。どうも各所で動作が微妙に怪しい気配がするなと…。Wikipedia でも安定性について言及されてるけど、たしかにそんな感じ。
_Chipmunk Basic - Wikipedia
◎ FreeBASICを試用。 :
bwBASIC と Chipmunk Basic はインタプリタだったけど、FreeBASIC はBASICコンパイラ。何かしらのエディタでソースを書いて、fbc というプログラムでコンパイルして、実行ファイルを生成できる。
_FreeBASIC Compiler download | SourceForge.net
_FreeBASIC Compiler - Browse /FreeBASIC-1.07.3/Binaries-Windows at SourceForge.net
Windows10 x64 20H2上で動作確認。FreeBASIC-1.07.3-win64.zip を解凍して、任意のフォルダに置いて、ユーザ側の環境変数 PATH に追加しておいた。fbc.exe に PATH が通っていれば使える。
fbc hoge.bas で、hoge.exe が生成できる。
Ubuntu Linux 20.04 LTS上でも試用してみた。
_FreeBASIC のインストール
動作に必要なパッケージをインストールしておく。
FreeBASIC-1.07.3-ubuntu-20.04-x86_64.tar.gz を入手して展開。sudo ./install.sh -i でシステムにインストールができる。
これで fbc が使えるようになっているはず。
解凍したディレクトリ内に examples/ があるので参考に。
以下を参考にして Hello World。
_FreeBASIC でプログラミング1
hello.bas として保存。
コンパイル。
./hello で実行できる。
_FreeBASIC Compiler download | SourceForge.net
_FreeBASIC Compiler - Browse /FreeBASIC-1.07.3/Binaries-Windows at SourceForge.net
Windows10 x64 20H2上で動作確認。FreeBASIC-1.07.3-win64.zip を解凍して、任意のフォルダに置いて、ユーザ側の環境変数 PATH に追加しておいた。fbc.exe に PATH が通っていれば使える。
fbc hoge.bas で、hoge.exe が生成できる。
Ubuntu Linux 20.04 LTS上でも試用してみた。
_FreeBASIC のインストール
動作に必要なパッケージをインストールしておく。
sudo apt install gcc libc6-dev ncurses-dev libx11-dev libxext-dev libxpm-dev libxrandr-dev libxrender-dev
FreeBASIC-1.07.3-ubuntu-20.04-x86_64.tar.gz を入手して展開。sudo ./install.sh -i でシステムにインストールができる。
tar zxvf FreeBASIC-1.07.3-ubuntu-20.04-x86_64.tar.gz cd FreeBASIC-1.07.3-ubuntu-20.04-x86_64 sudo ./install.sh -i
これで fbc が使えるようになっているはず。
$ which fbc /usr/local/bin/fbc
解凍したディレクトリ内に examples/ があるので参考に。
以下を参考にして Hello World。
_FreeBASIC でプログラミング1
hello.bas として保存。
print "Hello World" print print "Hit Any Key to exit" sleep
コンパイル。
fbc hello.bas
./hello で実行できる。
◎ 余談。 :
少し触ってみたものの、やっぱりBASICって、あえて今から学習する言語・環境ではないよなと…。Python あたりを使ったほうがいいと思う…。
行番号を入力しなきゃいけないあたりが、なかなかにツライ。自分、学生時代はBASICを使っていたし、当然行番号も打ち込んでいたけれど、今となっては…。いやはや、この仕様はツライ…。
行番号を入力しなきゃいけないあたりが、なかなかにツライ。自分、学生時代はBASICを使っていたし、当然行番号も打ち込んでいたけれど、今となっては…。いやはや、この仕様はツライ…。
[ ツッコむ ]
以上です。