是否正在逐步淘汰Objective-C ++?[关闭]


10

苹果是否正在逐步淘汰对Objective-C ++的支持?请注意以下几点:

  • Objective-C语言手册中,曾经有一节介绍了Objective-c和c ++的混合。该部分现在丢失了。
  • 链接在苹果开发者网站上的Objective-C ++文章似乎被打破,现在又重新定向,比如这一次,我就发现了这个问题计算器
  • 在apple dev网站上搜索c ++不会带来当前信息。

我应该担心使用c ++进行iOS开发吗?

Answers:


19

不,我不会担心。

首先,Apple的两个主要编译器工具链(gcc和clang)都继续支持它。实际上,clang的主页反复表明对Objective C ++的支持是“ Clang项目的目标”。

其次,与MSDN不同,Apple经常更改其在线技术文档,并且其开发人员网站上的文章链接中断很多。这真是令人难过的痛苦-我在硬盘上保留了大量QuickTime API文档,因为我厌倦了不得不在网上重新查找它的麻烦。

在我为Mac编写程序的27年中,Apple的历史一直是,当他们计划弃用API时,他们是非常先行的,通常会以公开公告的形式发出5年或更长时间的通知,或至少是编译器警告。因此,如果他们只是悄悄弃用了成千上万的开发人员所依赖的编程语言,我将感到惊讶。


2

Objective-C适合处理应用程序中特定于设备的部分。它使开发GUI程序非常容易。另一方面,当您需要可移植性和/或对正在执行的操作有更多控制时,则需要C ++。

您是否曾经尝试使用Objective-C开发依赖OpenGL的应用程序?您的代码将变得一团糟(特别是如果您需要做很多矢量数学运算,因为Objective-C不支持运算符重载)。

OS X和iOS的许多库都依赖C ++,所以我不用担心Apple放弃对C ++的支持(甚至Apple也依赖它)。


它谈论的是Objective-C ++而不是C ++
替代

1
@mathepic-它本身不是语言,而是编译Objective-C和C ++代码混合的编译器的功能。
拉斐尔

1

答案是肯定的。今天,大多数Objective-C运行时以及支持Apple软件的公共框架和私有框架的许多私有部分都是用Objective-C ++编写的,而且这种情况不太可能改变。

他们使用它来利用现有的开源软件库以及有意义的STL。lang用C ++编写

哦,所有的IOKit都是C ++

Xcode在很多方面都是用Objective-C ++编写的

C ++代表有意义的事物,Objective-C代表API和UI。(换句话说,在有意义的地方公开一个很好的,稳定的API并与C ++一起使用)

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.