日本語版
最新ニュース
科学&テクノロジー

BASIC に戻る—コンピュータの歴史において最も重要なプログラミング言語

この奇妙な技術に目覚めたばかりの人にとって、BASIC はまさに魔術のようでした。呪文を唱えるようなものです。言葉を発すると鉄やシリコンに命が吹き込まれ、何かをさせるのです。(ソフトウェア エンジニアの Erin Spiceland が言うように、コーディングとは「岩に考えるように指示すること」です。) 私のようにトールキンやその他の華麗なハイ ファンタジー小説に浸っていた人にとっては、日常言語が現実に影響を与えるという考えに深いロマンを感じました。 話しかけて、友よ、入ってください。BASIC は、いじくり回すことも奨励しました。当時としては珍しく、BASIC は「解釈型」言語でした。以前の多くの言語では、コードを書きましたが、それを実行する前に、1 と 0 の小さなパッケージに「コンパイル」する必要がありました。これは、書いて、コンパイルして、実行するという、手間のかかる作業でした。それとは対照的に、BASIC では、マシンは即座に反応しました。数行書いて、RUN を押すと、マシンがそれをその場で解釈しました。これにより、コーディングは機械との会話に変わりました。プログラミングは、声に出して考えるようなものでした。たとえば、チャットボットに取り組んでいるときは、パーサーに数行入力し、実行ボタンを押してパフォーマンスを確認します。さらに数行追加し、何が機能し、何が機能しないかを観察し、再度実行します。この機械とのやり取りにより、コーディングのプロセス全体がそれほど難しくなくなりました。非常に重要な設計をしているというより、単に いじり世界で最も人気のある言語の多く (JavaScript や Python など) も、現在ではオンザフライで解釈されます。しかし、BASIC は最初の言語の 1 つでした。BASIC は、世界初の大規模なオープンソース文化も生み出しました。人々はコードを自由に共有しました。友人がクールなブラックジャック ゲームを書いたら、中世の修道院の書記のように、みんなで手作業でコピーし、自分たちで実行しました。Compute 誌は、毎月、愛好家から郵送された大量の BASIC を印刷しました。私はある日の午後、ある号で見つけた Conway の「Game of Life」の何百行ものコードを苦労して入力し、人工生物が画面上で開花するのを魅了されて見ていました。プログラマーの世界には、コードは主に他のプログラマーが読むために書かれ、マシンが実行するためのものは二次的なものにすぎないという格言があります。BASIC はこれを大規模に証明しました。しかし、 実用的な言語ですか? 出荷可能なソフトウェアを作成するためのものですか?BASIC は常に優れているわけではありませんでした。たとえば、グラフィックスは遅すぎました。スペース…

BASIC に戻る—コンピュータの歴史において最も重要なプログラミング言語

1722339985
2024-07-29 10:30:00

この奇妙な技術に目覚めたばかりの人にとって、BASIC はまさに魔術のようでした。呪文を唱えるようなものです。言葉を発すると鉄やシリコンに命が吹き込まれ、何かをさせるのです。(ソフトウェア エンジニアの Erin Spiceland が言うように、コーディングとは「岩に考えるように指示すること」です。) 私のようにトールキンやその他の華麗なハイ ファンタジー小説に浸っていた人にとっては、日常言語が現実に影響を与えるという考えに深いロマンを感じました。 話しかけて、友よ、入ってください。

BASIC は、いじくり回すことも奨励しました。当時としては珍しく、BASIC は「解釈型」言語でした。以前の多くの言語では、コードを書きましたが、それを実行する前に、1 と 0 の小さなパッケージに「コンパイル」する必要がありました。これは、書いて、コンパイルして、実行するという、手間のかかる作業でした。それとは対照的に、BASIC では、マシンは即座に反応しました。数行書いて、RUN を押すと、マシンがそれをその場で解釈しました。

これにより、コーディングは機械との会話に変わりました。プログラミングは、声に出して考えるようなものでした。たとえば、チャットボットに取り組んでいるときは、パーサーに数行入力し、実行ボタンを押してパフォーマンスを確認します。さらに数行追加し、何が機能し、何が機能しないかを観察し、再度実行します。この機械とのやり取りにより、コーディングのプロセス全体がそれほど難しくなくなりました。非常に重要な設計をしているというより、単に いじり世界で最も人気のある言語の多く (JavaScript や Python など) も、現在ではオンザフライで解釈されます。しかし、BASIC は最初の言語の 1 つでした。

BASIC は、世界初の大規模なオープンソース文化も生み出しました。人々はコードを自由に共有しました。友人がクールなブラックジャック ゲームを書いたら、中世の修道院の書記のように、みんなで手作業でコピーし、自分たちで実行しました。Compute 誌は、毎月、愛好家から郵送された大量の BASIC を印刷しました。私はある日の午後、ある号で見つけた Conway の「Game of Life」の何百行ものコードを苦労して入力し、人工生物が画面上で開花するのを魅了されて見ていました。

プログラマーの世界には、コードは主に他のプログラマーが読むために書かれ、マシンが実行するためのものは二次的なものにすぎないという格言があります。BASIC はこれを大規模に証明しました。

しかし、 実用的な言語ですか? 出荷可能なソフトウェアを作成するためのものですか?

BASIC は常に優れているわけではありませんでした。

たとえば、グラフィックスは遅すぎました。スペース シューティング ゲームを作ろうとしましたが、プレイできないほど遅くなりました。これが、多くの BASIC ゲーム メーカーがテキスト アドベンチャーに注力した理由の 1 つです。少なくとも、言葉は高速にレンダリングされます。1970 年代後半から 1980 年代にかけて、テキスト ベースのダンジョン クローラーが爆発的に増加したのは、部分的には BASIC に組み込まれた制限によるものでした。

BASIC には、本当に考えの浅い要素もいくつかありました。悪名高いのは、無知なコマンド GOTO (「go to」と読む) が含まれていたことです。これにより、あちこち飛び回るコードを書くことができました。たとえば、プログラムが 120 行目に到達したら、コンピューターに突然 25 行目に GOTO するように指示できます。

初心者のプログラマーにとって、これは書きやすい方法でした。しかし、複雑な「スパゲッティ」構造を助長し、ロジックがあちこちに飛び散ってジグザグになりました。数百行、数千行に及ぶ長めのプログラムを書き、数十の GOTO ステートメントを使用した場合、コードは自分でも理解できない謎の迷路になります。コンピューター科学者のエドガー・ダイクストラは、このスタイルをひどく嫌悪し、それを激しく非難するエッセイ「有害と考えられる Go To ステートメント」を書きました。後に彼が書いたように、BASIC でプログラミングを学んだ人は誰でも「再生の望みがないほど精神的に傷つけられる」でしょう。

ダイクストラは誇張していた。しかし、完全に間違っていたわけではない。全盛期を過ぎると、BASIC の人気は急落した。よりクリーンで現代的な書き方を奨励し、より高速に動作する新しい言語が登場した。BASIC は、Microsoft Visual Basic の世界で、現在も生き続けている。それ自体は近代化され、GOTO は (ほぼ) 排除されている。これは、多くの非プログラマが社内用のアプリを間に合わせで作成するために使用してきたものだ。しかし、今日では、プロの開発者のうち BASIC を使用していると認める人はわずか 4 パーセントだ。25 年ぶりに 2010 年代にプログラミングを再開した私は、代わりに Python や JavaScript などの新しい言語に目を向けた。

しかし、ときどき、私は Commodore PET のエミュレーターを探し出します。40 年以上前に最初に書いた元のプログラムを入力して、[実行]を押します。

まだ魔法のような気がします。

#BASIC #に戻るコンピュータの歴史において最も重要なプログラミング言語

執筆者について: nipponese

Nipponese News編集部は、国内外のニュースを日本語で分かりやすくお届けします。