見出し画像

プログラミング言語 - FORTHとLOGO

Apple][を使いはじめた頃は、まず6KBASICを覚えて、次に10KBASIC、そして6502のアセンブラ(とはいえ処理系がなかったので使うのはミニアセンブラ)と進んだのですが、DISK][も持っていたことだし、他のプログラミング言語にも手を出そうといくつか使ってみた記憶があります。

FORTH

当時、注目されていたのはFORTHという言語です。この言語は一言でいうと「逆ポーランド記法」言語で、処理系がコンパクトで非力なCPUでもパフォーマンスが出るというのが特徴です。逆ポーランド記法はHPの電卓などでも使われていて、ここで覚えたおかげでHPの電卓を買ってしまうという事態に至りました(誰も使えないので、貸してくれと言われないのが良いところです)。

Forth

プログラミング言語Forthに魅せられて。

Apple ][ and FORTH

LISP

LISPインタプリタも比較的小規模なシステムでも動作するので、Apple][向けの処理系がありました。今でも細々と使われている言語ではあるのですが、適切な開発環境を使わないと括弧の数を数えるのは大変でした。ある意味コードとデータの区別がないので、アルゴリズムでコードを生成して実行するという他の言語では得られない体験が出来ました。ある程度まとまった処理を書くには、関数型言語では処理をキレイに分解する必要があって、処理の過程で発生する例外的な事象を扱うのが難しく、他の言語で前処理や後処理をしないと、なかなか使いにくいと思います。これを覚えて役に立ったのはemacsのマクロが書けるようになったことくらいです。

LISP

LOGO

Apple][のグラフィックを活かす言語としてLOGOが注目されました。売りはタートルグラフィックスで、尻尾にペンをつけた亀がペンを上げ下げ、取り替えながら線を書くという体の命令でグラフィックを扱います。言語としてはLISPの系列で、とっつきやすいのですが、やはり複雑な処理を書くには厳しいものがありました。今でもSTEM向けには人気があるみたいです。

LOGO

プログラミング言語「LOGO」のApple II向けソースコードが公開される

タートルグラフィックスに関しては、赤本にも手書きのDRAWサブルーチンの説明があり、もっと普及することが見込まれていたようですが、線なので表現できることに限りがあり、描画の都度、処理を計算する必要があります。ブロック転送などが使える「面」で処理するほうがパフォーマンスも良く、こちらが好まれて廃れたように思います(思い出しましたが初期のBASICには無かったPAINT命令が実に遅くて使えなかったですね)。


当時の環境では、いわゆるコンパイル言語であるFORTRANなどを使うのは難しく(高価でもありました)、APLやPL/Iなども調べてみましたが、紙面でいじるまでが精一杯でした。このような時代にPASCALが登場し、小規模なシステムでも動かすことが出来るTinyPASCALが注目されていたのですが、LanguageSysytemという拡張RAMカードと共にフルスペックPASCALであるUCSD-PASCALが発売されました。ここからはBASIC一辺倒だったパソコンの世界にも、いろいろなプログラミング言語が使える環境が整い、これに伴い、いわゆるDOSと呼ばれるOSというものが認知されていくことになりました。

17-LANGUAGES, CONT.

今更のApple II plus幻想


ヘッダ写真は、
https://i0.wp.com/www.apple2history.org/wp-content/uploads/2010/07/Apple-Logo-II-splash-screen.jpg
を使わせていただきました。

この記事が気に入ったらサポートをしてみませんか?