ノイマン型と呼ばれるコンピューターの構造(アーキテクチャー)が発表されたのは、なんと1945年。世界最初のコンピューターとして有名なENIAC(エニアック)の後継機、EDVACに関する報告書が最初らしい(ノイマン型 - Wikipedia)。コンピューターを人間に例えると、目や耳のように外からの受信する入力装置と、口のように外への発信する出力装置、脳に相当する判断装置と記憶装置を持つ。コンピューターに指示書(プログラム)を渡すと、それを忠実に実行しつづける。レシピに従って料理をつくるのと一緒で、シンプルで人間にも理解しやすい構造故に、70年経った今でも何も変わっていない。(圧倒的に速く小さく安く大容量省エネにはなってはいる)
BASIC言語も、現在メインで使われているJava言語やJavaScript言語やObjective-C言語なども、ノイマン型であり、基本的な部分は一緒。BASIC自体、"Beginner's All-purpose Symbolic Instruction Code(初心者向け汎用記号命令コード)"の頭文字であり、教育用として誕生している。一時期、BASICはよくない論を聞いた気もするが、ステップアップするための入門用プログラミング言語としては、シンプルに学ぶことができ、世代を超えて共感できることからベストだと思う。シンプルが故に苦労するほど、最近の言語に含まれるプログラミングを効率化するためのさまざまの機構を深く早く理解できる。
振り返ってみると私自身、BASIC言語との関わりは結構多く長い。最初に出会ったのは、友達が持っていたファミリーベーシックのハドソンとシャープと任天堂が共同開発したBASIC言語。親に買ってもらって手に入れたMSXに搭載されていたMSX-BASICは、小3から中3までの6年間使い続けた。高専入学時に強制購入だったシャープのポケコンPC-G805で動くBASIC言語を使って、ヘビゲームやグラフ表示、複素数計算機などを作った。卒業後PlayStaiton2で動くBASIC STUDIOでのゲームづくりに一時期はまり、任天堂DSで動くプチコンを思わず買ったりしてきた。(3DS用のプチコン3号が今年7月発表とのこと!レポート)
コンピューターが安くなったか故に実現できた、1500円のこどもパソコン"IchigoJam"によるBASIC。下記「こどもパソコン"IchigoJam"で使っているBASIC言語でつくるサイコロを解説」など、自分で0から創る楽しさ、コンピューターを使い倒す喜びが伝わる仕掛けを考えていきたい。
- サイコロ / キーを押すたびに1-6までの数値を表示する
20 PRINT RND(6)+1
30 GOTO 10
各行には順序を表す、行番号を付ける。
10行、もし(IF/イフ)、キー入力(INKEY())がなければ(=0)、10行へ行け(GOTO/ゴートゥー)・・・何かキーが押されるまで待つ
20行、0-5までの乱数(RND/ランダム)に1を足して、表示しろ(PRINT/プリント)・・・1-6を表示する
30行、10行へ行け(GOTO/ゴートゥー)
IchigoJamでつくろう、プログラミング入門
- 思い通りに光をあやつろう
- シューティングゲームをつくろう
- BASICリファレンス
- スペック
- 自分で組み立てるブレッドボード版
[追記] 5/1は50周年の記念日だったようです
「誕生から50年を迎えたプログラム言語BASICの歴史、その精神とは - GIGAZINE」