はじめに
Lesson
|
コンピューター
Tiny BASIC(はじめに)
はじめにソフトウェアー基礎コースTiny BASICこのページは,「ソフトウェアーの基礎をきっちりと勉強しよう」とコンセプトで作成します.教材は,1970年代のコンピューターのホビーストが熱中したTiny BASICです. 目次はじめにひとつひとつマシン語の動作は単純です.この単純なマシン語(CPUの命令)から,とても複雑な動作をする OS やプログラミング言語はつくられています.これは,とても興味深いことです.そのため,いつかは自分で OS やプログラミング言語を作成することを思い描く人はたくさんいます.あるいは,それを理解したいと思っている人もたくさんいるでしょう.ひとつひとつのマシン語の理解は簡単ですが,それから OS あるいはプログラミング言語の理解にはとても高いハードルが有ります.
30年以上も昔ですが,初めてパソコンに触れたときからずっと,私はその動作原理について,理解したいと考えていました.そこで,最も簡単そうなTiny BASICを勉強することにしました.その課程で分かったことを忘れないようにするために,この解説ページを書きます. このようなページがあることで,本当の意味でのコンピューターに興味をもつ人が増えることを願っています.コンピューターの仕組みを理解したい,というような欲求を持ち,それに向かい努力する人のための WEB ページを目指しています. 余談ですが,近頃の大学の理工科系では,コンピュータープログラムが全く書けない学生の割合がかなり高く,危惧すべき事態です.私が学生の頃に比べ,この割合は非常に高いと感じています.重箱の隅をつつくようなくだらない研究をしないで,学生にまっとうな基礎学力をつけさせて欲しいと感じています. Tiny BASICとは世界最初の 8 ビットのマイクロプロセッサー Intel 8008 は,1972年に発売されました.これは使いにくかったようで,実用的なという意味では Intel 8080 からです.これは 1974年に発売され,1975年には世界最初の PC である Altair 8800 が発売されます.Apple I は 1976年です.そのような時代,Tiny BASIC という,わずか 2 kByte の非常に小さいインタプリタが作られました.それを,8ビットのマイクロプロセッサーで実行することが,当時,流行しました.本当に小さいコンピューターでしたが,当時のハッカーは夢中になったようです.コンピューターを個人で所有するという夢が叶った瞬間です. BASIC (Beginner's All-purpose Symbolic Instruction code) は,1965年頃,アメリカのダートマス大学の J. Kemeny と T. Kurtz およびその指導下の学生グループによって,TSS 用に開発されました.その後,ミニコンにも搭載されるようになりました.この BASIC は,人間とコンピューターが対話しながら処理を進めることができます.もちろんプログラムもできますが,ひとつずつ命令をキーボードから入力し,処理を進めます.現在でも,そのような言語は多く Perl や Python などのインタプリタ言語は対話が可能です.一方,C言語などのコンパイラは,一度機械語に翻訳してから一気に処理を行います. 1970年代の中頃から,マイクロプロセッサーの普及しはじめます.これは安かったし,周辺回路も揃っていたので,コンピューターの自作が可能になりました.これを機に,個人で,コンピューターを作り,それでソフトウェアーを動作させることが流行します.最初に登場した実用的な高級言語が Tiny BASICです.Dr. Dobb's Journal (1976年1月号, 2月号)に,Dick Whipple と Jhon Arnold による Texas 版が公開されました.また,その年の Dr. Dobb's Journal の 5 月号では,Lichen Wang による Palo Alto 版の Tiny BASIC が公開されました.いずれも,2 – 3 [kByte] という小さなインタプリタです. 日本では,東大版と電大版の Tiny BASIC が有名です.前者は石田晴久著「マイクロコンピュータープログラミング入門」(近代科学社, 1978年),後者は安田寿明著「マイコンピューターをつかう」(講談社ブルーバックス, 1978年)に説明があります. さまざまな Tiny BASIC が開発されましたが,大雑把に言って以下のような特徴が有ります.
このように Tiny BASIC は単純です.そのため,プログラムのサイズは 2 – 3 [kByte]程度で収まります.その内容を理解できれば個人でコンピューター言語の作成ができます.それを目指して,このサイトではその製作過程を説明するつもりです.コンピューターの動作原理を理解するには,良い教材と考えています. ページ作成情報参考資料
更新履歴
|