まず第一に、私は論理と数学の間に多くの違いを見ていません。後者は、特定の構成に体系的に適用される前者にすぎません。
さらに、数学/論理に基づいたプログラミング言語の理論的な美しさは、効率的で保守可能なコードを書くことによって物事を成し遂げることに関して、本当に価値があるとは確信していません。
あなたに関しては特定の質問。
プログラミング言語または数学の言語機能をモデル化することの利点は何ですか?正式な論理の原則に基づいて言語をモデル化することの利点は何ですか?
正しさの証明ははるかに簡単になりますが、実際のシステムで実用的になるポイントに到達するかどうかは疑問です。
汎用言語は論理または数学のいずれかを放棄できますか?
「forgo」の意味によって異なります。あなたは数学的な操作なしで言語を持つことができます(あなたはかなりエソセリックになる必要があります;チューリングマシンは私が考えることができる唯一のものであり、インクリメントもデクリメントもありません)、そしてあなたは確かに形式主義について何も気にしない言語を持つことができます(アセンブラー、C)。しかし、ロジックなしでプログラミング言語を使用することは不可能だと思います(ただし、それは変質したロジックである可能性があります。Malbolgeを参照してください) 。
どちらのアプローチの利点を実際に示す言語のいくつかは何ですか?
さて、ラムダ計算を論理の形式と考えると、Lispは、1958年以来、他の言語が到達しようとしている(しかし管理できない)表現力を持つ言語であることによって、その利点をかなりうまく示してきました。
次に、Prologがあります。これは、私が知っている他の唯一の「深刻な」言語であり、正式な論理に明示的に基づいていることを試みています。そして-クエルサプライズ-それは論理的なものだけが得意です。
1つのアプローチを他のアプローチより魅力的にするハードウェア機能は何ですか?
なし。Lisp Machinesの失敗は、コンパイラと一般的なハードウェアが特殊なハードウェアよりも強力であることをIMOがかなり決定的に証明しています。しかし、今日のシステムの単純な野蛮な力は、ハードウェアの制約を完全に無視する言語を、以前はそうではなかった場所で実用的にしていると言うかもしれません。