Apple ha annunciato che il suo linguaggio di programmazione Swift è ora open source e Craig Federighi, Senior Vice President Software Engineering di Apple, ha per l’occasione risposto ad alcune domande di Ars Technica e The Next Web.
La Mela ha concesso il linguaggio in licenza ai sensi della popolare licenza open source Apache 2.0 (la stessa usata da Microsoft per gran parte del suo framework .NET), perché crede fortemente che sarà il linguaggio di programmazione che sfrutterà per i prossimi 20 anni. Federighi spiega che ci sono state molte richieste da parte degli sviluppatori, inclusi big del settore come IBM che lo sfruttano per applicazioni di tutti i tipi, e che il miglior modo per consentire la maggiore diffusione era renderlo Open Source.
L’altro obiettivo è il mondo educational, dove Apple sta lavorando con educatori e molti docenti interessati a insegnare Swift perché è un linguaggio espressivo ottimo per introdurre concetti di programmazione di tutti i tipi; renderlo Open Source permette loro di renderlo parte dei programmi scolastici centrali.
Parlando a giugno di quest’anno con gli sviluppatori un anno dopo la sua introduzione, la facilità con la quale è possibile insegnare Swift si è rivelata sicuramente un punto di forza, utile per comunicare concetti di programmazione sfruttabili in vari ambiti. Swift è il linguaggio di programmazione con il maggior ritmo di espansione nella storia; unisce le prestazioni e l’efficienza dei linguaggi compilati con la semplicità e l’interattività dei linguaggi di scripting più popolari.
Rendere open source Swift permette agli sviluppatori di capire meglio cosa fa Apple ma anche contribuire al progetto direttamente. Apple afferma che i feedback degli sviluppatori è stato fondamentale nell’implementazione di alcune caratteristiche, arrivare dalla beta alla versione 1.0 e 2.0 e, almeno teoricamente, l’azienda non sarà più l’unico arbitro a decidere cosa può fare non fare il linguaggio. Gli sviluppatori possono fare richieste e Swift.org permette di delineare i procedimenti da usare per proporre modifiche.
“Quando si guarda a molte delle caratteristiche del linguaggio che abbiamo annunciato con Swift 2.0 che si vedono ora in termini di gestione degli errori, dichiarazioni di guardia, disponibilità, controlli e così via, tutto ciò è basato su dialoghi avviati con gli sviluppatori che hanno adottato Swift in applicazioni reali” ha spiegato Federighi; “con Swift sviluppato apertamente nell’Open Source, pensiamo di portare ancora più in considerevolmente in profondità tale interazione”.
Il progetto è disponibile via GitHub dove saranno mostrati quotidianamente i vari progressi, inclusi quelli previsti per Swift 3.0, senza bisogno di attendere gli update dalla prossima WWDC com’è avvenuto con Swift 2. Tra le novità introdotte in queste ore il Package Manager, un progetto in fase preliminare (anche questo open source) che servirà da repository per i moduli Swift che si evolverà con l’input della comunità.
Il codice open source di Swift è disponibile via GitHub e include supporto per tutte le piattaforme software Apple – iOS, OS X, watchOS e tvOS – così come per Linux (al momento c’è il supporto per Ubuntu). Per quanto riguarda Windows, almeno inizialmente Apple intende contare sulla comunità per il supporto se ci saranno richieste specifiche. Non sembra sarà inizialmente una priorità, ha spiegato Federighi che spiega che il progetto è ad ogni modo aperto a ogni possibilità e che LLVM, Clang e LLDB, tecnologie fondamentali per Swift, sono già disponibili ed è stato effettuato il porting su Windows. “È probabile che qualcuno nella comunità, guidato da Microsoft o altri, eseguirà il porting”.
Per quanto riguarda Objective-C, Federighi spiega che non sparirà. È in circolazione da anni ed è usato per scrivere molte applicazioni (alcune di Apple stessa) ma Swift è chiaramente il linguaggio dove saranno fatti gli investimenti futuri ed è quello che Apple consiglia, quando possibile, per cominciare a creare nuovi progetti.