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 add
s and mul
s 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.