![[Programming] BASIC入門 ── 家庭用PCと“すぐ動く”言語の黄金時代](https://humanxai.info/images/uploads/programming-basic-history.webp)
BASICはどこから来たのか
1.1 ダートマスでの誕生(1964)
BASIC は 1964 年、米・ダートマス大学の John G. Kemeny と Thomas E. Kurtz によって、学部生でも対話的に扱える“教育向けの言語”として設計された。

ジョン・ジョージ・ケメニー - Wikipedia
(John George Kemeny,1926年5月31日 - 1992年12月26日)は、ハンガリー出身のユダヤ系アメリカ人で、数学者・計算機科学者で教育者であり、1964年にトーマス・E・カーツと共同でプログラミング言語BASICを開発したことでよく知られている
https://w.wiki/FQME
トーマス・E・カーツ - Wikipedia
(Thomas Eugene Kurtz、1928年2月22日 - 2024年11月12日)は、アメリカ合衆国の計算機科学者・数学者である。元ダートマス大学教授であり、同僚のジョン・ジョージ・ケメニーと共に[1]、プログラミング言語BASICや世界初の大規模タイムシェアリングシステムの一つであるDartmouth Time-Sharing System(DTSS)を開発した。
https://w.wiki/FQMR基盤は学内のタイムシェアリング OS DTSS(Dartmouth Time-Sharing System)。
1964 年 5 月 1 日の午前 4 時、キャンパスの College Hall 地下で Kemeny と学生プログラマが隣り合う端末で同時に RUN を叩き、正しい結果が返った瞬間をもって、BASIC と大規模タイムシェアリングが実用化に達したとされる。
後年、学外の学校にも端末を設置してリモート利用を拡大、大学発の“計算機の民主化”が始まった。 (ダートマス大学)

BASIC at 50
At 4 a.m. on May 1, 1964, in the basement of College Hall, Professor John Kemeny and a student programmer simultaneously typed RUN on neighboring terminals.
https://www.dartmouth.edu/basicfifty/basic.html?utm_source=chatgpt.comDTSS は当初 GE-235 と DATANET-30 を組み合わせ、テレタイプ端末を 110Hz でスキャンして入力を捌く構成だった(のちに GE-635/Mark II/III へと発展)。
DTSS は「多人数が同時に“対話的”に使える」ことを重視し、当時主流のバッチ処理とは思想がまったく異なっていた。
BASIC はこの DTSS 上で “コンパイルして即実行(compile-and-go)” を可能にし、誰でもすぐ動かして学べる体験を実現した。 (ウィキペディア)

Dartmouth Time-Sharing System - Wikipedia
The Dartmouth Time-Sharing System (DTSS) is a discontinued operating system first developed at Dartmouth College between 1963 and 1964
https://en.wikipedia.org/wiki/Dartmouth_Time-Sharing_System?utm_source=chatgpt.comさらにダートマスは 1970 年代半ばに Structured BASIC(SBASIC) も提示し、構造化の考え方を導入していく。BASIC の“易しさ”を保ちつつ、当時指摘されていたスパゲッティ化への処方を模索した動きだ。 (ウィキペディア)

Dartmouth BASIC - Wikipedia
Dartmouth BASIC is the original version of the BASIC programming language. It was designed by two professors at Dartmouth College, John G. Kemeny and Thomas E. Kurtz. With the underlying Dartmouth Time-Sharing System (DTSS), it offered an interactive programming environment to all undergraduates as well as the larger university community.
https://en.wikipedia.org/wiki/Dartmouth_BASIC?utm_source=chatgpt.com1.2 “Micro-Soft” へ受け継がれる(1975)
1975 年、MITS Altair 8800 の登場が“個人のためのコンピュータ”を現実のものにし、BASIC はその最初期から主役を務める。
Bill Gates と Paul Allen は Altair 向けの BASIC インタプリタを 8080 向けアセンブリで実装し、Micro-Soft 名義の最初の製品として商用化(配布は MITS)。のちに Microsoft BASIC という巨大な系譜へと広がっていく。 (ウィキペディア)
開発の裏側では、ハード実機が手元にない中で PDP-10 上のエミュレーションでデバッグを進め、Monte Davidoff が 浮動小数点演算ルーチンを実装して言語の実用度を押し上げたことが知られている。
最小構成の 4K BASIC はメモリに収めるため 文字列操作や一部の数学関数を省略し、上位の 8K BASIC で 文字列・より豊富な数値関数(乱数 RND など) を追加——この 8K 系が 80 年代ホームコンピュータ時代の各社 BASIC の雛形になった。 (ウィキペディア)

Altair BASIC - Wikipedia
説明なし
https://en.wikipedia.org/wiki/Altair_BASICBASIC の急速な普及は一方で“コピー文化”も生み、1976 年の「An Open Letter to Hobbyists」(Bill Gates)では無償複製への批判と、ソフトウェアに対価を払うという規範が明確に提示される。BASIC は技術だけでなく、ソフトウェア産業のルール形成にも直接影響を与えた。 (ウィキペディア)

An Open Letter to Hobbyists - Wikipedia
An Open Letter to Hobbyists is a 1976 open letter written by Bill Gates, the co-founder of Microsoft, to early personal computer hobbyists, in which Gates expresses dismay at the widespread duplication of software taking place in the hobbyist community, particularly with regard to his company's software.
https://en.wikipedia.org/wiki/An_Open_Letter_to_Hobbyists?utm_source=chatgpt.com1.3 なぜ BASIC だったのか(要点の再整理)
- 即時性:対話的・即実行(DTSS の設計と相性が良い)。 (ウィキペディア)
- 平易さ:英語風キーワードで、学部生でも入門しやすい。 (ウィキペディア)
- 配布のしやすさ:Altair BASIC を起点に、各社 8bit へポーティング可能な実装戦略。 (ウィキペディア)
- 社会的インパクト:リモート端末/学校連携、そしてソフトウェア商用モデルの確立へ。 (Dartmouth Teaching and Learning Services)
BASIC は 技術(DTSS)× 言語設計(易しさ)× 配布戦略(移植・商用) の交点で生まれ、教育とホビーを同時に押し広げた。
80年代の普及:家庭用PC × “すぐ動く”体験
2.1 ホームコンピュータとBASICの同梱
1980年代に入ると、**BASICは「標準装備」**として家庭用PCに組み込まれるようになった。
Apple II(1977)、TRS-80(1977)、Commodore PET(1977)など、初期のマイコンは ROM に BASIC を焼き込み、電源を入れるとすぐに READY プロンプトが現れる設計だった。これにより、ユーザーはマニュアルを開かなくても数行のプログラムを書いてすぐに動かせた。
特に Commodore 64(1982) は 2000 万台以上を売り上げた世界的ベストセラーで、搭載された Microsoft BASIC 2.0 がホビー層の“共通言語”となった。シンプルな命令体系と雑誌のコード掲載文化が相まって、BASIC は「誰でもすぐに始められる入口」として定着していく。
2.2 日本市場とMSX BASICの登場
日本では、NEC PC-8001(1979)、富士通 FM-7(1982)、シャープ MZ 系などが BASIC を標準搭載していた。そこへ 1983年に登場した MSX が大きな転機となる。
MSXは、ASCII(西和彦ら)と Microsoft が共同で策定した 「共通規格」 であり、ハードウェア仕様だけでなく MSX BASIC を標準として組み込むことを必須とした。
MSX BASIC は MBASIC 4.5 を基礎に、グラフィック (SCREEN, LINE) やサウンド (PLAY, SOUND) 命令 を拡張しており、ホビー層がゲーム制作や音楽実験を簡単に行えるようになっていた。
この「互換機どれを買っても BASIC が同じように動く」環境は、日本の家庭に “プログラミングは特別な人だけのものではない” という意識を広めた。学校教育や雑誌記事と連動し、子どもが自分で入力してゲームを動かす文化が全国に定着する。
2.3 “READY culture” と即時の手応え
電源を入れてすぐ READY が表示され、次の数行を書くだけでプログラムが動く。
10 FOR I = 1 TO 3
20 PRINT "HELLO"
30 NEXT I
RUN を叩くと画面が文字で埋まり、たった数秒で「自分で動かした」という成功体験が得られる。
この “READY culture” が示すのは、コンピュータを「消費する」ものから「創造する」ものに変える体験だった。BASIC は単なる言語ではなく、ユーザーを“作り手”へと変える装置だったのである。
BASICの“型”(典型的な作法と制約)
3.1 行番号とジャンプ構造
BASIC最大の特徴は、各行に番号を振り、その番号を基準に制御を飛ばすこと。
10 INPUT "WHAT IS YOUR NAME"; N$
20 PRINT "HELLO, "; N$
30 GOTO 10
-
編集方法:
LIST でプログラムを一覧表示、修正したい行番号を再入力して上書き。
削除は行番号だけを打つ。 -
制御の基本:
GOTO(無条件ジャンプ)、GOSUB/RETURN(サブルーチン呼び出し)で流れを組む。 -
問題点:
複雑になると「行番号の迷路」になり、可読性が急速に落ちる。
これが後に「スパゲッティコード」と呼ばれる原因になった。
補足:
1970年代末から 構造化BASIC の流れが出てきて IF…THEN…ELSE や WHILE…WEND が追加されるが、80年代前半の家庭用機ではまだ GOTO が主役だった。
3.2 Immediate Mode(即時実行)
BASICは「プログラムモード」と「即時実行モード」の2つを持つ。
- プログラムモード:行番号をつけて保存されるコードを書く。
- 即時実行モード:行番号なしで入力すると、その場で実行される。
例:
READY
PRINT 2+2
4
これは現代の REPL(Read-Eval-Print-Loop) の原型。初心者が一行ずつ試行錯誤できる設計は、PythonやLispの対話環境に直結している。
3.3 型と変数名の制約
-
型の簡素さ:
数値と文字列が基本。論理型はなく、条件式は「0=偽、非0=真」で代用。 -
変数名の短さ:
多くの処理系では 1~2文字(+オプションで1桁の数字)まで。A, B1, X$ のように使う。 -
暗黙の型:
- 末尾が $ → 文字列
- 末尾が % → 整数(実装による)
- 指定なし → 浮動小数点
-
配列: DIM A(10) のように定義、添字は0から始まる場合と1から始まる場合が混在(処理系依存)。
例:
10 A$="BASIC"
20 FOR I=1 TO LEN(A$)
30 PRINT MID$(A$,I,1)
40 NEXT I
3.4 入出力の素朴さ
-
コンソール I/O:
INPUT でユーザー入力、PRINT で画面出力。フォーマット指定は簡易的で、桁揃えや小数点指定は TAB や USING(拡張BASICのみ)。 -
データ保存:
SAVE / LOAD コマンドでカセットテープに記録。信号音を「ピーガー」と聞きながら待つのが定番体験。 -
外部I/O:
MSX BASICでは OPEN “COM:” FOR INPUT AS #1 のようにシリアルポートを操作できる機能も存在した。
3.5 制御構造の限界
-
条件分岐:
IF … THEN … は一行のみ、複文を書くには GOTO に頼る。 -
ループ:
FOR…NEXT と GOSUB 再帰風処理くらいが基本。 -
構造化不足:
モジュール性が弱く、処理が長くなるほど GOTO の網に絡まり「どこから来てどこへ戻るのか」が不明瞭になりがち。
例:入れ子の制御が深いとこうなる
100 IF A=0 THEN GOTO 200
110 IF B=0 THEN GOTO 300
120 IF C=0 THEN GOTO 400
→ 後の Pascal や C のような「構造化言語」が求められる理由でもあった。
3.6 まとめ
- 行番号とGOTO:シンプルさの代償にスパゲッティ化
- 即時実行モード:REPL的な学習体験を提供
- 型の簡素さ:暗黙規則に頼るが初心者には直感的
- 入出力:コンソール中心、テープ保存の原始体験
- 制御構造の限界:構造化不足が後継言語への橋渡しに
方言で見る80年代:MS-DOSとMSXの二大潮流
1 MS-DOS系:GW-BASIC → QBasic
GW-BASIC(1983〜)
-
由来:IBM PC では ROM 搭載の「BASICA」が基本だったが、IBM互換機には ROM-BIOS がない。そこで Microsoft が ROM依存を取り除いた GW-BASIC (Gee-Whiz BASIC) を提供した。
-
特徴:
- テキスト画面とシンプルなグラフィック機能 (PSET, LINE, CIRCLE)
- サウンドは SOUND 命令で周波数・長さを直接指定
- 編集は行番号必須、IDE的機能はなし
- 浮動小数点演算内蔵(Altair BASIC以来の強み)
-
保存:SAVE “PROG.BAS” で ASCII形式、SAVE “PROG”,A でトークン形式。
80年代半ば、MS-DOS マシンでプログラミング入門するときの「事実上の標準」だった。
QuickBASIC / QBasic(1985〜1991)
-
QuickBASIC (QB):
1985年に登場。統合エディタ+デバッガを備えた IDE 的環境。行番号不要で、SUB や FUNCTION を使った構造化が可能。 -
QBasic:
MS-DOS 5.0(1991)以降に同梱された QuickBASIC 4.5 のサブセット。
コンパイラはなくインタプリタ専用だが、教育向けには十分。 -
象徴的なサンプル:
GORILLAS.BAS(爆弾投げ対戦ゲーム)、NIBBLES.BAS(スネークゲーム)。
「打ち込まずに遊べる」BASICプログラムとして有名。
SUB HelloWorld
PRINT "Hello, QBasic!"
END SUB
GW-BASIC の「行番号とGOTO」文化から脱却し、構造化プログラミングの入口としての役割を担った。
2 MSX BASIC(1983〜)
規格と普及
- MSX規格(ASCIIの西和彦 + Microsoft)が策定した 8bit パソコン統一規格。
- 1983年から各社(ソニー、パナソニック、東芝など)が MSX機を発売。すべてに MSX BASIC を内蔵。
- ベースは Microsoft BASIC 4.5 だが、グラフィックとサウンド命令を大幅拡張。
グラフィック拡張
- SCREEN n:画面モードを変更(テキスト、グラフィック1〜2、スプライト対応など)。
- LINE / CIRCLE / PAINT:線・円・塗りつぶし。
- SPRITE 系命令でキャラクターアニメーション可能。
サウンド拡張
- SOUND:PSG(Programmable Sound Generator)に周波数・音量を直接指定。
- PLAY:楽譜を文字列で記述(例:PLAY “CDEFGAB”)。
- 子どもでもメロディを打ち込みやすく、ホビー作曲に広く使われた。
プログラム例(MSX BASIC風ゲームループ)
10 SCREEN 2: COLOR 15,1,1: CLS
20 CIRCLE (120,90),30,2
30 FOR I=1 TO 200: NEXT I
40 PAINT (120,90),4,2
50 GOTO 20
→ シンプルなコードで図形を動かしたり、色を変えたりできる。**「ゲームを自作できる」**感覚が強烈だった。
3 比較まとめ
項目 | GW-BASIC (MS-DOS) | QBasic (MS-DOS 5〜) | MSX BASIC (8bit) |
---|---|---|---|
編集方式 | 行番号必須、LISTで修正 | 行番号不要、IDE的 | 行番号必須、LISTで修正 |
構造化 | ほぼ不可、GOTO多用 | SUB/FUNCTION対応 | GOTO中心、一部 IF〜ELSE |
グラフィック | 2D描画は簡素 | より豊富、VGA対応 | スプライト、塗りつぶし、PSG音源 |
サウンド | SOUND のみ | 拡張命令あり | PLAY で楽譜入力可 |
対象 | ホビー/業務混在 | 教育用・構造化入門 | ゲーム作り・ホビー色が強い |
例題:HELLOを動かす
GW-BASIC(MS-DOS初期)
10 CLS
20 FOR I=1 TO 20
30 LOCATE I,10: PRINT "HELLO"
40 FOR T=1 TO 200: NEXT T
50 CLS
60 NEXT I
70 GOTO 10
- LOCATE でカーソル位置を指定。
- 行番号必須、繰り返しは FOR…NEXT。
- 無限ループは GOTO で戻す。
QBasic(MS-DOS 5.0〜)
CLS
DO
FOR i = 1 TO 20
LOCATE i, 10
PRINT "HELLO"
SLEEP 1
CLS
NEXT i
LOOP
- 行番号不要。
- DO…LOOP で無限ループを自然に書ける。
- SLEEP が待機に使えるので、わかりやすい。
MSX BASIC(1983〜)
10 SCREEN 0: COLOR 15,1,1: CLS
20 FOR I=1 TO 20
30 LOCATE 10,I: PRINT "HELLO"
40 FOR T=1 TO 200: NEXT T
50 CLS
60 NEXT I
70 GOTO 20
- SCREEN 0 は文字モード。
- LOCATE と PRINT の組み合わせで文字を動かす。
- QBasicのような構造化はまだ弱く、行番号+GOTOが基本。
書き比べのポイント
言語 | 書き方の特徴 | 当時の空気感 |
---|---|---|
GW-BASIC | 行番号だらけ、GOTO必須 | 80年代前半の「原始的だけどみんな使えた」 |
QBasic | 行番号なし、構造化可能 | 90年代初頭、教育向けに広まった |
MSX BASIC | グラフィック・音楽命令が豊富 | ゲーム作りに直結、日本の子供に直撃 |
MSX BASICの音楽機能:PLAY命令とPSGサウンド
PSG(Programmable Sound Generator)の仕組み
- MSX1/2 に搭載されていたのは AY-3-8910 互換PSG。
- 3音(メロディ)+1音(ノイズ) の計4チャンネルを同時に扱える。
- BASICから直接叩けるように SOUND と PLAY が用意されていた。
SOUND命令(低レベル制御)
- 書式:SOUND reg,value
- PSGのレジスタを直接操作。
- 例:SOUND 7,254 → チャンネル有効化設定。
- 子どもには難しかったが、マニアはこれで 効果音 を細かく作った。
PLAY命令(高レベル制御)
PLAY は 楽譜を文字列で書く感覚の命令。初心者にも扱いやすく、「ゲーム作り」に革命をもたらした。
基本構文
PLAY "CDEFGAB"
- ドレミファソラシを鳴らす。
- #(シャープ)、+(半音上)、-(半音下)を付けられる。
音長とテンポ
- L4 → 四分音符、L8 → 八分音符。
- T120 → テンポ120。
PLAY "T120 L8 CDEFGAB"
オクターブ
- O3〜O8 で指定。
- > → 1オクターブ上げ、< → 1オクターブ下げ。
PLAY "O4 CDE <C >C"
和音とマルチチャンネル
MSX BASIC の PLAY は 複数チャンネルを同時指定できる。 区切りは ; で、それぞれが PSG の別チャンネルに割り当てられる。
PLAY "T120O4CDEFGAB"; "T120O3C-----C-----"
→ 高音部でスケールを弾きながら、低音部でリズムを刻む。
実用例:簡単なメロディ
10 PLAY "T120 O4 L4 C E G C"
20 PLAY "O3 L8 G G C C"
- 上段でコード進行、下段でリズム。
- 実機では PSG の独特な「ピコピコ音」で鳴り響く。
子どもたちに与えたインパクト
- 楽譜がわからなくても耳コピで打ち込める → ゲーム音楽を真似する遊びが流行。
- 雑誌付録や同人誌に「この曲を再現しよう!」コードが載る。
- 音楽とプログラミングの融合体験が、後の DTM(Desktop Music)世代にもつながった。
雑誌文化と“写経” ── 学びの導線
プログラムリスト掲載文化
1980年代、日本や海外のパソコン雑誌は、誌面にBASICのソースコードをそのまま数ページに渡って掲載するのが定番だった。
- 『I/O』(日本、1976創刊)

I/O (雑誌) - Wikipedia
『I/O』(アイオー)は、日本初のマイコン専門雑誌(後のパソコン雑誌)である。1976年[1]10月に、同年の11月号として日本マイクロコンピュータ連盟(いわゆる日コン連とは別団体で無関係)から創刊された。後に工学社の発行となる。
https://ja.wikipedia.org/wiki/I/O_(%E9%9B%91%E8%AA%8C)- 『マイコンBASICマガジン』(1982〜1999、通称「ベーマガ」)

マイコンBASICマガジン - Wikipedia
『マイコンBASICマガジン』(マイコンベーシックマガジン)は、電波新聞社が1982年から2003年まで刊行していたホビーユーザー向けパーソナルコンピュータ(パソコン)関連雑誌。略称は「ベーマガ」。判型は当初B5、1990年4月号からA4変形。発売日は当初は毎月10日で、1986年2月号から毎月8日となった。
https://w.wiki/Dmak- 英国の『Your Computer』や米国の『Compute!』

Your Computer (British magazine) - Wikipedia
説明なし
https://en.wikipedia.org/wiki/Your_Computer_(British_magazine)といった雑誌が、ゲームやツール、音楽プログラムを掲載。
読者は コードを“写経”するしかなく、それが自然にデバッグ力・読解力・改造力を鍛えた。
典型的な誌面スタイル
- ページの上から下まで、10 から 9990 まで並んだソースコード。
- 注釈はほとんどなく、読者は「打ち込んで試す」ことでしか理解できなかった。
- 記事によっては「リスト入力チェックプログラム」まで付属していた。誤植が多かったため、入力検証ツールが雑誌や別冊に載ることもあった。
子どもたちの実体験
- 部屋に雑誌を広げて、ひたすらタイプ。1行抜けただけでエラーになる。
- 長いプログラムは 数時間かけて打ち込み → 動かずに挫折 → 翌月の「訂正記事」を待つ…なんてことも。
- 逆に「ちょっと変えてみたら色が変わった」「音程が変わった」→ 改造の楽しみを知る。
ベーマガ現象(日本)
『マイコンBASICマガジン』(1982〜)は、日本における“写経文化”の象徴。
- 読者投稿プログラムコーナーがあり、子どもや高校生のゲーム作品が掲載される。
- 採用されれば名前入りで全国デビュー。ゲーム開発者予備軍を大量に生んだ。
- 後にプロになった開発者(アスキー、ナムコ、スクウェアなど)も多数。
教育的意義と限界
良かった点
- タイプミスとバグ修正を通じて「手を動かす」練習が自然にできた。
- 長文を入力することでプログラムの全体像を“身体で覚える”経験が得られた。
課題
- 無駄に長いコードを写すのは根気試しでもあった。
- バグや誤植で動かないプログラムも少なくなく、初心者にはストレスになりやすかった。
- GOTO主体のリストは「悪い作法」もそのまま学んでしまう。
雑誌文化が残したもの
- 「作る体験は買う体験に勝る」──遊ぶだけでなく「作る側に回る」動機付けになった。
- コミュニティ感覚:雑誌に投稿し、名前が載ることが ネット以前の承認欲求を満たした。
- 雑誌が果たした役割は、現代で言えば GitHub や Qiita、コミュニティDiscord に近い。
“悪名”と“功績” ── BASICは何を遺したのか
悪名:スパゲッティコードの温床
-
行番号+GOTO依存
BASICは構造化が弱く、複雑になると 100 GOTO 500 → 500 GOTO 200 のような制御が乱立。プログラムが「どこから来てどこへ行くのか」分からなくなる。 -
可読性の欠如
変数名が A$ や X1 といった短いものに制限され、意味が見えにくい。 -
教育者からの批判
1970〜80年代にはコンピュータサイエンスの専門家から「悪い習慣を植え付ける言語」とされることも多かった。- 例:Dijkstra(構造化プログラミング提唱者)は「GOTO文は有害」と断言し、BASICに否定的だった。
功績:誰でも使える民主化の入口
-
低いハードル
電源ONですぐに READY。PRINT “HELLO” で出力できる。「最初の一歩」が圧倒的に容易だった。 -
教育現場での普及
アメリカでは1970年代後半、日本では1980年代に学校教育や塾で取り入れられ、子どもでもプログラミングを体験できた。 -
ホビーと創作文化
ゲーム、音楽、ツール──雑誌文化と相まって「作る遊び」が一般家庭にまで拡大。 -
産業への直結 BASICを最初に学んだ世代が、その後の ゲーム業界・ソフトウェア業界を牽引する人材へ育っていった。
- 日本の「ベーマガ出身クリエイター」や、アメリカのPCゲーム開発者が代表例。
二面性が残したもの
- 批判側:
「読みづらい、保守できない、科学教育には不適」 - 肯定側:
「入口としては最強、実際に動く喜びが技術者を生んだ」
現代の視点では、BASICは「美しいコードの教科書」にはなれなかったが、「動かしてみたい衝動を叶える最短ルート」としての価値があった。
現代的解釈
- いま私たちが Python の REPL や Scratch のブロックで「すぐ動く」を当たり前に享受できるのは、BASICの設計思想を継承しているから。
- BASICは「プログラミング教育の原点」だけでなく、“失敗してもすぐ直せる”文化を広げた。
- だからこそ、批判も功績も含めて 「入口の言語」としての遺産 が大きい。
BASICのタイムライン(1960s〜1990s)
年 | 出来事 | 詳細・背景 |
---|---|---|
1964 | Dartmouth BASIC誕生 | John G. Kemeny と Thomas E. Kurtz が設計。大学のタイムシェアリングシステム(DTSS)で稼働開始。誰でも使える教育用言語として構想された。 |
1975 | Altair BASIC登場 | MITS Altair 8800用に Bill Gates と Paul Allen が開発。Micro-Soft最初の製品。4K/8K版があり、後のMicrosoft BASIC系列の起点となった。 |
1976 | 「An Open Letter to Hobbyists」 | Bill Gatesがソフトウェアの無断コピーを批判。BASICが「商用ソフトウェア産業」を意識させる契機になった。 |
1977 | Apple II / TRS-80 / Commodore PET | いわゆる「1977年トリオ」。いずれもROMにBASICを搭載、電源ONですぐ READY 状態に。家庭用PCの入り口を広げた。 |
1982 | Commodore 64発売 | Microsoft BASIC 2.0を搭載、2000万台以上売れるベストセラーに。BASICが世界中のホビープログラマに普及。 |
1983 | MSX規格発表 | ASCIIとMicrosoftが主導。共通BASIC(MSX BASIC)を必須化。グラフィック・音楽命令を拡張し、日本の子ども世代に強烈な影響を与える。 |
1983 | GW-BASIC登場 | IBM互換PC向けに提供。ROM依存のない自己完結インタプリタ。MS-DOSの標準的なBASIC環境となった。 |
1985 | QuickBASIC発売 | 行番号不要、構造化対応の統合環境(IDE)。SUB / FUNCTION を備えたモダンなBASICへ進化。 |
1991 | QBasic同梱開始 | MS-DOS 5.0に付属。コンパイル不可の教育用BASIC。GORILLAS.BAS やNIBBLES.BAS で遊んだ人も多い。 |
1999 | マイコンBASICマガジン休刊 | 1980年代に盛り上がった“BASIC写経文化”の象徴的な雑誌が終刊。時代の一区切りとなった。 |
補足:流れを俯瞰すると…
- 1960年代:大学キャンパス発 → 教育用言語として誕生
- 1970年代:ホビーパソコンの黎明期 → Microsoft BASICが普及
- 1980年代:家庭用PCの標準装備 → 「READY文化」「写経文化」がピーク
- 1990年代:構造化・教育用への転換 → QBasic世代へ
- 2000年代以降:直接使われなくなるが、Pythonや教育用言語の設計思想に継承
BASICの“いまどき”な価値
BASICはもう使われていないのか?
確かに、2020年代の実務でBASICを新規に学ぶ必要はほぼない。 しかし「役割を終えた」わけではなく、“入口の言語”としての精神は現代に生き続けている。
- Python の REPL → »> print(“Hello”) ですぐ動く。
- Scratch や MakeCode → 子どもが積み木感覚で作れる。
- WebブラウザのConsole → console.log(“Hello”) で即体験。
これらの“即時実行”文化は、BASICが切り拓いた「READY文化」の直系の子孫だ。
BASICが与えた2つの遺産
-
「誰でも作れる」感覚
- プロでなくてもプログラムできるという思想。
- ゲームや音楽を「真似→改造」する遊びが、創造性の爆発を招いた。
-
「制約が育てる創意工夫」
- 数KBのメモリで工夫する体験。
- 行番号やGOTOに縛られつつも、そこから逃れるための工夫が新しい言語やスタイルを生んだ。
“悪習”すら教育資源になる
- スパゲッティコード、短すぎる変数名、GOTO地獄…。
- 今から見ると「悪習」だが、これを経験することで なぜ構造化やモジュール化が必要なのか が実感できた。
- つまり BASIC は、良い面だけでなく「反面教師」としても価値があった。
BASICを振り返る意味
今日、AIや自動生成ツールがコードを書く時代になりつつある。 それでも人間がプログラミングを学ぶ意味は、“動かした喜び”を知ることにある。
BASICの時代に子どもたちが画面に「HELLO」を出して歓声をあげたように、 今の子どもはPythonやScratchで同じ喜びを味わっている。
技術は変わっても、「初めて動かしたときの感動」は変わらない。
結び
BASICは、現代的な価値で言えば「プログラミングの民主化を最初に実現した言語」だ。 その功績と問題点はどちらも無視できない。
- 功績:誰でも始められる入口を作った
- 問題点:乱雑な作法を広めた
- 総括:それでもなお、次の時代を作る人材を育てた
BASICはもう現役ではない。けれど、「READY」のプロンプトが灯した火は、今も私たちの手元の端末に生きている。
💬 コメント