Wird Objective-C ++ auslaufen? [geschlossen]

10

Lässt Apple die Unterstützung für Objective-C ++ auslaufen? Beachten Sie das Folgende:

  • In der Objective-C - Sprache manuell , verwendete es zum Mischen von Objective-C und C ein Abschnitt sein ++. Dieser Abschnitt fehlt jetzt.
  • Links zu Artikeln über Objective-C ++ auf der Apple-Entwickler-Website scheinen fehlerhaft zu sein und werden jetzt umgeleitet, z. B. dieser , den ich in dieser Frage zum Stapelüberlauf gefunden habe .
  • Die Suche nach c ++ auf der Apple Dev-Website bringt nur sehr wenig aktuelle Informationen.

Sollte ich mir Sorgen um die Verwendung von C ++ für die iOS-Entwicklung machen?

Rob Lachlan
quelle

Antworten:

19

Nein, ich würde mir darüber keine Sorgen machen.

Zunächst einmal unterstützen Apples zwei Haupt-Compiler-Toolchains (gcc und clang) dies weiterhin. Tatsächlich zeigt die Hauptseite für Clang wiederholt an, dass die Unterstützung von Objective C ++ ein "Ziel des Clang-Projekts" ist.

Zweitens ändert Apple im Gegensatz zu MSDN häufig die technische Online-Dokumentation, und Links zu Artikeln auf der Entwickler-Website sind häufig fehlerhaft. Das ist eine Art Nackenschmerzen - ich habe eine Reihe von QuickTime-API-Dokumentationen auf meiner Festplatte, weil ich es leid bin, sie online neu finden zu müssen.

Die Geschichte von Apple in den 27 Jahren, die ich für den Mac programmiert habe, war, dass sie, wenn sie vorhaben, eine API zu verwerfen, sehr offen darüber sind und in der Regel fünf oder mehr Jahre im Voraus in Form von öffentlichen Ankündigungen kündigen oder zumindest Compiler-Warnungen. Ich wäre also erstaunt, wenn sie eine Programmiersprache, auf die sich viele, viele tausend Entwickler verlassen, nur leise ablehnen würden.

Bob Murphy
quelle
2

Objective-C eignet sich für den gerätespezifischen Teil Ihrer Anwendung. Dies macht die Entwicklung eines GUI-Programms sehr einfach. C ++ wird andererseits benötigt, wenn Sie Portabilität und / oder mehr Kontrolle darüber benötigen, was Sie tun.

Haben Sie jemals versucht, eine Anwendung zu entwickeln, die auf OpenGL mit Objective-C basiert? Ihr Code wird zu einem unangenehmen Durcheinander (insbesondere, wenn Sie viel Vektormathematik durchführen müssen, da Objective-C das Überladen von Operatoren nicht unterstützt).

Viele Bibliotheken für OS X und iOS basieren auf C ++, daher würde ich mir keine Sorgen machen, dass Apple die Unterstützung für C ++ einstellt (sogar Apple verlässt sich darauf).

Raphael
quelle
Es geht um Objective-C ++, nicht um C ++
Alternative
1
@mathepic - Dies ist keine Sprache selbst, sondern eine Funktion des Compilers zum Kompilieren von gemischtem Objective-C- und C ++ - Code.
Raphael
1

Absolut die Antwort ist nein. Ein Großteil der Objective-C-Laufzeit und viele private Teile von öffentlichen Frameworks und privaten Frameworks, die Apple-Software unterstützen, sind heute in Objective-C ++ geschrieben, und das wird sich wahrscheinlich nicht ändern.

Sie nutzen es, um vorhandene Open-Source-Softwarebibliotheken sowie die STL zu nutzen, wo dies sinnvoll ist. Clang ist in C ++ geschrieben

Oh und alles von IOKit ist C ++

Xcode ist in vielen Teilen in Objective-C ++ geschrieben

C ++ für die Dinge, für die es Sinn macht, Objective-C für die API und die Benutzeroberfläche. (Mit anderen Worten, stellen Sie eine großartige stabile API bereit, die mit C ++ ausgestattet ist, wo es Sinn macht.)

Uchuugaka
quelle