>>>>> "Emanuele" == Emanuele Olivetti <olivetti@xxxxxx> writes: Emanuele> Io inizierei e finirei le superiori con il python. Siamo nati troppo presto! Ma è un errore che fanno molti. Emanuele> Ovviamente ti perdi cose tipo la compilazione... La compilazione come passo pratico previo dell'esecuzione è solo una palla quindi "meglio perderla che trovarla" (TM). Quindi di perdita si tratta solo se si ti interessa imparare a scrivere compilatori (per linguaggi esistenti, quindi mai) o se ti interessa capire cosa significa "computare" (nel senso di eseguire il processo dinamico rappresentato -- di solito staticamente -- dal programma ovvero, negli stupidi linguaggi in cui il programmatore con scrive direttamente l'AST, dal sorgente testuale). Ma il significato di "computare" lo si può vedere più facilmente non USANDO un linguaggio compilato dato (OK, l'opzione -dletters del gcc può essere divertente), ma INVENTANDO (o scegliendo) un piccolo linguaggio e scrivendone un interprete e/o un compilatore. Cosa che si può fare in C [1] (volendo farsi del male per l'ultima volta [2]) o, secondo me molto meglio (al meglio per quanto ho visto in vita mia) in Lisp [3] (scusate se mi ripeto, ma, come ripeto sempre, è l'età). Probabilmente lo si può vedere anche in Python [4], ma qui sono proprio gnu-rant. [1] Kernighan and Pike - The Unix Programming Environment http://cm.bell-labs.com/cm/cs/upe/ [2] nel senso che se sopravvivi all'esempio della calcolatrice poi non sbaglierai mai più la dichiarazione di una lista di puntatori a puntatori a funzioni che accettano una struttura e che restituiscono una union ..... [2] Abelson and Sussman - Structure and Interpretation of Computer Programs http://mitpress.mit.edu/sicp/ [3] http://codespeak.net/pypy/dist/pypy/doc/architecture.html -- bye, Luca -- Per iscriversi (o disiscriversi), basta spedire un messaggio con OGGETTO "subscribe" (o "unsubscribe") a mailto:linuxtrent-request@xxxxxxxxxxxxx