Zėŋōfōbìå

10 luglio 2009

Dove il Perl incontra l’assoluto

Filed under: informatica — Tag:, , — Zeno @ 16:43

Stefano Rodighiero, autore di un bel libro introduttivo sul Perl, mi ha consigliato di guardare un webcast. L’autore è Damian Conways, un esponente di spicco nella comunità Perl. Il Titolo è abbastanza evocativo:
Temporally Quaquaversal Virtual Nanomachine Programming in Multiple Topologically Connected Quantum-Relativistic Parallel Timespaces…Made Easy.

E’ un raro esempio di lucido esoterismo informatico, decisamente affascinante.

Si può leggere, nelle note di presentazione, dopo una prima parte molto vicina alle questioni specificatamente Perl, l’ipotesi di esistenza di quelle che vengono chiamate “variabili positroniche”.

Una “Variabile positronica” è una variabile il cui verso della direzione del tempo è opposto di quello delle variabili “elettroniche” che normalmente siamo abituati ad usare.
In pratica l’ipotesi è che questa variabile vada indietro nel tempo, quindi, va da sé, può essere inizializzata “dopo” che è stata usata…

In pseudo codice:

pos_variabile $posval
print $posval;
$posval=read_value_from_stdin();

Impossibile? Direi di no, visto che Damian Conways ne ha scritto un’implementazione per Perl.

Davvero fenomenale! :-)

Annunci

4 commenti »

  1. Premetto che non mi riesce di vedermi il videocast, ma lo guarderò appena posso… ^^’

    1) si deduce che Java, inizializzando le variabili automaticamente al momento delle dichiarazioni non è un linguaggio “positronico”, almeno dal lato delle variabili [1]… :D

    2) non basta scrivere il codice al contrario e farlo leggere al contrario al compilatore? Tu lo leggi “positronicamente” mentre il compilatore invece lo legge giusto, “elettronicamente”… :)

    Commento di jp — 13 luglio 2009 @ 14:55

  2. Il webcast è lungo ma merita.

    Introduce anche le variabili quantiche dotate di superposition: http://search.cpan.org/~lembark/Quantum-Superpositions-2.02/lib/Quantum/Superpositions.pm
    Nell’ipotesi di avere un quantuum computer viene descritto il modo di gestire bit che siano in grado di “contenere” una sovrapposizione di stati.
    Viene fornito un algoritmo che verifica la primalità di un intero in O(1):
    sub is_prime
    {
    my ($n) = @_;
    return $n % all(2..sqrt($n)+1) != 0
    }
    Non ho avuto modo di testare questo codice: purtroppo il mio Quantuum Computer è evaporato dopo 1E-9 secondi.

    Per rispondere al 2:
    Cosa succede se hai nello stesso codice variabili convenzionali e variabili positroniche? Una scorre nel verso del codice, una in tempo negativo. Certo, non disponendo (ancora) di macchine del tempo occorre simulare il tempo negativo leggendo il codice anche al contrario…

    Commento di Fabrizio — 14 luglio 2009 @ 8:17

  3. Suppongo si verifichi un’annichilazione delle variabili (se agiscono sulle stesse celle di memoria), con generazione di energia e di un’eccezione non-gestibile di tipo NihilReferenceException (uso nihil perchè null è già usato: serve un cambio di nomenclatura!). In altri termini: un KILL -9 di proporzioni immani… :D

    Commento di jp — 14 luglio 2009 @ 14:25

  4. Pardon, link corretto… :D

    Commento di jp — 14 luglio 2009 @ 14:26


RSS feed for comments on this post. TrackBack URI

Rispondi

Effettua il login con uno di questi metodi per inviare il tuo commento:

Logo WordPress.com

Stai commentando usando il tuo account WordPress.com. Chiudi sessione / Modifica )

Foto Twitter

Stai commentando usando il tuo account Twitter. Chiudi sessione / Modifica )

Foto di Facebook

Stai commentando usando il tuo account Facebook. Chiudi sessione / Modifica )

Google+ photo

Stai commentando usando il tuo account Google+. Chiudi sessione / Modifica )

Connessione a %s...

Crea un sito o un blog gratuitamente presso WordPress.com.

%d blogger hanno fatto clic su Mi Piace per questo: