Il gruppo #pragma mark nasce con l’ambizione di creare il primo network italiano di specialisti iOS e OS X con l’obiettivo di condividere il know-how e promuovere il confronto fra professionisti, tramite una serie di incontri serali, alcuni workshop di approfondimento e una conferenza annuale.
Matteo ci ha introdotti nel mondo di Swift partendo dalla sua nascita, grazie a Chris Lattner, la mente dietro allo sviluppo di Swift.
Secondo quanto dice l’uomo, il linguaggio di programmazione Swift è stato concepito quattro anni fa:
“Ho iniziato a lavorare sul linguaggio di programmazione Swift nel luglio del 2010. Solo poche persone sapevano della sua esistenza. Gli altri hanno iniziato a contribuire sul serio alla fine del 2011, e Swift è diventato presto un obiettivo importante per il gruppo di sviluppo di Apple nel luglio 2013.
Swift è il prodotto dello sforzo instancabile di un team di esperti di linguaggio, documentazione, ottimizzazione dei compilatori e distribuzione preliminare interna. Mi auguro che, rendendo la programmazione più accessibile e divertente, la prossima generazione di programmatori possa contribuire nel ridefinire il modo in cui l’informatica viene insegnata.”
Il giovane relatore ci ha anche illustrato nel dettaglio come funziona questa piattaforma, le sue peculiarità e best practices, gli strumenti di sviluppo e l’interazione con Objective – C.
Ma quali sono le novità che Swift introduce? Essenzialmente sono:
- Moderno – utilizza una sintassi molto più semplificata per quanto riguardo funzioni parametrizzate, ha migliorato notevolmente la gestione delle stringhe (rogna dell’Objective-C), introduce la possibilità di avere valori di ritorno multipli per le funzioni;
- Veloce e performante – migliorata la gestione della memoria in modo da avere a disposizione dei costrutti per la gestione di allocazione/deallocazione di oggetti e variabili nel programma
- Interactive Playgrounds – una nuova funzionalità (di Xcode in realtà) che permette di interpretare codice al momento della digitazione per valutarne le prestazioni, provare un esempio di applicazione di una procedura di un’API particolare o testare singolarmente moduli indipendenti.