Dal recente Worldwide Developer Conference – WWDC – non sono arrivate le novità relative all’hardware che molti si aspettavano – niente iPhone 6 per intenderci – ma tante nuove funzionalità per i sistemi operativi OS X e iOS.
Nel giro di pochi minuti, una Apple baldanzosa come mai nel recente passato ha sbeffeggiato i suoi competitor e ha sostanzialmente inglobato feature sufficienti per far chiudere almeno una mezza dozzina di aziende. Questa attitudine di Apple a tratti quasi gradassa – in particolare di Craig Federighi, responsabile dello sviluppo software – non è certo passata inosservata nella Twittersphere.
Craig is crushing competitors and apps at the highest crush-per-minute I can remember. Just smacked Flash & Chrome in one sentence.
— DHH (@dhh) June 2, 2014
Il punto più alto è arrivato con l’annuncio di Swift, un nuovo linguaggio di programmazione pensato per sviluppare applicazioni per iOS e OS X, con l’obiettivo di mandare in pensione Objective-C, che è stato per molti sviluppatori una barriera tecnica insormontabile.
Al di là dell’annuncio, l’idea principale che sta dietro Swift è stata esplicitata durante il Platform State of the Union. Il quadrante magico che Andreas Wendker – vice president OS X platform experience – mostra durante la sua presentazione racchiude in sé la vera motivazione di Swift: consegnare agli sviluppatori un linguaggio che li renda più produttivi o, per dirla alla Yukihiro “Matz” Matsumoto, più felici senza rinunciare alle performance. La misura di quanto questa innovazione fosse attesa è data dai 370 mila download avvenuti nel primo giorno della pubblicazione della guida di Swift.
Swift ingloba molte caratteristiche dei linguaggi più moderni come Javascript, Haskell, Rust o Ruby (quest’ultimo peraltro posizionato non a caso come il più performante nel quadrante dei linguaggi ad alta produttività). Era tempo di liberare gli sviluppatori del fardello di un linguaggio sicuramente interessante come Objective-C, ma datato, prolisso e decisamente troppo complicato per chi ad esempio proviene dal mondo dello sviluppo di applicazioni per il web.
Un nuovo approccio
Apple non propone solo un linguaggio più moderno: si spinge fino a individuare un approccio totalmente nuovo alla programmazione. Chris Lattner, creatore di Swift, racconta così le nuove funzionalità introdotte in Xcode 6:
La funzione Playgrounds e il read-eval-print loop, REPL, di Xcode erano una mia passione personale, per rendere la programmazione più interattiva e avvicinabile. I team Xcode e LLDB hanno svolto un lavoro fenomenale nel trasformare idee pazze in qualcosa di proprio grande. I Playgrounds sono stati fortemente influenzati dalle idee di Bret Victor, da Light Table e da molti altri sistemi interattivi. Spero che nel rendere la programmazione più approcciabile e divertente avremo il gradimento della prossima generazione di programmatori e aiuteremo a ridefinire l’insegnamento della Computer Science.
Padrona di un ecosistema già fortissimo, Apple con Swift rischia di sbaragliare i concorrenti portandogli via in massa gli sviluppatori, già affaticati dal problema della frammentazione di Android e dalla mancanza di un vero marketplace per Windows Phone.
Google, dalla sua, ha in casa linguaggi altrettanto moderni e attraenti come Go e Dart. Non gli rimane che capire quando disfarsi di Java, al fine di migliorare la produttività (e la felicità) degli sviluppatori Android. Solo così potrà rispondere alla rivoluzione annunciata da Swift.