BASIC
現在、新品で販売されているパソコン上で動くBASIC
1964年、米国ダートマス大学にて、数学者ジョン・ケメニー(1926年-1992年)とトーマス・カーツ(1928年 - )により、教育用などを目的としてダートマスBASICが開発された。これは同時期にともに開発された、タイムシェアリングシステムDTSS上のラインエディタ(テレタイプ端末環境)で利用されるよう設計されていた。
BASICは、GEとの提携を経て、学外にも普及した。ダートマス大学のオリジナルはコンパイラだったが、パソコンなどの商用版では基本機能を最小限にしたうえでインタプリタとして実装されることが多く、独自の発展を遂げた。
詳しく説明すると、もっとも初期に使用したのはゼネラル・エレクトリック(GE)であり、GEはGE-225というマシンをダートマス大学に納入していたのである。
処理プログラムの大きさや速度の制限を改善あるいは回避するテクニックを紹介する。いくつかは、ソースの読みやすさを犠牲にするようなテクニックでもあった。
プログラムの初めに全ての変数のデフォルトを整数だと宣言する(DEFINT A-Z)。これはきちんと%などを付けて整数変数として書いてあるプログラムでは意味がないし、小数演算があるプログラムなのにこれを書くとまともに動かなくなる。整数の範囲の演算しかしていないが、%を付けずに書かれているプログラムを後から改善する場合だけに意味のあるテクニック。
命令を省略形で書く(PRINT→?、LET A=B→A=B、REM→' など)
ただし、中間コードを採用している処理系では、?と入力してもPRINTに展開されるので、結果は変わらない。また、REMを'と書くのはかえってサイズが増える。
余白やコメントを入れない
NEXTの変数名を省略する(可能な処理系のみ)
一行に複数の文を詰め込んで(マルチステートメント)を使用して行の制限一杯に命令文を詰め込む
よく使う変数は早めに確保する(実行時に毎回変数領域の先頭から検索されるため)
よく呼び出すサブルーチンは先頭に配置する(同じような理由。なお、一度通過したGOTO/GOSUB命令のオペランドを内部で行番号からメモリアドレスに書き換える処理系ではあまり効果がない)
キャラクタコードをバイナリと見立て、バイナリに相当するデータを直接プログラムに記述する
ダートマスBASIC(1964年 - )
BASIC-PLUS(英語版)(1970年 - 。DECがPDP-11のタイムシェアリングシステムRSTS/E用に開発したものであり、1970年代から1980年代にかけて使われた)
Tiny BASIC (1976年 - 。黎明期のマイコン用など)
Apple 6K BASIC 別名Integer BASIC(英語版)(1976年 - 。スティーブ・ウォズニアックが独力でApple IやApple II用に開発したもの)
Level I BASIC(英語版)(1977年 - 。TRS-80向けBASIC)
Commodore BASIC(英語版) - コモドールPET 2001(1977年 - )に搭載されていたBASIC
以下、シャープのBASICは「コモドール系」と呼ぶことも可能ではある
S-BASIC - (1978年 -。シャープ MZ-80用BASIC。シャープ純正BASIC。MZ-80はCommodore PETの影響を受けておりBASICもPETに似ているが、それでもシャープが自力開発したもの。命令セットは互換性のため後継製品もそれに準拠して独自拡張した物となっている。 SP-5030 (1978年12月 -。MZ-80K, Cなど用BASIC。データレコーダ用のカセットテープで供給された)。「SP-5030」が言語の品番かカセットの品番かはやや曖昧。「MZ-80 SERIES BASIC解説」が付属した。 SB-5520 (MZ-80B用など)
BASIC-S25 (シャープMZ-2500)
現在新品で販売されている(子供向けの)ゲーム機のBASIC
プチコン4 (Nintendo Switch)
すでに新品販売されていないゲーム機のBASICは以下のとおり。
ファミリーベーシック (NS-HuBASIC)(ファミコン、任天堂・シャープ・ハドソン共同開発)
PCエンジンでべろBASIC(PCエンジン用開発ツール、徳間書店インターメディアが販売、ハドソン・日本電気ホームエレクトロニクス開発)
GAME BASIC for SEGASATURN (セガサターン、MSX-BASICライク)
BASIC STUDIO (PlayStation 2、アートディンク開発)
プチコン・プチコンmkII (SmileBasic)(ニンテンドーDSi/DSi LL・3DS・New 3DS、JOEDOWN・スマイルブーム・ロケットスタジオ共同開発) プチコン3号 (ニンテンドー3DS販売終了、Newニンテンドー3DSも2020年9月16日に販売終了)