Il mio primo giorno di scuola
…pare strano ma risale a non molto tempo fa.
Era il 2005 o giù di lì. Vagavo in uno dei tanti progetti in corso, sviluppato con uno dei tanti linguaggi di uno dei tanti framework al mondo. Da poco stavo familiarizzando, un po’ per gioco, con il Mac della nuova era, dopo 15 anni di militanza in Windows e prima ancora DOS e UNIX prima di lui.
Il Mac affascina chiunque, ammettiamolo; anche i geek che più geek non ce n’è, chiusi nella loro cameretta un po’ maleodorante, con il PC con chassis di dubbio stile e costantemente aperto, pronto al prossimo “taroccamento”.
Ma come ogni addetto ai lavori sa “il Mac è per i grafici, i musicisti, i giornalisti”. Quando si parla di strumenti di sviluppo, linguaggi e frameworks, allora la faccenda cambia e il PC diventa l’indiscusso padrone della scena.
Ma chi sapeva che in casa Apple, negli ultimi sette-otto anni qualcosa di realmente nuovo era accaduto? Una sorta di renaissance dalle ceneri di un rogo che aveva quasi consumato i fasti dell’Apple II (1977) e del primo Macintosh (1984). Con l’acquisizione di NeXT, Apple non solo riportò all’ovile il suo fondatore Jobs, ma soprattutto acquisì una tecnologia, quella del sistema operativo NextStep che, a cavallo tra gli anni ’80 e ’90, era anni luce avanti a qualsiasi altra tecnologia software. L’attuale Mac OS X è quindi il diretto discendente di quella tecnologia e ne eredita le meraviglie, naturalmente con un vestito tutto nuovo. Ma io, appunto, non lo sapevo.
Quasi per caso mi imbattei in una guida on-line di Cocoa e Objective-C; fu amore.
Ricordai le teorie software dei miei primi studi e di quanto fossero distanti dalla pratica della programmazione “di tutti i giorni”: il modello MVC puro, quasi sempre inapplicabile agli schemi enterprise; l’innalzamento del livello di astrazione che provoca spesso il crollo delle prestazioni e altri nefasti effetti collaterali; lo sviluppo a basso livello che tiene le prestazioni e la purezza della scienza ma fa a pugni con la realtà del mercato e dei suoi tempi.
Mi ricordai di tutto questo perché ciò che avevo davanti era la trasposizione pratica di tutte quelle teorie: MVC di semplice applicazione, un elevatissimo livello di astrazione con prestazioni elevate, scalabilità e mantenimento adeguato alle esigenze di enterprise e di mercato.
Installai i tools dalla Apple che, per la cronaca, sono disponibili direttamente nel DVD di installazione fornito con ogni nuovo Mac. Affrontai, con quasi 5 lustri di programmazione alle spalle, la canonica applicazione “Hello World” che però era un qualcosa di full-featured e realmente utilizzabile: un convertitore di valuta. In poche ore mi mangiai letteralmente centinaia di pagine di documentazione e cominciai la mia conoscenza dell’ambiente che ora occupa la maggior parte dei miei impegni professionali.
Fu il mio primo giorno di scuola. E chi se lo dimentica…