Antwort

6

Solange eine Sprache ist Turing complete, jeder Algorithmus (definitionsgemäß darin umgesetzt werden von "Algorithmus"). Aber wie andere gesagt haben, können funktionale Sprachen bestimmte Dinge eleganter machen. (Sehen Sie sich Haskell an. Was für eine schöne Sprache.) Ich würde auch argumentieren, dass es eine Klasse von Problemen gibt, die OOP-Sprachen besser machen. (Meiner Meinung nach, GUIs, obwohl einige können nicht zustimmen.)

+0

Danke, Pavel. Ich hatte daran gedacht, "irgendeinen berechenbaren Algorithmus" zu sagen, nachdem ich es geschrieben hatte, aber ich habe mich nicht darum gekümmert, es zu ändern. –

3

Nein, jedoch kann eine funktionale Sprache zu einer eleganteren Implementierung eines Algorithmus führen, der die Merkmale einer solchen Sprache ausnutzen kann. Zum Beispiel eine, die eine große rekursive Tiefe erfordert.

0

So wie ich es verstehe, müsste ein solcher Algorithmus in eine Reihe von Maschinenbefehlen umgesetzt werden, die auf einigen Mikroprozessoren ausgeführt werden (ob Sie kompilierte oder interpretierte Sprache verwenden). Und keiner der aktuellen Prozessoren ist "funktional".
In der Tat führt dies zu noch breitere Behauptung: alle funktionalen Algorithmus 'können in C oder Assembler implementiert werden :)

+1

Diese funktionale Sprache ist übersetzt in imperative Befehlssatz spielt keine Rolle. Eine Turing Complete-Sprache kann jede andere Turing Complete-Sprache simulieren. Jeder Algorithmus, der unter einer Turing Complete-Sprache ausgeführt werden kann, kann in jeder anderen Turing Complete-Sprache ausgeführt werden. Dies garantiert, dass alle "funktionalen Algorithmen" in "imperative machine" ausgeführt werden können und alle "imperative algorithms" in "functional machine" ausgeführt werden können. –

+0

Daher ist die Behauptung noch breiter: "Jeder Algorithmus, der in einer Turing Complete Sprache ausgeführt werden kann, kann in jeder anderen Turing Complete Sprache implementiert werden" –

+0

@Lie Ich weiß, dass es eine Menge Theorie über Turing Machine und 'Beweis' gibt beliebig erweiterbar (bis in die Kernphysik, Wahrscheinlichkeitstheorie oder Ökonomie). Aber es macht das "hausgemachte" Argument nicht weniger gültig. Eigentlich wollte ich es auf "handwerklichem" Niveau halten. –

Verwandte Themen