Apri il menu principale

Swift (linguaggio di programmazione)

Linguaggio di programmazione per iOS, macOS, watchOS e tvOS creato da Apple
Swift
Swift logo with text.svg
La rondine nell'icona del linguaggio Swift
AutoreApple Inc.
Data di origine9 settembre 2014
Ultima versione5.0.1
(19 aprile 2019)
UtilizzoGeneral purpose
ParadigmiMultiparadigma
Tipizzazioneforte
Specifiche di linguaggioManuale Swift
Estensioni comuniswift
Influenzato daC, Objective C, linguaggio D[1]
Implementazione di riferimento
Implementazionecompilatore LLVM
Sistema operativomacOS, iOS, watchOS, tvOS, Linux
LicenzaApache 2.0
Sito web

Swift (dall'inglese "rondone" e "rapido, repentino") è un linguaggio di programmazione object-oriented per sistemi macOS, iOS, watchOS, tvOS e Linux, presentato da Apple durante la WWDC 2014.[2] Swift è concepito per coesistere con il linguaggio Objective-C, tipico degli sviluppi per i sistemi operativi Apple, semplificando la scrittura del codice. Swift è stato progettato per essere più resiliente agli errori nel codice. Utilizza il compilatore LLVM incluso in Xcode 6 beta e il run time di Objective C, permettendo l'uso di codice Objective C, Objective C++ e Swift in un singolo programma. Swift è fino a 8,4 volte più veloce di Python e fino a 2,6 volte più veloce di Objective C in alcuni tipi di algoritmi.[3]

Il 25 marzo 2019 è stata pubblicata la versione 5.0 sotto licenza open source Apache 2.0 per sistemi Apple e Linux.[4]

StoriaModifica

Lo sviluppo di Swift è stato iniziato nel 2010 da Chris Lattner, aiutato in seguito da molti altri programmatori. Swift ha preso idee "da Objective-C, Rust, Haskell, Ruby, Python, C#, CLU, e da troppi altri per elencarli tutti".[5] Il 2 giugno 2014 l'app per il WWDC è divenuta la prima app distribuita al pubblico scritta in Swift. Una versione beta del linguaggio è stata distribuita agli sviluppatori Apple registrati fino a quel momento, ma Apple non promette che la versione finale di Swift sarà compatibile, a livello di sorgente, con quella distribuita. Apple prevede di realizzare convertitori di codice sorgente se necessario, all'atto della distribuzione definitiva. Alla WWDC è anche stato distribuito un manuale di 500 pagine: "The Swift Programming Language",[6] disponibile gratuitamente sull'iBookstore di Apple.

Al keynote dell'8 giugno 2015 Apple ha annunciato la distribuzione di Swift 2.0 con notevoli miglioramenti nella struttura del linguaggio e aggiunta di funzioni, impegnandosi per rendere il progetto open source nel futuro prossimo. Il 3 dicembre dello stesso anno viene lanciato il sito swift.org e il codice sorgente del linguaggio è pubblicato con licenza Apache 2.0 su un repository GitHub.[7] Apple resta lo sviluppatore principale e ne rende disponibile anche una versione del compilatore per Linux (Creato appositamente per Ubuntu).[8]

Il 13 settembre 2016, durante la WWDC 2016, Apple ha presentato la terza versione del suo linguaggio di programmazione insieme ad un'applicazione per iPad, Swift Playgrounds, che permette, tramite una grafica semplice e intuitiva, di imparare a programmare con Swift, soprattutto orientato ai più giovani.

Cronologia delle versioniModifica

Versione Data rilascio Novità
1.0 9 settembre 2014
1.1 22 ottobre 2014
1.2 8 aprile 2015
2.0 21 settembre 2015
2.1 20 settembre 2015
2.2 21 marzo 2016
2.3 12 giugno 2016
3.0 13 settembre 2016 [9]
3.1 27 marzo 2017
4.0 19 settembre 2017 [10]
4.1 29 marzo 2018
4.2 17 settembre 2018 [11]
5.0 25 marzo 2019 [12]
5.1 10 settembre 2019

SintassiModifica

Hello, world!Modifica

Hello, world! è il classico programma che scrive in output "Hello, world!".

import UIKit

print("Hello, world!")

AnalisiModifica

import UIKit

La funzione "import" importa nel programma determinati metodi o classi che permettono a quest'ultimo di implementare determinati comandi. "UIKit" è un framework sviluppato da Apple che fornisce le funzioni fondamentali per gestire la GUI e gli input dell'utente. In questo caso il codice compila anche senza importare UIKit (è stato importato solo come esempio) in quanto l'unica funzione utilizzata è stata la funzione "print" che fa parte del core del linguaggio.

print("Hello, world!")

La funzione "print" permette di mostrare a schermo ciò che viene scritto tra le virgolette dentro le parentesi tonde.

In Swift non è necessario inserire il punto e virgola (;) alla fine di ogni istruzione (a differenza di C o altri linguaggi).

Parola palindromaModifica

Una parola palindroma è una parola che, sia la si legga da destra che da sinistra, risulta sempre uguale (ad esempio, "anna" è una parola palindroma). A seguito verrà mostrato e spiegato il codice in Swift per creare un programma che, data una parola, scriva a schermo se è palindroma o no.

import UIKit

var parola = "anna"
var parolaInvertita:String

parolaInvertita = String(parola.characters.reversed())

if parolaInvertita == parola {
    print("La parola \(parola) è palindroma\n")
} else {
    print("La parola \(parola) NON è palindroma\n")
}

"var" è la sintassi che permette di dichiarare una variabile. Swift riconosce automaticamente il tipo di variabile inserita (come per la variabile "parola", dove non è necessario specificare che si tratti di una stringa), ma è anche possibile specificarlo (come per la variabile "parolaInvertita", dove abbiamo dichiarato che è di tipo String).

La funzione "parola.character.reversed()" restituisce la stringa invertita. La funzione "String()" permette di convertire ciò che è scritto tra le parentesi tonde in una stringa.

La funzione "print" scrive a schermo ciò che è presente tra le virgolette.

La sintassi "\()" nella funzione "print" permette di stampare il contenuto della variabile scritta tra le parentesi tonde.

NoteModifica

  1. ^ Building assert() in Swift, Part 2: __FILE__ and __LINE__ - Swift Blog -, Apple Developer. URL consultato il 26 settembre 2014.
    «Swift borrows a clever feature from the D language: these identifiers expand to the location of the caller when evaluated in a default argument list.».
  2. ^ (EN) Apple WWDC 2014: iPhone, iPad updates, "smart home" system and more, CBS News, 2 giugno 2014. URL consultato il 3 giugno 2014.
  3. ^ 10.000 interi trovati in un grafico usando un algoritmo di ricerca in profondità. Test condotti da Apple nell'ottobre 2014 utilizzando sistemi MacBook Air 13" in produzione con processore Intel Core i5 a 1,4GHz, 4GB di RAM e OS X v10.10 pre-release. Le prestazioni variano in base alla configurazione del sistema, alla connessione di rete e ad altri fattori., su apple.com. URL consultato il 29 maggio 2015.
  4. ^ The Swift Programming Language. Contribute to apple/swift development by creating an account on GitHub (Apple), 1º aprile 2019. URL consultato il 1º aprile 2019.
  5. ^ (EN) Home page di Chris Lattner, su nondot.org. URL consultato il 7 giugno 2014.
  6. ^ (EN) The Swift Programming Language, Apple, 2 giugno 2014. URL consultato il 7 giugno 2014.
  7. ^ (EN) Jacob Kastrenakes, Apple's new programming language Swift is now open source, The Verge, 3 dicembre 2015. URL consultato l'8 dicembre 2015.
  8. ^ Apple rende Swift open source, ma non poteva fare altrimenti, su dday.it. URL consultato il 12 giugno 2015.
  9. ^ SWIFT 3.0: Novità release, su xcoding.it. URL consultato il 06/01/2019.
  10. ^ SWIFT 4.0: Novità release, su xcoding.it. URL consultato il 06/01/2019.
  11. ^ SWIFT 4.2: Novità release, su xcoding.it. URL consultato il 06/01/2019.
  12. ^ (EN) Swift.org - Swift 5 Released!, su swift.org. URL consultato il 26/03/2019.

Altri progettiModifica

Collegamenti esterniModifica

Controllo di autoritàLCCN (ENsh2015001571 · GND (DE1066617112 · BNF (FRcb17039945c (data)