プログラミング言語 BASICについて調べてみました。
BASIC (ベーシック) とは?プログラム?
BASICは元々は学習用のプログラミング言語でした。
BASIC(ベーシック)は手続き型プログラミング言語のひとつ。
名前は「beginner’s all-purpose symbolic instruction code」(「初心者向け汎用記号命令コード」を意味する)のバクロニムである。
1964年、米国ダートマス大学にて、数学者ジョン・ケメニー(1926年-1992年)とトーマス・カーツ(1928年-)により、教育用などを目的としてダートマスBASICが開発された。これは同時期にともに開発された、タイムシェアリングシステムDTSS上のラインエディタ(テレタイプ端末環境)で利用されるよう設計されていた。
BAISCの特徴
BASICの特徴をまとめてみました。
- 歴史的な経緯から、FORTRANやパソコンではC言語と比較されることが多い。
- 高水準言語である。
- (ダートマスBASICはコンパイルしているが)インタプリタとして実装された処理系が多い。
- 編集環境を兼ねた一種のシェルのようなコマンドラインインタプリタを持つものも多いが、LISPのread-eval-print loop(英語版)(REPL)のように洗練されたものではない。
- 古いBASICではすべての行頭に行番号を必要とし、GOTO文などの飛び先は行番号で指定する。行番号は、テレタイプ端末時代に処理系と一体の行指向テキストエディタで扱うのに便利であった。現在でも互換性のために両者を残している処理系もある。
- 本来は、RUNなどのように、プログラム外から処理系に指示を与えるものはコマンド(命令)、FORなどのようにプログラム中のものはステートメント(文)、と、本来は(ダートマスBASICでは)明確な区別があったが、次第に混同されていった。
- プログラム中の予約語(キーワード)には文の他に関数がある。それらと同じ名前を変数に使うことはできない(Tiny BASIC等では変数は一文字といったものも多い)。
- 文字列変数の内容等を除いて、大文字と小文字を区別しない。入力の時点で全て大文字に変換される処理系もあった。
- 算術演算子以外の記号は極力使わない。論理演算子はAND、OR、XOR、NOTである。括弧は演算の優先順位も、関数の引数も、配列もすべて「()」のみを用いる。ブロックも「{}」のような括弧ではなく「FOR文からNEXT文までの間」といった構文により指定する。
- 代入と比較はどちらも「=」である。代入はLET文とするのが本来の形だが(文は全てキーワードから始まる、という規則により)、「A = 1」のような、キーワード「LET」を省略した代入の構文が好まれた。
- ファーストクラスの型は数値型と文字列型である。数値は浮動小数点数だけのものもあるが、整数型などがあるものもある。文字列型の変数名は末尾に「$」を付ける、といった規則のものもある。
- LEFT$, MID$, RIGHT$など、文字列操作関数が豊富なことが多い。
- 明示的な変数宣言を必要とせず、変数を使用し始めたところで宣言したものと解釈される。
- 使ったことのない変数を使うと勝手に変数が作られ、また中身は自動的に初期化される(数値型は0、文字列型は空文字列)。
- プログラムは先頭行から実行される。
BASIC言語一覧、種類、インタープリタ、コンパイラ
BASICは、8ビットパソコンの普及と共に広く普及しました。
ダートマス大学のオリジナルはコンパイラでしたが、パソコンなどの商用版では基本機能を最小限にしたうえでインタプリタとして実装されることが多く、独自の発展を遂げました。
主なBASICは、以下の通りです。
- Visual Basic – マイクロソフト
- Visual Basic for Applications (VBA)
- Visual Basic.NET
- Small Basic – マイクロソフト
- 99Basic (Windows用フリーウェア 国産)
- ActiveBasic (Windows用フリーウェア 国産)
- BASIC/98 (Windows用 国産 N88-BASIC互換) – 有限会社電脳組
- Xojo(英語版)(旧:REALbasic)(Windows・Mac OS・Linux)
- Jabaco(英語版)
- XBLite
- Android-Basic (Android用)
- FreeBASIC(QuickBASIC互換、GPL)(Windows・Linux・DOSエクステンダ・Xbox)
- QB64(英語版)(QuickBASIC互換)
日本ではNECのPC-9800シリーズにN88BASICが搭載され、標準プログラミング言語として使用されていました。
Windows用のBASIC
Windows用のBASICとしては、Visual Basic/ Visual Basic .NETが最も有名です。
Microsoft Visual Basic (マイクロソフト ヴィジュアル ベーシック)はマイクロソフトが1990年代に開発していたプログラミング言語およびその処理系。通常はVisual BasicまたはVBと呼ぶ。Visual Studioに組み込まれ、さまざまな種類のアプリケーション開発に用いられる。
Visual Basic .NET (ヴィジュアル ベーシック ドットネット)はマイクロソフトが開発したプログラミング言語およびその処理系。VB.NETと略されて呼ばれることが多い。.NETに対応していない旧来のMicrosoft Visual Basic(バージョン6.0まで、VB6)の後継である。
なおVisual Studio 2005以降では、「Visual Basic .NET」や「VB.NET」という呼称ではなく、従来のように「Visual Basic」という呼称が用いられるようになっているが、6.0以前との互換性はなく、また.NETベースであることには変わりない。
Visual BasicはBasicの名前を持つものの、独自の進化を遂げたマイクロソフトのWindows向けのプログラミング言語といってよいでしょう。
Android用のBASIC
Androd用BASICとして、BASIC! (別名rfo-basic ) があります。
BASIC!の開発は現在も継続中で、公式フォーラムでは盛んに投稿、議論が行われています。
日本のファンサイトは以下の通りです。
iPhone/iPad用のBASIC
iPhone/iPad用のBASICとしては、以下があります。
BASIC 初心者のための入門サイト、基礎
BASICを初心者が学ぶための入門サイトはいくつかあります。
以下にまとめました。
Visual Basic入門講座
BASIC基礎
BASICのダウンロード
代表的なBASICのダウンロードサイトをまとめました。
Visual StudioのVisual Basic
マイクロソフトのVisual Basicは、Visual Studioに含まれています。
Visual Studio Community Editionは、フリー版です。
十進BASICのホームページ
十進BASICは,コンピュータを計算の道具として用いることを目的とするプログラミング言語です。
国際規格のJIS Full BASICに準拠し,方言性を排除した初心者にやさしいBASIC言語です。
構造化プログラミングに対応しているので,アルゴリズムをわかりやすく記述できます。
構造化例外状態処理や,再帰処理が可能な関数定義,副プログラムに対応します。
グラフィックスもFull BASIC規格準拠です。図形変形可能な絵定義が使えます。
独自の拡張として複素数や多桁の有理数の計算を行うモードなどもあります。
コメント