mieki256's diary



2021/04/28(水) [n年前の日記]

#2 [basic] 色々なBASICをちょっとだけ触ってみた

ふと、何故か、なんとなく、BASICを使ってみたいなと思えてきて。ここで言うBASICというのはプログラミング言語のBASICのことだけど。Windows10 x64 20H2 や Ubuntu Linux 20.04 LTS 上で、無償で利用できるBASICを少し触ってみたり。

今回試用してみたのは以下。どれも無償で利用できる。
以下のページが参考になった。ありがたや。

_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 をダウンロードして、任意のフォルダに置いた。
  • 一応、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 bwbasic
bwbasic と打てば実行できる。

導入・インストールは、一番簡単かもしれない。

Chipmunk Basicを試用。 :

Chipmunk Basic というBASICもあるらしい。これはグラフィック描画機能を持っている模様。

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 のインストール

動作に必要なパッケージをインストールしておく。
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を使っていたし、当然行番号も打ち込んでいたけれど、今となっては…。いやはや、この仕様はツライ…。

以上です。

過去ログ表示

Prev - 2021/04 - Next
1 2 3
4 5 6 7 8 9 10
11 12 13 14 15 16 17
18 19 20 21 22 23 24
25 26 27 28 29 30

カテゴリで表示

検索機能は Namazu for hns で提供されています。(詳細指定/ヘルプ


注意: 現在使用の日記自動生成システムは Version 2.19.6 です。
公開されている日記自動生成システムは Version 2.19.5 です。

Powered by hns-2.19.6, HyperNikkiSystem Project