Curiosità

Curiosità : I robot tutti attorno a noi

Studiare i cambiamenti climatici con Robot o sventare attacchi terroristici o traffici illegali è ormai una realtà.Già dal 2007 alcuni robot che in gergo vengono chiamati Droni hanno permesso alle forze militari statuintensi di bloccare un traffico illegale di petrolio Iarcheno. Continua a leggere..

 

Il Manifesto

manifest

Una chiave e tante sfumature, il nostro manifesto. Le persone quando credono vivamente in qualcosa scrivono un Manifesto, un libero pensiero convincente e forte. Il Manifesto è l'essenza viva del nostro modo di agire...

Lisp, per chi si chiede le motivazioni

ricorsioneI linguaggi funzionali, al primo impatto sono linguaggi di programmazione formali che a tutti coloro che li studiano e li utilizzano fanno pensare: Ma in un ambito lavorativo quando mai si utilizzeranno linguaggi Lips come Scheme?

Gli ambiti lavorativi dove si utilizzano i linguaggi funzionali Lips sono pochi e in questi ambiti è necessaria una rapida esecuzione del programma.

I linguaggi funzionali sono molto veloci durante l'atto di esecuzione grazie alla loro implementazione mista (Interpretazione-Compilazione).

Facciamo riferimento a questo indirizzo per le differenze tra Interpretazione e Compilazione di un programma.

Scheme è un esempio di questi linguaggi, gli studenti alle prime armi con questo tipo di linguaggio rimangono di solito straniti, per l'assenza di un vero e proprio compilatore e di un eseguibile. Proprio questa stranezza è il risultato dell'esecuzione mista tra compilazione e interpretazione.

Partecipando al newsgroup del Ferrara LUG si è presentata una splendida occasione per avere una testimonianza pratica di un informatico senior del settore Informatico, Paolo Holzl che ha dato il suo parare per quanto riguarda l'uso dei programmi Lips che non possiamo fare a meno di pubblicare con grande interesse.

Tutt'ora questo tipo di linguaggio è praticato all'università (Alma mater Unibo, e molte università statunitensi) per lo studio della ricorsione.

paolo4

Paolo:

Ho avuto a che fare con il Lisp (oltre all' Ada e al Prolog) diversi anni fa (lontano 1986 per essere precisi).
Allora mi accingevo a scrivere un programma di intelligenza artificiale (gestione orario scolastico) e avevamo fatto una serie di valutazioni preliminari sui linguaggi da utilizzare.Inutile dire che in quel periodo sembrava che l'intelligenza artificiale sarebbe stata una delle grandi innovazioni che avrebbe cambiato il mondo. Ricordo che il linguaggio (facilmente riconoscibile per la montagna di parentesi tonde che lo caratterizzava), nasceva proprio per affrontare problemi a forte ricorsione.


A suo tempo si parlava addirittura di 'lisp machine' ovvero hardware dedicato che serviva ad aumentare al massimo la gestione delle permutazioni. A titolo di cronaca dopo numerosi test, confronti, discussioni ecc. lo scartammo per invece preferire il Pascal per una montagna di motivi che non sto ora a spiegare, che comunque fu una scelta della quale (rapportati ai tempi di allora), non ci pentimmo mai.

Cerco di rispondere alla domanda: ha senso Lisp oggi?

Dal punto di vista didattico probabilmente sì anche perché se ben ricordo ha una struttura piuttosto originale che ben si presta allo studio delle ricorsioni.


Non sono più aggiornato in materia da sapere se un linguaggio C su hardware specializzato con apposite librerie produca maggiore velocità computazionale di una lisp-machine, ma teniamo conto che in certe materie (balistica per fare un esempio), andare un po più veloce fa la differenza, per cui non escludo che qualcuno lo usi ancora per queste cose o per altri problemi ad esplosione combinatoria (metereologia ad esempio).


Dal punto di vista della produzione di software generica escludendo ipotesi multilinguaggio utilizzabili ma in contesti particolari, nel tempo si è capito che al di la delle peculiarità legate alla specializzazione del linguaggio, si pretendeva dal linguaggio stesso tutta la struttura per arrivare al risultato finale.
Per intenderci più o meno da un linguaggio ti aspetti editor efficente, debugger, generazione di forms in grafica e non, generatore di reports, sistema di deployment ecc.
Possono anche essere parti diverse offerte da linguaggi diversi che ti portano ad un tuttuno ma devono risultare ben integrate.
Pochi usano un linguaggio solo perché fa molto bene una piccola parte
del tutto (anche se in determinate situazioni la cosa può avere un senso).Poi la storia da un giudizio ... e ti garantisco che di Lisp (come di Ada e Prolog) in giro resta relativamente poco.

 

Per altre info su Paolo Holzl: http://www.holzl.it/blog/


Commenti  

 
0 #1 peppo1616 2009-10-02 01:07
Volevo sottolineare una cosa un pò ambigua nell'articolo, l'implementazione mista è in maggioranza realizzata tramite interpretazione , questo garantisce buone prestazioni in real time execution.
Citazione
 

Aggiungi commento


Codice di sicurezza
Aggiorna

News from Twitter

Loading...

Last 4 tweets from deuxexmachinait:

Ultime dal Forum

in Gaming by m3dstt, 06-09-11 08:11
in Networking by Fullenwider, 05-08-11 04:15
in Mac by Maryanne, 22-06-11 04:08
in Guide Windows by peppo1616, 09-10-09 15:27
in Guide Linux by CAbusivo, 07-08-09 16:10