Objective-C

Objective-C
linguaggio di programmazione
AutoreBrad Cox e Tom Love (Stepstone Corp.)
Data di origine1984
Ultima versione2.0
Utilizzolinguaggio general-purpose
Paradigmiprogrammazione orientata agli oggetti, programmazione multi-paradigma, class-based programming e riflessione
Tipizzazionedebole, dinamica
Estensioni comunih, m, mm e C
Influenzato daC e Smalltalk
Ha influenzatoC++, Swift, Java
Implementazione di riferimento
Sistema operativoMultipiattaforma
Sito webdeveloper.apple.com/library/archive/documentation/Cocoa/Conceptual/ProgrammingWithObjectiveC/Introduction/Introduction.html

Objective-C (in breve Obj-C) è un linguaggio di programmazione riflessivo orientato agli oggetti, sviluppato da Brad Cox alla metà degli anni ottanta presso la Stepstone Corporation.

Come lo stesso nome suggerisce, l'Objective-C è un'estensione a oggetti del linguaggio C. Esso mantiene la completa compatibilità col C (a differenza di quanto avviene, per esempio, nel caso del C++). Tra l'altro, anche a causa di questa compatibilità, Objective-C non è dotato di forte tipizzazione (caratteristica che invece esibiscono, tra gli altri, sia C++ che Java).

Le estensioni a oggetti con cui Objective-C arricchisce il modello semantico del C sono ispirate al linguaggio Smalltalk, in particolar modo alla gestione dei messaggi. Le caratteristiche del runtime system collocano l'Objective-C tra i linguaggi ad oggetti dinamici. Sono supportati tutti gli elementi classici della programmazione a oggetti; ma non mancano concetti innovativi anche su questo fronte, come il meccanismo delle categorie e strumenti legati alla riflessione.

La sua diffusione è principalmente legata al framework OpenStep di NeXT e al suo successore Cocoa, presente nel sistema operativo macOS di Apple. A NeXT si deve il supporto dell'Objective-C nel compilatore gcc di GNU.