Il vero significato di "language-agnostic"

Un post di Daniele mi ha riportato alla memoria una delle prime Goodies che pubblicai sul sito UGIdotNET, un paio di anni addietro. In effetti, questo compilatore è il classico "giochino" che spesso sfoggio durante corsi e/o conferenze per dimostrare quanto le CLI siano indipendenti dal linguaggio, al fine di introdurre le CLS e chiarire un po' le idee sull'architettura del runtime di .NET; in effetti l'idea che gli opcode x86 siano resi nei corrispettivi MSIL, salvo poi essere JIT-tati in codice macchina (magari) x86 rigorosamente differente dall'originale (altrimenti che JIT-ting sarebbe? ) mi ha fatto sorridere più volte. Fino a quando, nel luglio del 2002, mi imbattei in un esperimento ancora più originale, ossia il compilatore Brainf*ck per le CLI: opera di Urban Muller (che, per i nostalgici quali il sottoscritto, è il creatore di Aminet), Brainf*ck (che si legge proprio Brainfuck :-D) è un linguaggio Turing-complete che pensavo avesse raggiunto il massimo della "bizzarria" possibile. La mia convinzione resse fino alla passata WPC quando, nel corso della sua sessione "Opensource e .NET", il mio caro amico Mario Zucca tirò fuori dal cilindro ben di più del "solito" coniglio, ossia... Una X-Box moddata, dotata di: distro Gentoo, Mono e, soprattutto, il compilatore Ook#! Cos'è Ook#? Beh, è un modo di programmare per il CLR usando una sintassi che mima i suoni gutturali emessi dalle scimmie. Per parola degli stessi creatori, Ook# non è per i "deboli di cuore", che dovrebbero prima studiare Brainf*ck e solo in un secondo tempo dedicarsi ad una sintassi più difficile. Beh... siete ancora sorpresi del fatto che il CLR digerisca codice originariamente scritto in linguaggi "banali" quali i "soliti": Basic, C(++/#, fate voi!), Java, Pascal e compagnia varia? :-D

posted @ lunedì 22 marzo 2004 17:33

Print

Comments on this entry:

No comments posted yet.

Your comment:



 (will not be displayed)


 
 
Please add 1 and 1 and type the answer here:
 

Live Comment Preview:

 
«aprile»
domlunmarmergiovensab
31123456
78910111213
14151617181920
21222324252627
2829301234
567891011