Fortress

（フォートレス）は、高性能を目指して設計された実験的なプログラミング言語であった。米国国防高等研究計画局の高生産性計算機システムプロジェクトの資金援助を受けてサン・マイクロシステムズ研究所で作られた。設計者の一人にScheme、Common Lisp、Javaなどを手がけたガイ・スティール・ジュニアがいる。ただし、現在は開発が中止されている。

特徴
言語の名前「」は英語で「要塞」を意味する言葉であるが、これには「安全な 」という意味が込められている。安全な言語とは、例えば「現代のプログラミング言語に標準的に備わっている、抽象化の仕組みや型の安全性を保証する仕組みを備えた高性能の計算機言語」ということである。この言語はまた、暗黙の並列性や、 対応、に似た文法という特徴もある。この言語は  言語に似せて設計されたわけではない。文法が最も近い言語は 、、 である。基礎設計レベルで複数のスタイルシートの文法を持つように設計されている。ソースコードは  、 テキスト、あるいは、整形された画像として表示できる。これにより、数学記号やその他の記号をレンダリングされた出力でサポートし、読みやすさを向上させることができる。
Emacsベースのfortifyというツールは、ASCIIベースのFortressソースコードをLaTeXの出力に変換する。

 はまた、 に由来する高度な並列性と豊富に機能性の両方を兼ね備えている。例えば、forループは基本的に並列演算であり、環境によっては逐次的に実行されない場合がある。しかし、forループはライブラリー関数であり、プログラマーは組み込みの for ループを、他の好きな for ループで置き換えることができる。

歴史 
言語は「高生産性計算機システムプロジェクト」の三つの言語の中の一つであった。（残りの二つの言語は、IBM 社の  言語と、クレイ社の  言語である）サン・マイクロシステムズは  の将来性が不確実だとして、2006年11月にこのプロジェクトから離脱した。

2007年1月に  は「オープンソース・コミュニティーによるオープンソース・プロジェクト」に姿を変え、「サン以外の人たちが  のコードを書き、オープンソースの  インタプリタで実行するようになった」。 言語仕様の第 1.0 版は、2008年4月に公開された。仮想マシンをターゲットとした実装に準拠した仕様であった。

2012年7月には、減速期間の後、積極的な開発は終了すると発表された。既存の仮想機械上で  言語の型システムを使うのは複雑であるとのことである。

例：Hello world!
これは、Fortress Reference Card で紹介されている、典型的なHello worldプログラムのFortress版である。

component hello
export Executable
run() = println(“Hello, World!”)
end

export文はプログラムをexecutableにし、Fortressのすべての実行プログラムはrun()関数を実装しなければならない。コンパイルのためにプログラムを保存するファイルは、最初のcomponent文で指定したものと同じ名前でなければならない。画面に "Hello, World！" の文字を出力するのは、println()関数である。

脚注

関連項目
区分化大域アドレス空間
Chapel
X10 (プログラミング言語)

外部リンク

 （PDFファイル）
 （ガイ・スティール・ジュニアへのインタビュー）

 

 （PDFファイル）
 文書
 （CNET News.com、2007年12月1日）
 発表資料

プログラミング言語
並列コンピューティング
並行計算
FORTRAN
国防高等研究計画局