命令型言語は、関数型言語よりも互いにどのように異なるのですか?
私はサイモン・ペイトン・ジョーンズの「関数型プログラミング言語の実装」を読んでいますが、私を驚かせた声明が1つあります(39ページ)。 命令型言語の場合よりもはるかに広い範囲で、関数型言語は主に相互の構文上のバリエーションであり、セマンティックの違いは比較的少ないです。 さて、これは1987年に書かれたものであり、この主題に関する私の考えは、当時は普及しておらず人気もなかった、より現代的なプログラミング言語の影響を受ける可能性があります。しかし、これを信じるのは少し難しいと思います。たとえば、記述されているミランダプログラミング言語(Haskellの初期の前身)は、CがPascalに、またはCがsmalltalkにさえ言うよりも、MLのような厳密な言語に比べて、はるかに異なるセマンティクスを持っていると思います(ただし、 C ++は、彼のポイントの検証を提供します:-)。 しかし、もう一度、私はこれを私の直感的な理解に基づいています。サイモン・ペイトン・ジョーンズはこれを言うのに大部分が正しいのでしょうか、またはこれは議論の余地のある点ですか?