Obiettivo-C ++ viene gradualmente eliminato? [chiuso]


10

Apple sta eliminando gradualmente il supporto per object-c ++? Nota quanto segue:

  • Nel manuale del linguaggio Objective-C , c'era una sezione sulla miscelazione di object-c e c ++. Quella sezione ora è mancante.
  • I collegamenti ad articoli su object-c ++ sul sito Web degli sviluppatori di Apple sembrano essere interrotti e ora vengono reindirizzati, ad esempio questo , che ho trovato in questa domanda di StackOverflow .
  • La ricerca di c ++ sul sito Web apple dev porta pochissimo alle informazioni attuali.

Dovrei essere preoccupato per l'utilizzo di c ++ per lo sviluppo di iOS?

Risposte:


19

No, non me ne preoccuperei.

Prima di tutto, le due principali toolchain del compilatore di Apple (gcc e clang) continuano entrambe a supportarlo. In effetti, la pagina principale di clang indica ripetutamente che il supporto per Objective C ++ è un "obiettivo del progetto Clang".

In secondo luogo, a differenza di MSDN, Apple cambia frequentemente la sua documentazione tecnica online e i collegamenti agli articoli sul sito Web degli sviluppatori si rompono molto. È una specie di dolore al collo - tengo un sacco di documentazione API QuickTime sul mio disco rigido perché sono stanco di doverlo ritrovare online.

La storia di Apple nel corso dei 27 anni che ho programmato per Mac è stata che quando hanno in programma di deprecare un'API, sono molto precisi al riguardo e in genere danno un preavviso di cinque o più anni sotto forma di annunci pubblici o almeno avvisi del compilatore. Quindi sarei stupito se avessero semplicemente deprecato un linguaggio di programmazione su cui fanno affidamento molte, molte migliaia di sviluppatori.


2

Objective-C è adatto per gestire la parte specifica del dispositivo dell'applicazione. Rende davvero semplice lo sviluppo di un programma GUI. D'altro canto, è necessario il C ++ laddove sia necessaria la portabilità e / o un maggiore controllo su ciò che si sta facendo.

Hai mai provato a sviluppare un'applicazione che si basa su OpenGL con Objective-C? Il tuo codice diventerà un disastro (specialmente se hai bisogno di fare molta matematica vettoriale poiché Objective-C non supporta il sovraccarico dell'operatore).

Molte librerie per OS X e iOS si basano sul C ++, quindi non mi preoccuperei che Apple rilasci il supporto per C ++ (anche Apple si affida a esso.)


Sta parlando di Objective-C ++ non C ++
alternativa

1
@mathepic - Che non è un linguaggio in sé ma una caratteristica del compilatore per compilare codice Objective-C e C ++ misto.
Raffaello,

1

Assolutamente la risposta è no. Gran parte del runtime di Objective-C e molte parti private di framework pubblici e framework privati ​​che supportano il software Apple sono oggi scritti in Objective-C ++ e ciò probabilmente non cambierà.

Lo usano per sfruttare le librerie di software open source esistenti e la STL dove ha senso. Clang è scritto in C ++

Oh, e tutto IOKit è C ++

Xcode è in molte parti scritto in Objective-C ++

C ++ per le cose per cui ha senso, Objective-C per l'API e l'interfaccia utente. (in altre parole, esporre un'API stabile e stabile dotata di C ++ dove ha senso)

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.