33 votes

Dans quelle mesure Objective-C ++ est-il pris en charge?

J'ai appris l'Objective-C et Cocoa par mon travail dans le Hillegass livre et il me semble que j'ai peut-être mieux de les utiliser Objective-C++. Objective-C semble être le choix évident pour le développement de l'Isu, mais j'ai une très forte C++ fond et amour pour développer des applications de back-end en C++ et utiliser Objective-C++ pour faire l'INTERFACE utilisateur de l'intégration. Mais je me demande si Apple va continuer à développer en Objective-C++ ou que ça va devenir une impasse.

Quelqu'un est-il en Objective-C++?

29voto

Barry Wark Points 73462

Avertissement: je n'ai pas de travail ou de parler pour Apple, donc c'est mon avis:

Je ne peux pas parler pour les grands dev magasins, mais dans mon petit groupe, nous avons utilisé l'Objective-C++ à la fois pour l'intégration de bibliothèques C++, et vous propose pour l'écriture des sorties en C++. Comme @alxp mentionne, des choses comme la manipulation d'exception à travers la frontière linguistique sont douloureuses, mais avec un peu de planification, la plupart de ces douleurs peuvent être évités. Pour les devs C++, les gains peuvent être bien la peine de la douleur.

En termes de soutien, je pense que vous pouvez supposer que le soutien dans son état actuel ne vont pas disparaître de si tôt. C'est une partie du code de GCC et Clang de la chaîne d' (Apple du compilateur de la chaîne d') soutient pleinement Objective-C++. D'autre part, il n'est pas une garantie officielle que Apple va continuer à développer l'intégration de fixation de certaines verrues, par exemple.

Pour les projets en cours, je dirais que si en Objective-C++ fournit des prestations, il est sûr de compter sur le soutien existants et vous devez l'utiliser.

7voto

alxp Points 3180

La seule fois où j'ai utilisé ObjC++ a été de porter des bibliothèques afin de les rendre accessibles à partir de mon ObjC code. Les affrontements entre la façon dont les ObjC++ et ObjC poignée de choses comme des exceptions et de la classe de création et de destruction juste fait trop de mal de tête à jongler avec les deux langues dans un même projet.

Je ne pense pas que le soutien va disparaître bientôt, comme c'est arrivé avec le Cacao / Java car il est assez solidement partie de GCC, et le fait que l'Objective-C++ compile en bas à droite C++ de la même manière que l'Objective-C permet de compiler en bas à droite de C, mais je n'ai toujours pas trouver un très agréable environnement pour construire des logiciels en rapport avec Objective-C et de pouvoir confortablement utiliser pleinement le OS X fourni des cadres.

4voto

Jens Ayton Points 11566

Objective-C ++ restera probablement pris en charge tant qu'Objective-C le sera. Obj-C ++ est un objectif de base pour clang , qui devrait éventuellement remplacer gcc en tant que compilateur préféré d'Apple. L'utilisation est susceptible d'augmenter à mesure que les applications de carbone sont déplacées vers les frontaux Cocoa.

Bien sûr, le mot "probable" apparaît deux fois plus haut parce qu'Apple est tellement imprévisible. :-)

2voto

Heng-Cheong Leong Points 529

Je soupçonne qu'Apple continuera de prendre en charge Objective C ++ pendant un certain temps, car je ne vois pas d'effort récurrent important requis par Apple pour maintenir Objective C ++ lors des mises à jour d'Apple, Cocoa et Objective C ++.

1voto

ThomasW Points 8078

L'autre jour, j'ai été surpris lorsque j'ai tenté de refactoriser du code Objective-C contenu dans un fichier Objective-C ++ à l'aide du support de refactoring de Xcode. Même si les éléments de menu sont activés, j'ai obtenu le code "Impossible de refactoriser le code Objective-C ++. Xcode ne peut refactoriser que le code C et le code Objective-C." Message d'erreur. Ainsi, bien que la compilation d'Objective-C ++ continue de fonctionner indéfiniment, je soupçonne qu'Objective-C ++ sera un citoyen de seconde classe au sein de Xcode.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X