Objective-C
Objective-C è un linguaggio di programmazione generico di alto livello. Creato nel 1984, era il linguaggio principale del sistema operativo NeXTSTEP. Dopo l'acquisto di NeXT da parte di Apple, è diventato il linguaggio principale per la scrittura di app per macOS e iOS. Nel 2014 Apple ha creato il linguaggio di programmazione Swift come suo sostituto, ma Objective-C è ancora ampiamente utilizzato dagli sviluppatori su queste piattaforme.
Objective-C è un'estensione del linguaggio di programmazione C che aggiunge funzionalità di programmazione orientata agli oggetti. Utilizza una sintassi quasi identica a quella di C per tutte le operazioni non orientate agli oggetti, come l'assegnazione di variabili e la dichiarazione di funzioni. Tuttavia, le sue funzionalità orientate agli oggetti prendono in prestito la sintassi da un altro linguaggio di programmazione chiamato Smalltalk. Questa sintassi fa comunicare gli oggetti tra loro inviando messaggi. Invece di chiamare direttamente un metodo predeterminato, come avviene in altri linguaggi, l'istanza dell'oggetto che riceve un messaggio determina dinamicamente quale metodo utilizzare in fase di esecuzione.
Ad esempio, in Objective‑C un messaggio da un oggetto a un altro ha questo aspetto:
[myObject sayHello]
Questo frammento di codice invia un messaggio all'oggetto denominato myObject, chiedendogli di eseguire un metodo chiamato sayHello. Se la classe a cui appartiene myObject include un metodo denominato sayHello, lo esegue. In caso contrario, l'app controlla la superclasse che contiene la classe di myObject e risale la gerarchia finché non trova il metodo. Altri linguaggi di programmazione, come C++ o Java, associano i metodi agli oggetti in fase di compilazione, rendendo il programma più veloce perché sa già quale metodo eseguire, ma al costo di una minore flessibilità.
Objective‑C non include una libreria standard come invece fa C++. Al contrario, tutte le app Objective-C utilizzano uno dei diversi framework software che contengono funzioni e codice predefiniti. Ad esempio, le app sviluppate per macOS utilizzano il framework Cocoa, incluso nell'SDK Xcode.
Metti alla prova le tue conoscenze