言語設計について私が行った議論によると、多くの人が「1 つの真の言語」は存在せず、今後も存在しないと主張しているようです。これらの人々によると、別の方法は、いくつかの言語に精通し、仕事に適したツールを選択することです。 これは、非常に狭く明確に定義されたインターフェースを介してプロジェクトの残りの部分とやり取りするだけでよいプロジェクト全体または大規模なサブプロジェクトのレベルで完全に理にかなっています。
一方で、多くの小さなサブ問題をエレガントに解決しようとすると、多くの異なる言語を使用することは非常に厄介なことのように思えます。言い換えれば、IMHO、すべてに適した汎用言語は依然として重要です。些細な例として、次のことを行う必要があるとしましょう。
- ファイルから任意の形式で一連のデータを読み取ります。エラーなどがないかチェックしてください (Perl などで行うのが最適です)。
- このデータを行列にロードし、一連のハードコアな行列演算を実行します (Matlab などで行うのが最適です)。
- その上で、高速でスペース効率の高いカスタムの計算集約型ルーチンを実行します (C または C++ で実行するのが最適です)。
これはかなり単純なプロジェクトであり、計算量の多いカスタム マトリックス処理ルーチンを作成することを除けば、どの言語を使用するかについての唯一の適切な答えは、すべてにおいてまともな汎用言語であるように思われます。
ここで何が欠けていますか?複数の言語を効果的に使用して、それぞれの長所を活用するにはどうすればよいでしょうか?