Forthとは?プログラミング言語を初心者にもわかりやすく解説

Forthとは

Forth(フォース)は、 1970年代にアメリカのコンピュータ技術者チャールズ・ムーア氏によって開発されたプログラミング言語です。 Forthという名称は4番目という意味の「FOuRTH」に由来しています。 FourthではなくForthになったのは、当時の開発環境でファイル名が5文字に制限されていたからだそうです。

チャールズ・ムーア氏は、1950年代の終わりごろから個人的にプログラミングシステムを開発していました。1970年に国立電波天文台(NRAO)に転職したことをきっかけに、天文台の機器を制御するためにシステムを改良したのがForthの始まりです。

最初にForthとして完成したのは1971年です。その際には、国立電波天文台(NRAO) の機器を制御するソフトウェアを作成する際にForthが利用されています。Forthは、 その後さらに10年以上かけて改善が重ねられています。

上記のような経緯もあり、Forthは現在でも天文や宇宙開発の分野で利用されています。また、Forthの元になったシステム自体が、チャールズ・ムーア氏の転職先の環境に合うように改変されてきており、Forthには異なるハードウェア環境への移植性や拡張性が高いという特徴があります。

Forthの特徴

Forthには、以下の特徴があります。

  • スタック指向
  • 後置記法
  • 手続き型・命令型
  • データ型の区別が無い
  • 言語仕様が小さくてシンプル
  • 記述や処理がコンパクト
  • 制御構造自体をプログラミングできて拡張性が高い

Forthは、スタック指向の言語です。スタックとは、データを後入れ先出しで保持・利用する手法のことです。例えば、Forthにおける引数の受け渡しでは後入れ先出しのスタックから引数を取り出し、演算結果もスタックへ帰されます。

Forthのコードは、被演算子の後に演算子を書く後置記法で記述します。例えば、1と2を足したい場合、1 + 2 ではなく、+ 1 2 でもなく、1 2 + と記述します。演算子の + を後ろに記述しているのが後置記法の特徴です。

Forthは、制御構造自体をプログラミングできて拡張性が高いため、何十年も利用されて時代とともに拡張していくようなハードウェアの制御にも対応できる言語です。そのため、天文分野や宇宙開発分野などで利用されることもあります。

Forthはこんな場面で使われている

Forthは、天文分野、宇宙開発分野、組み込みシステム、ロボット制御などで利用されています。

Forthを学ぶメリット

Forthは、プログラミング言語の中では独特なポジションにあり、決してメジャーな言語ではないかもしれません。しかし、一部では根強い人気があり、登場から約50年経過した現在でも現役で利用されているプログラミング言語です。

Forthは、何十年も利用されて時代とともに拡張していくようなハードウェアの制御にも対応できる言語です。数十年単位の長期間の運用や、ハードウェア環境の変動にも対応できる柔軟性を持っているのです。

Forthは、天文や宇宙開発などの分野で現在も利用されています。この方面に興味のあるなら、Forthを学ぶメリットはあるでしょう。