Ci sono molte somiglianze tra Linux e OS X. Entrambi sono moderne implementazioni di Unix.
Le maggiori differenze sono:
Apple's OS è costruito per una ristretta gamma di hardware.
OS X, oltre al core OS, ha Cocoa. (ex NeXTStep)
Penso che Cocoa sia il differenziatore più significativo. Non c'è un equivalente diretto di Cocoa su Linux. (Nemmeno QT)
Cocoa è una soluzione di sviluppo per costruire ed eseguire applicazioni grafiche moderne. È un'enorme collezione di framework e strumenti che permettono agli sviluppatori di costruire rapidamente applicazioni attraverso la creazione di interfacce visuali. E poi agganciandosi al codice che fa uso di oggetti prefabbricati. Le API vanno dai tipi di dati di base fino ai pulsanti e alle finestre dell'UI, e poi alla gestione dei multimedia, al rendering 3D e così via.
Costruire una nuova applicazione è simile a costruire qualcosa con i Lego. Si spende più tempo a rovistare nella scatola per trovare il pezzo giusto, che a costruire cose nuove.
Questo significa che le applicazioni OS X tendono ad essere molto coerenti nel loro funzionamento. E gli sviluppatori che sfruttano questa bontà preconfezionata beneficiano del fatto di stare sulle spalle dei giganti.