最近、7年モノのとあるWebサービスのアーキテクチャを次の10年戦えるようなそれにどう置き換えていくか、ということを考える仕事をしています。 その中でも、「既存のRuby on Railsで作られたWebアプリケーションを別のプログラミング言語・フレームワークで書き換えるとしたら何を使うか」という問は、さまざまなプログラミング言語の特性について改めて考える機会になりました。 本エントリでは、この過程で生まれたプログラミング言語の分類モデルについて紹介したいと思います。 提案モデル 結論から言うと、数あるプログラミング言語の特性を理解するためには、その言語が 静的型付けか、あるいは動的型付けか 言語レベルで並行計算モデルをサポートしているか という2つの観点で分類すると良いのではないだろうか、と考えています。 型システム 静的型付き言語と動的型付き言語のメリット・デメリットについては既に各所