Perché diciamo che i Lisp sono orientati all'uomo e Fortran sono orientati alla macchina? [chiuso]

-1

Lisp and Fortran were the trunks of two separate evolutionary trees, one rooted in math and one rooted in machine architecture.

Lo vedo in Hacker e pittori: Grandi idee dall'era dei computer .

E qualcuno ha detto che i Lisp sono orientati all'uomo e Fortran sono orientati alla macchina.

Qui l'orientamento umano significa che il modo di risolvere i problemi è più probabile che gli esseri umani facciano E orientato alla macchina significa che il modo di risolvere i problemi è più probabile che la macchina faccia.

Penso che Lisp sia basato sull'espressione S e sul simbolo. Fortran è basato su von Neumann e Variables.

È giusto?

    
posta CLS 01.01.2014 - 10:43
fonte

3 risposte

8

Why we say Lisp are Human oriented and Fortran are Machine oriented?

"Noi" non lo diciamo: i sostenitori di Lisp lo fanno; -)

Sia Fortran che Lisp sono stati progettati per gli esseri umani. Potresti dire che Fortran è ancora più orientato all'uomo:

Don't you hate writing assembler? Where implementing a simple formula consists of confusing adds and muls and registers? Of course you hate it, you're an engineer, not a programmer. Fortran has the solution: You can now use expressions like 2.0 * (X + Y). I can't believe it's not butter math!

Mentre i Lisp tendono ad avere le S-Expresses estremamente orientate al compilatore per tutto .

Il punto è che Fortran e Lisp affrontano il problema della programmazione dei linguaggi da diverse direzioni:

  • Fortran sposta dall'assemblatore di basso livello verso formati più accessibili dall'uomo: un linguaggio di alto livello . Questo è per lo più sintattico e comporta una maggiore produttività per il programmatore.
  • Lisp è un'implementazione del calcolo lambda con aspetti di alto livello come funzioni di ordine superiore, ricorsione e digitazione dinamica che in qualche modo cerca di mappare a codice macchina di basso livello . Ma la brillante decisione progettuale di Lisp è stata quella di rendere tutto un elenco. Questo è meno performante degli array di Fortran, ma le strutture di dati a dimensione variabile sono molto più flessibili. Lisp reifica molte funzionalità linguistiche come variabili (tramite simboli) o funzioni e persino codice stesso che facilita la metaprogrammazione.

    Insieme questa combinazione di funzioni Lisp produce una mentalità diversa durante la programmazione. Alcune persone sostengono che queste caratteristiche rendono il Lisp più orientato all'uomo (non lo direi, perché Lisp sembra orientato al Lisp per me).

Nota che la maggior parte delle lingue moderne prende da entrambe le tradizioni: C # prende le espressioni e le espressioni di Fortran come elementi costitutivi della sintassi, mentre Lambdas e il suo sapore di orientamento agli oggetti hanno un sentimento molto Lispish.

    
risposta data 01.01.2014 - 11:46
fonte
1

Il cervello umano non pensa né nelle liste né nei calcoli lambda né nelle formule matematiche. Pertanto né LISP né FORTRAN possono essere definiti come umani. Le reti neurali artificiali cercano di imitare il modo in cui funzionano i cervelli biologici. In questo senso potrebbero essere chiamati ad essere più umani. Ma come sottolinea Delnan, una rete neurale non è un linguaggio di programmazione. Non conosco alcun linguaggio di programmazione che funzioni in modo simile alle reti neurali. Sebbene possano esistere linguaggi per la definizione di reti neurali. Ma un tale linguaggio definirebbe un'architettura di rete neurale statica. La rete neurale è in grado di apprendere e sviluppare il proprio comportamento dinamico nel tempo.

    
risposta data 01.01.2014 - 17:50
fonte
0

Penso che le funzioni di prima classe siano la ragione per cui la gente dice questo e direi che in realtà pensiamo in termini di lamdas / funzioni di prima classe.

Domanda: "Che cosa hai intenzione di fare con questo?"

Come rispondi a questa domanda / risolvi il problema senza passare una funzione al tuo metodo di risposta?

Credo che la ragione principale per cui LISP e le lingue simili a LISP siano popolari per risolvere i problemi di IA sono principalmente i verbi sostantivi.

    
risposta data 01.01.2014 - 18:19
fonte

Leggi altre domande sui tag