Ho letto su Internet ( Il Computer Non Sbaglia Mai ) che hanno sfidato un gruppo di Tamagotchi, quei pulcini-orologio giapponesi cosiddetti virtuali, a scrivere una simulazione di un Programmatore C++. Questo mi ha fatto riflettere non poco sul problema della Complessita’ dei Sistemi. E’ possibile per un sistema “semplice” concepire e realizzare un sistema piu’ “complesso” di se stesso? Ad esempio, sara’ vero che a suo tempo Bill Gates scrisse veramente l’interprete BASIC dell’MS-DOS? Mi sembra incredibile. Io, per non essere da meno, oggi mi sono ripassato sul Kernigham-Ritchie ( lo storico libro di riferimento del Linguaggio C che non c’entra nulla con Ricky Cunningham, Fonzie e tutta quella gente di Milwaukee ) il programma per scrivere “Ciao Mondo” in mezzo al video del computer. Se lo fai sotto UNIX ci vogliono sei linee comprese le graffe e la linea vuota prima del main(), anche meno se non vai a capo. Se lo fai sotto Windows95 ce ne vogliono almeno novecento. Se lo fai per Windows 3.11 ce ne vogliono duemila e rotti e non sei sicuro che funzioni. Se vuoi davvero esagerare lo fai su una Silicon Graphics, con la scritta in 3D che gira vorticosamente usando le OpenGL. Ci vogliono solo alcuni mesi per capire i principi base della Programmazione 3D, ma poi la strada e’ tutta in discesa, fino all’esaurimento delle capacita’ mentali vostre e del vostro gastroenterologo preferito. L’importante e’ avere un buon testo di riferimento. Io consiglio il Foley-Van Dam per la parte matematica e poi un libretto che mi ha passato Banzo, chiamato “Il Libro dei Cinque Anelli” di Miyamoto Musashi. Questi era un Samurai del XVI Secolo. Citero’ ad esempio il Settimo, l’Ottavo ed il Nono Principio che il Samurai deve seguire per percorrere la Via in maniera corretta. Settimo: Impara a Percepire Cio’ Che Non Si Puo’ Vedere. Ottavo: Non trascurare i Piccoli Particolari. Nono: Non fare Cose Inutili. Ok, ragazzi. Allora: risulta chiaro che il Settimo Principio puo’ essere chiamato anche il Principio del Debugging, ovvero Della Individuazione Degli Errori, l’Ottavo e’ una incitazione a stare attenti a virgole e punti e virgola in un programma C, e il Nono e’ un consiglio a cambiare lavoro, che incredibilmente vale per QUALSIASI lavoro. Detto questo, non sia mai detto che un qualsiasi gruppo di Tamagotchi possa avere la meglio su un Umano, Elfo, Nano, Hobbit, Ent o Programmatore che sia. Accetto la sfida. Oltretutto mi e’ appena arrivata la nuova versione del Compilatore Del Giudizio Universale, che dicono scriva i messaggi di errore usando il Plurale Maiestatis. Lo installo e infatti ottengo un mostruoso messaggio di errore, nella fattispecie il fatto che ci vuole un CD in grado di leggere i nomi di file lunghi ( riporto per la cronaca il messaggio per esteso, per dimostrare che non sto scherzando: “Error 4233: Noi, Compilatore del Giudizio Universale, rileviamo senza possibilita’ di dubbio alcuno una deficienza di sistema nel meschino e analfabeta CD Player di questa abietta macchina e decidiamo, grazie al Potere conferitoci, di non installarci su Questo Disco Rigido ( peraltro di Nostra Propprieta’ ). Altresi’, dall’alto della nostra Suprema Bonta’, concediamo a questi esseri inferiori una seconda possibilita’ di installarCi, fallita la quale Noi procederemo senza indugio alla Formattazione del suddetto Disco Rigido, esponendolo quindi al Pubblico Ludibrio su Internet mediante Apertura di NFS e conseguente Visibilita’ Totale del File System. Ipse Dixit, Hasta La Vista.” ). Mi stupisco, pensavo che il CD fosse capace di leggere senza problemi. Lo smonto e lo porto sulla piu’ alta montagna che trovo ( una collinetta vicino a casa dove andavo a fare il cross in bicicletta quando avevo quindici anni e dalla quale sono rovinosamente caduto decine di volte ), ove gli insegno con pazienza e dedizione a leggere. Il CD dice che ha capito, ma quando dopo due settimane di corso intensivo torniamo e lo reinstallo, ancora non funziona. Allora mi collego al sito della Nakamichi e scarico i drivers a 32 bit protected-mode nuovi e dopo l’aggiornamento il CD miracolosamente parte. La cosa e’ alla fine una metafora della vita: se vostro figlio disdegna la matematica o la storia, probabilmente ha dei drivers vecchi. Cambiateglieli. Ma questo e’ un’altro discorso. Insomma, dopo l’installazione del Compilatore Totale Globale Finale sono pronto per questa sfida all’ultimo neurone: il Tamagotchi contro il Softwarista, ognuno dei due deve simulare l’altro nel piu’ breve tempo possibile. La gara si tiene nella stessa stanza del combattimento tra Deep Blue e Kasparov. Dal pubblico, ammicca e ridacchia il gruppo dei programmatori di Tamagotchi ( trentasette giapponesi chiamati “i Programmatotchi”, a loro volta programmati da due primievi Tamagotchi chiamati TamAdamo e TamEva ). Inizio io: scrivo una classe PioPio in Java e la doto delle due importantissime funzioni strategiche On() e Off(), quando sento un fortissimo bisogno di mangiare della senape. Hanno gia’ iniziato il gioco sporco. Cerco di resistere ma non c’e’ nulla da fare, mi scaravento tra il pubblico in cerca della senape fino a quando un Tamagotchi mi tira un orecchio e miracolosamente la mia incontrollabile necessita’ scompare di colpo. Per ringraziarlo lo schiaccio con forza sotto il  piede. Lui urla “Credi nella reincarnazione?” prima di spegnersi come il Terminator Uno sotto la pressa da duecentocinquantamila tonnellate. “No” gli rispondo, mentre lo finisco lanciando la JavaMachine del JDK e chiamando la funzione PioPio::Off(). Dal pubblico si alza un boato; grazie al libretto del Samurai, la mia strategia in combattimento non conosce errori o esitazioni. Colpo dopo colpo, inutilizzabilizzo ( come si dice “rendo inutilizzabili”? ) tutti i trucchi dei Tamagothci, mentre la mia esperienza nella programmazione Tamagotchi-Oriented cresce senza sosta. Ormai siamo alla parte grafica: per me disegnare un animaletto su una griglia di poche centinaia di pixel in maniera accettabile e’ un lavoro difficile, soprattutto dovendo usare quella porcheria di Microsoft Paint, ma per i Tamagotchi questo e’ un ostacolo addirittura insormontabile. Gli catastrofo sul disco rigido un video digitale di Mike Bongiorno in formato AVI ( due Giga, sono tutte le registrazioni di Rischiatutto quando c’era Massimo Inardi come supercampione ) e gli dico “Toh! Simulate un po’ questa, come interfaccia utente del vostro Programmatore!”. La mitologica organizzazione orientale subisce un colpo tremendo; i Tamagotchi sono allo sbando. Uno di loro esplode mentre sta campionando l’ormai epico “Allegria!!”. Il suo piccolo chip di silicio palpita ancora mentre lo portano fuori dalla sala. Papa’ e Mamma Tamagotchi piangono a dirotto il loro piccolo e urlano e giurano vendetta, allora scendo tra il pubblico e schiaccio il loro pulsantino chiamato appunto “Vendetta”. La piantano di colpo. Poi schiaccio anche Papa’ e Mamma sotto i piedi. Da quando mi hanno detto che i Tamagotchi si possono resettare e quindi resuscitano, preferisco non correre rischi. Ormai siamo ai ferri corti: i Programmatotchi si alzano, urlano, imprecano, dicono che sono stato sleale. Velocemente, tiro loro le orecchie e si siedono educatamente. Uno fa “bau bau”, d’altra parte l’errorino c’e’ sempre. Schiaccio anche lui, non smette per un attimo di abbaiare. Piu’ buggato di Word. Ed improvvisamente, quando tutto ormai e’ a mio favore, proprio come in una partita a Tekken, Tempo Scaduto! La gara viene dichiarata Pari: ancora una volta la Corsa verso l’Intelligenza Artificiale si ferma con un Nulla Di Fatto. Improvvisamente mi accorgo di essere a pezzi. Ho fame, sonno e voglia di andare in vacanza, allora mi tiro l’orecchio da solo e torno in ufficio. E quando entro la segreteria elettronica virtuale multimediale mi saluta chiamandomi Aaron Brancotchi. Ok. E’ andata cosi’. Sayonara, gente.