Un’introduzione al nuovo linguaggio di programmazione di Apple: Swift

Quest’anno al WWDC, l’attenzione era così fortemente su iOS 8 e OS X Yosemite, che quella che avrebbe dovuto essere la più grande notizia dell’evento, è stata piuttosto sottovalutata. Apple ha introdotto nel mondo il linguaggio di programmazione Swift. Questa, per l’utente finale, è appena una novità. Tuttavia, per la comunità degli sviluppatori potrebbe anche essere un punto di svolta. Alcuni linguaggi di programmazione hanno chiari vantaggi rispetto ad altri linguaggi di programmazione, alcuni sono più veloci, altri più efficienti, alcuni sono semplicemente più puliti, altri incredibilmente semplici. Apple è l’ultima azienda a creare il proprio linguaggio di programmazione dopo Go (Golang) di Google e .Net Framework di Microsoft. Swift Programming Language afferma di aver imparato da questi linguaggi, rimanendo fedele al suo predecessore Objective C. Apple afferma di aver creato il linguaggio di programmazione di alto livello più veloce e robusto. Lasciateci spiegare.

swift-banner

Perché abbiamo bisogno di linguaggi di programmazione?

Ci sono diversi modi per fare in modo che un dispositivo faccia “cose”. Qualsiasi dispositivo, dai moderni gadget indossabili ai computer tradizionali, può essere fatto per fare cose utilizzando il vecchio modo del linguaggio macchina, scrivendo in codice byte / linguaggio assembly grezzo, realizzando ogni istruzione a mano; oppure puoi fare affidamento su linguaggi di alto livello che ti aiuteranno a ridurre parte del tedio. Ecco perché ci si concentra maggiormente sul portare i linguaggi degli sviluppatori il più vicino possibile al linguaggio normale. Comprendiamo che il nome di Swift attrae più sviluppatori che spettatori, ma semplificheremo comunque la spiegazione per aiutarti a capire la tecnologia che controllerà le future generazioni di prodotti Apple.

Una rapida introduzione: i dispositivi elettronici sono letteralmente le cose più stupide conosciute dall’umanità, senza tutta la programmazione, sarebbero ridotti a semplici ornamenti. Ciò che dà loro una vera funzione, è la programmazione. A un livello molto elementare, l’elettronica ha bisogno di essere raccontata, azione dopo azione, cosa devono fare, questo è quello che facevamo con le schede perforate e in seguito con il linguaggio macchina. Poi siamo andati avanti nel tempo per sviluppare linguaggi che ci permettessero di comunicare con le macchine in un modo relativamente più naturale (sì, il codice è in realtà una versione più semplice di quello che potrebbe essere). Scriveremmo codice, verrebbe compilato in qualcosa che il computer capisce e quindi eseguito. Quindi, per riassumere, code-compile-execute.

Perché Swift?

Ora, puoi immaginare che la domanda più pertinente sia “Perché?”. C, la lingua è degli anni ’70, aprendo nuovi orizzonti considerevoli all’epoca, poi arrivò il suo off-shoot, Objective C negli anni ’80. Da allora Apple ha utilizzato quella piattaforma per lo sviluppo. La logica impone, “se non è rotto, non aggiustarlo”, e se funziona da 30 anni consecutivi, quale potrebbe essere il problema? Bene, quello. Apple utilizza l’Obiettivo C da decenni ormai. È ora di qualcosa di più veloce, più potente, più facile. Entra Swift.

Secondo il ebook ufficiale su Swift (disponibile gratuitamente su iTunes) “Swift è un nuovo linguaggio di programmazione per app iOS e OS X che si basa sul meglio di C e Objective-C, senza i vincoli della compatibilità C. Swift adotta modelli di programmazione sicuri e aggiunge funzionalità moderne per rendere la programmazione più facile, più flessibile e più divertente. La lavagna pulita di Swift, supportata dai framework Cocoa e Cocoa Touch maturi e molto amati, è un’opportunità per reinventare il funzionamento dello sviluppo del software “.

Copertina del libro Swift

Perché Swift è importante?

Per quanto Apple vorrebbe farti credere nella loro innovazione incondizionata, c’è stata un’idea di linguaggio di “scripting”. I tradizionali parametri di compilazione-esecuzione del codice richiedono che tu possa vedere il tuo codice in azione solo dopo che è stato compilato. La compilazione mostra esattamente di cosa è capace il tuo codice. Se il codice contiene errori, la compilazione comporterà un comportamento irregolare o arresti anomali. Quindi il compito del programmatore sarà quello di rintracciare dove si trova l’errore, correggerlo e quindi ricominciare da capo. Questo processo è arduo e richiede tempo, ma è qualcosa con cui il mondo della programmazione ha sempre convissuto; è così che sono sempre state le cose. I linguaggi di scripting vengono eseguiti riga per riga in modo da poter vedere i risultati durante la scrittura, eliminando la necessità di rivedere il codice per errori in un secondo momento. Rendere il processo più veloce e molto più semplice.

Ad oggi, i linguaggi di scripting sono stati limitati nelle loro capacità. Prendi Python, ad esempio, è velocissimo, ma è anche limitato a cose più semplici con capacità limitate. Come un’auto Forumla1, ottima per le corse, non tanto per fare la spesa.

Se vuoi creare un gioco, Python non è il tuo ambiente preferito. Tuttavia, Objective-C è (o C ++ se sei su Windows). Ora, Swift promette il meglio di entrambi (in effetti, molti) mondi, prendendo ispirazione da Objective-C, Rust, Haskell, Ruby, Python, C #, CLU e troppi altri da elencare (riferimento: sviluppatore / esperto Swift Chris Lattner). Swift afferma di conservare le cose buone e perdere le cose cattive da quanto sopra. Nei benchmark chiave la sua esecuzione è più veloce di Python e molto più veloce di Objective-C, quindi è un buon inizio.

Cos’altro fa?

Swift offre anche un ambiente visivo in tempo reale chiamato “playground” dove puoi vedere i tuoi risultati compilati in tempo reale, proprio come un linguaggio di scripting. Questo, in base al design dell’app, può ridurre interi processi a pochi minuti, perché se qualcosa va storto, saprai immediatamente cosa l’ha causato e potrai affrontarlo proprio lì. È l’equivalente di programmazione della correzione di un errore su una stampa rispetto alla correzione di una parola sottolineata in rosso mentre si procede. Consentendoti di creare app complesse più rapidamente.

Va un po ‘più in profondità. Per i linguaggi di alto livello, era necessario dichiarare e accedere a classi e librerie per coinvolgere le funzioni, non importa quanto di base. in C ++ Avresti bisogno di e per utilizzare input, output e tipi di dati di base nel tuo codice. In Swift, tuttavia, niente di tutto ciò è necessario. Non è necessario dichiarare alcuna libreria, poiché Swift gestirà ciò di cui ogni tipo di dati e funzione io (input / output) ha bisogno e attiverà quella libreria stessa. Quindi, stampare qualcosa di semplice come “Hello world”, va da

#include<stdio.h>
int main(void)
{
  printf("Hello Worldn");
  return0;
}

a un semplice:

println("Hello, world")

Questa è la totalità del codice che deve essere compilato. Noterai anche che il codice non utilizza il temuto “;” come segno universale di una dichiarazione finale.

Quali sono gli svantaggi?

Ora, l’esistenza di Swift non significa la morte istantanea di Objective-C e di tutte le sue vie. Le app possono ancora essere create utilizzando Objective-C e gli utenti nativi di Objective C non si sentiranno completamente alienati in quanto vi sono somiglianze in questi ambienti. Ovviamente, dal momento che Apple ha appena trascorso 4 anni a lavorare su un nuovo linguaggio di programmazione, si concentreranno sullo spingere e supportare Swift, ora e in futuro. Forse un giorno cancelleranno Objective-C dagli annali dei linguaggi di programmazione Apple, ma quel giorno non è oggi. Anche se se esce una nuova lingua, così facile da imparare ed è molto più veloce, allora perché qualcuno dovrebbe insistere con Objective-C?

Naturalmente ci sono alcune preoccupazioni, l’immediata è lo sconvolgimento del settore. Intere carriere sono state forgiate per insegnare alle persone come creare app per iPhone, quelle carriere ei loro studenti sono diventati immediatamente obsoleti, ci saranno molte ristrutturazioni su quel fronte. Avremo anche un nuovo raccolto di primi adattatori per Swift (Flappy Birds già creato utilizzando Swift), che è una cosa buona oltre che cattiva. Bene che nuovo sangue venga iniettato nell’organismo, il male è che questo nuovo sangue sarà inesperto e invaderà il mercato con app di scarsa qualità.

Presto parleremo del framework metallico di Apple, discutendone i vantaggi e gli svantaggi, specialmente nei giochi iOS.

Conclusione

Nel caso ti stia chiedendo perché non è stato annunciato alcun nuovo hardware alla conferenza WWDC, ti rimanderemo di nuovo alla nostra precedente affermazione che l’hardware da solo non può fare nulla finché il software dietro di esso non funziona. Quindi questa è stata letteralmente la più grande notizia di tutti i tempi. Che stiamo ottenendo una nuova gestione del software che cambierà l’aspetto di tutto l’hardware, in futuro. Per ottenere Swift, avrai bisogno di Xcode 6 beta e di un ID sviluppatore.

Ottieni Swift qui