BASICとは、プログラミング言語のひとつである。
Beginner's All-purpose Symbolic Instruction Codeの略である。
直訳すると「初心者用多目的記号命令コード」 。
かつて一世を風靡したが、今となっては立派なおっさんホイホイでもある。
若年層に分かりやすく説明すると、「高校の数学Bの教科書に載っているあの言語」。
元をたどると1960年代に、ダートマス大学の大型コンピュータのタイムシェアリングシステムで、教育目的に使うためのプログラミング言語として、(数学者、教育者でもある)ジョン・G・ケメニーとトーマス・E・カーツが考案、実装したものである。Nスペの「新電子立国」でビル・ゲイツだけがBASICに関連して言及されたためにゲイツがBASICを作った、とか誤解してる奴がいるが、とりあえず「それ間違いだから」と言っておけ。
1970年代のいわゆるマイコンは、機械語で直接プログラミングするか、少なくともアセンブリ言語を使うかしなければ、当初は使いようがないシロモノであった。そこで非常に簡素化した仕様のBASIC(Tiny BASIC等と呼ばれた)を実装して、トレックゲームなどをそのBASICで実装する、といったことがおこなわれた。
最初の大量生産・販売がされたマイコンキットとされるアルテア用BASICを商品化したのがビル・ゲイツであり、それがMicrosoftのいしずえである。
80年前後に登場した初期のパソコン(まだマイコンと呼ばれていた)では、簡易的なOS的環境を兼ねたBASICインタプリタ(スタンドアロンBASIC等と呼ばれる)を標準でROMで搭載(ROM BASICという)しており、電源を入れるとまずBASICが起動する(※)。MS-DOSが標準環境となったPC-9801シリーズでも、MS-DOSを読み込ませず本体だけを起動するとROM BASIC(N88-BASIC(86))が起動した。
これらの事例からも分かるように、この時代においてはBASICはマイコン用プログラミング言語の代表とも言える存在であった。
しかし、マイコン用BASICは、ケメニーらが改良を進めて追加した機能などを持たないことも多く、そのような「ストリートBASIC」の実装でもって、BASICを評価しないでほしい、と主張したりもしていた。
70年代後半から80年代前半において、マイコンを使うこととはBASICを使うこととほぼ同義であった。元々はビジネス用途であったが、やがてゲームプログラミングにも使われるようになった。
低価格ホビーパソコンの投入による市場の拡大や、「マイコンBASICマガジン」他のパソコンゲームプログラム誌が登場した事によってアマチュアプログラマがBASICを使って自作のゲームを制作して雑誌に投稿したりすることがブームになっていた。
あのファミリーコンピュータにもBASIC(ファミリーベーシック)が発売されていたという事実から、当時のBASIC人気の高さが窺い知れよう。
「実務()では使われない言語」などとしたり顔で言う奴もいるが、ウザい時は「チューリング等価!」と呪文を唱えてみよう。
標準規格としては「基本BASIC」と呼ばれる、ANSI X3.60-1978(JIS C 6207-1982)がまず制定されたが、これは最大公約数的に最小限の共通部分を定めたものだった。のちに、構造化や局所変数の使えるサブルーチンの定義などの機能を持つ「Full BASIC」と呼ばれるANSI X3.113-1987(JIS X 3003-1993)に置き換えられた。
今日における実装としては、Visual Basicをはじめ、フリーソフトや商品がいくつかある。
※SHARPのMZシリーズやX1シリーズのように、テープなどのメディアからBASICを読み込まないと起動しない機種もあったが、この仕様を利用して サードパーティから独自仕様のBASICも発売されていた。ハドソンのMZシリーズ向け独自仕様BASICであったHu-BASICは、後にX1シリーズ に標準採用されるに至った。
しかし1990年代になってパソコン自体が16ビット、32ビットCPU搭載など高性能化することで、より高度で効率的な処理を求めるようになると、Unixで主に使用されたC言語が一般的になり始める。
そしてオブジェクト指向プログラミングへと移行すると、C++、Java、C#がメインとなった。
Windowsにおいては初心者がWindowsアプリケーションを開発できるように作られたVisual Basicが生き残ったが、従来のBASICはスクリプティング言語などの台頭もあって衰退している。
BASICに関するコミュニティはまだありません。
掲示板
急上昇ワード改
最終更新:2024/11/01(金) 09:00
最終更新:2024/11/01(金) 09:00
ウォッチリストに追加しました!
すでにウォッチリストに
入っています。
追加に失敗しました。
ほめた!
ほめるを取消しました。
ほめるに失敗しました。
ほめるの取消しに失敗しました。