risposta

6

Finché una lingua è Turing complete, qualsiasi algoritmo può essere implementato in esso (per definizione di "algoritmo"). Ma come altri hanno già detto, i linguaggi funzionali possono fare certe cose in modo più elegante. (Basta dare un'occhiata a Haskell, che bel linguaggio.) Direi anche che esiste una classe di problemi che le lingue OOP fanno meglio. (Secondo me, GUI, anche se alcuni potrebbero non essere d'accordo.)

+0

Grazie, Pavel. Avevo pensato di dire "qualsiasi algoritmo calcolabile" dopo averlo scritto, ma non mi sono preoccupato di cambiarlo. –

3

No, tuttavia un linguaggio funzionale può portare a un'implementazione più elegante di un algoritmo in grado di sfruttare le funzionalità di tale linguaggio. Ad esempio, uno che richiede una grande profondità ricorsiva.

0

A quanto ho capito, tale algoritmo dovrebbe essere tradotto in un insieme di comandi di macchina eseguiti su un microprocessore (indipendentemente dal fatto che si utilizzi un linguaggio compilato o interpretato). E nessuno degli attuali processori è "funzionale".
Infatti, questo porta ad ancora asserzione più ampio: qualsiasi 'algoritmo funzionale' può essere implementato in C o Assembler :)

+1

Quel linguaggio funzionale è tradotto in un set di istruzioni imperativo non importa. Una lingua completa di Turing può simulare qualsiasi altra lingua di Turing Complete. Qualsiasi algoritmo che può essere eseguito in una lingua completa di Turing, può essere eseguito su qualsiasi altra lingua di Turing Complete. Ciò garantisce che tutti gli "algoritmi funzionali" possano essere eseguiti in "macchina imperativa" e che tutto l'algoritmo "imperativo" possa essere eseguito in "macchina funzionale". –

+0

Pertanto, l'asserzione è ancora più ampia: "Qualsiasi algoritmo che può essere eseguito in una lingua completa di Turing, può essere implementato in qualsiasi altra lingua di Turing Complete" –

+0

@Lie So che c'è molta teoria attorno a Turing Machine e "proof" può essere esteso per quanto lontano (anche nei campi della fisica nucleare, della teoria della probabilità o dell'economia). Ma non rende l'argomento "fatto in casa" meno valido. In effetti, volevo tenerlo sul livello 'artigianale'. –

Problemi correlati