Mesa
Mesa言語は、1974年に米国カリフォルニア州パロアルトのゼロックス・パロアルト研究所(PARC)で開発されたプログラミング言語である。
MesaはALGOL風の言語で、モジュール化プログラミングを強力にサポートする。すべてのライブラリモジュールは、少なくとも2つのソースファイルを持っており、ライブラリのインターフェースを指定する定義ファイルと、インターフェースないのプロシージャの実装を指定する1つ以上のプログラムファイルからなる。ライブラリを使用するためには、プログラムまたは上位レベルのライブラリが定義を「インポート」しなければならない。Mesaコンパイラは、インポートされたエンティティの全ての使用で静的な型チェックをする。
Mesaは,言語設計と実装において、特にソフトウェア例外処理、スレッド同期化、インクリメンタルコンパイルなど、他にもいくつかの革新的な技術を導入した。
Mesaは,グラフィカルユーザインターフェース(GUI)を備えた最初のパーソナルコンピューターの一つであるXerox Alto上で開発された。なお、Altoのシステムソフトウェアは主にBCPLで書かれていた。Mesaは、後のXerox Starワークステーションや、GlobalViewデスクトップ環境のシステムプログラミングであった。Xerox PARCは後に、Cedarを開発したが、これはMesaの拡張仕様であった。
MesaとCedarは、Modura-2やJavaなどの重要な言語の設計に大きな影響を与え、GUIの基礎やネットワーク環境など、Xeroxがコンピューターサイエンス分野で貢献した分野の発展と普及のために重要な手段となった。
Mesaはスタックマシン言語にコンパイルされ、これまでで最高のコード密度を達成したと言われていた(高レベルの言語ステートメントあたり約4バイト)。これは1981年に発表された論文で、Xerox Systems Development Department (当時はPARCの開発部門)の実装者が命令セットをチューニングし、その結果として得られたコード密度に関する論文を発表したことで知られている。
Mesaは、当時ゼロックスが持っていた幅広い技術を学ぶ Mesaプログラミングコースを通じて教えられ、プログラマーが「ハック」と呼ばれる有用なプログラムを書いて終わった。このようなハックの実装例としては、1988年に書かれたBWSMagnifierがある。これは、ワークステーションの画面の一部を、サイズ変更可能なウィンドウと変更可能な拡大率で定義された通りに拡大できるようにしたものである。ゼロックスで訓練を受けたMesaプログラマーは、GUI、ネットワーキング、例外、およびマルチスレッドプログラミングの基礎に精通した。
ゼロックス社内では、Mesaは最終的にCedarプログラミング言語に取って代わられた。多くのMesaプログラマーや開発者が1985年にゼロックスを退職した。中にはDECシステムズリサーチセンターでMesaでの経験を活かして Modula-2+や、後のModula-3の設計に携わったものもいる。