エピローグ 思考に与えるForthの効果

Forthはタオ(○○道)のようなものです。それは道であり、それに従うと実現されます。 その脆弱性はその強さです。 その単純さはその方向性です(マイケル・ハムはマウンテンビュー・プレスのコンテストで25単語以下でForthを説明するコンテストでエントリーを獲得しました(訳注:もちろん英語での話))。

Forthの哲学の一部を抽出するために、私はいくつかのForthユーザに次のように質問しました。「あなたは他の分野でForth流の原則を適用しているのを見た事がありますか?」

以下にいくつかの回答があります。

マーク・ バーンスタイン は、マサチューセッツ州ケンブリッジにあるイーストゲート・システムズ社の社長であり、ハーバード大学の化学科で博士号を取得しています。

私はレーザー化学の仕事をしている時に最初にForthに会いました。 私は新しいレーザー分光計用にかなり複雑なコントローラーを構築しようとしていました。 当初の計画では、電子機器でいっぱいの大きな緑色の箱、「ザ・インターフェイス」が必要でした。 これまでこの手の機器を製作したことのある人はいません(だからこそ私たちが製作していた訳ですが)。そして私たちがコンピュータに扱わせたいもののリストは2、3週間ごとに変わりました。

数ヵ月後、私は何百ページものアセンブリ言語ルーチン、3つの大きな回路基板(ICでいっぱい)、そして70個の奇数ピンのシステムバスを手にしていました。日々、すべてがより壊れやすくなり、修正が難しくなりました。 回路基板上の配線が擦り切れ、コネクタが外れ、アセンブラコードがさらに絡み合って成長しました。

Forthは、複雑で急速に変化するプログラムを構築し維持するための適切な環境を提供していたため、ソフトウェアの問題に対する明白な解決策でした。 しかし、優れたForthプログラミングの本質は、手続きを便利で自立したワードに分解することです。 Forthのワードというアイディアは、実験室のハードウェア設計に予期せぬ影響がありました。

大きくてモノリシックな万能のインターフェースを構築する代わりに、私は自分自身が、標準入力と標準出力の固定されたセットを持ち、それらが1つの機能を実行していて、あまり手間をかけずに互いに接続するように設計されており、それらはラベルを見るだけでボックスが何をしたのかを判断できるほど単純でした。

「人間スケール」の考え方は、今日のソフトウェア設計における重要な概念です。 これはForthの開発に限りません。UNIXの最大の喜びは、少なくともその若さにおいて、それを(Cで書かれているので)読んで理解し、(それが小さいので)理解し、それを変更する(それが単純であったので)ことができたことです。 Forthはこれらの長所を共有していますが、異なる種類の問題に取り組むことを意図しています。

Forthは小さく、そしてForthはユーザに自分のマシンを制御させるので、Forthは人間に自分のアプリケーションを制御させます。 科学者がパッケージ化されたソフトウェアで「20の質問」をしているラボのコンピュータの前に座るのを期待するのは愚かなことです。 Forthは、正しく使用されると、コンピュータから科学者に指示させるようにするのではなく、科学者からコンピュータに指示するようにさせることができます。

野球では、打者はバットを自分自身の延長として感じると考えられているのと同じ意味で、Forthは人間スケールであり、コンピュータの成果とその失敗も自分のものであると納得させるのに役立ちます。

レイモンド・E・ディシー は、バージニア州ブラックスバーグにあるバージニア工科大学の化学教授です。

C言語の性質と構造を理解しようとしたとき、私は自分がForthの機構とアプローチについて知っていた知識を利用していることに気づきました。 これは私がCを記述している入り組んだ、または高い霧係数の節を理解することを可能にしました。

私は、Forthのアプローチが、他の言語やオペレーティングシステムの概念に対する理解と教育の枠組みを構築するための理想的なプラットフォームであることを発見しました。

ジェリー・ボウテール は、カリフォルニア州サンタクルーズにあるノーチラス・システムズの所有者で、ノーチラス・クロスコンパイラを販売しています。

Forthは私の考えをいろいろに変えました。 私はForthを学んで以来、アセンブラ、BASIC、FORTRANを含む他の言語でコーディングしてきました。 私は、単語を作成しそれらを一緒にグループ化するという意味で、Forthで行うのと同じ種類の分解を使用したことを発見しました。 例えば、文字列を扱う際には、 CMOVE-TRAILINGFILL などに似たサブルーチンを定義します。

もっと基本的に、Forthは私の信念をその単純さで再確認させました。 ほとんどの人は出かけて複雑なツールで問題を攻撃します。 しかし、もっと簡単なツールが利用可能で、もっと便利です。

私は私の人生のあらゆる面を単純化しようとしています。 中国の哲学者、老子の「老子道徳経」から私が好む引用があります。曰く「知識を得るために、毎日物事を追加します。知恵を得るために、毎日物事を取り除いてください。」