首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >研究Objective-C,Ruby还是Python?

研究Objective-C,Ruby还是Python?
EN

Stack Overflow用户
提问于 2009-02-15 07:28:16
回答 12查看 15.6K关注 0票数 7

我在C++上工作了4-5年。最近我买了iphone和macbook,想为iphone做一些编程。

所以我开始读一本关于Objective-C的书。我还了解到我们可以在MAC上使用Ruby和Python编程。

所以我的问题是研究哪一个?你们看到了哪种语言的未来?

我们可以在其他平台上使用这些语言编程吗?或者这些仅限于MAC上?

我只是个objective-C的初学者,需要一些专家的想法。

交流

EN

回答 12

Stack Overflow用户

回答已采纳

发布于 2009-02-15 14:03:28

我使用所有的语言C++,Ruby,Python和Objective-C。我以不同的方式喜欢每一个。如果你想像其他人一样从事Mac和iPhone开发,我推荐Objective-C。

没有提到的好处之一是Objective-C是C的一个适当的超集(C++几乎是一个超集),这意味着你可以把你所有的C编程知识从C++带到Objective-C编程。事实上,您也可以在Objective-C代码中混合使用C++代码。

在Python和Ruby中不能无缝地做到这一点。之所以可以这样做,是因为Objective-C实际上是一种非常简单的语言。

最初,它只是一个带有定制预处理器的C语言,它接受如下语句:

代码语言:javascript
运行
复制
[rectangle setX: 10 y: 10 width: 20 height: 20];

并在编译前将其转换为:

代码语言:javascript
运行
复制
  objc_msgSend(rectangle, "setX:y:width:height:", 10, 10, 20, 20);

除此之外,Python和Objective-C在对象模型上非常相似,至少与C++相比是这样的。在C++中,类是在编译时创建的。在Objective-C中,Ruby和Python类是在运行时创建的。

我在why Obj-C is cool here上写了一些东西

票数 8
EN

Stack Overflow用户

发布于 2009-02-15 07:43:22

如果你想为iphone编程,那么你应该使用objective-C。整个iphone API都是基于objective-C的,您可以从Xcode获得使用接口构建器和IDE支持的好处。

票数 10
EN

Stack Overflow用户

发布于 2009-02-15 08:10:22

如果您想要生成可以在App Store中销售的本机程序,Objective-C是编写iPhone的唯一方法。

Objective-C中的一些更高级的概念现在正被添加到像C#这样的语言中(例如: C# v3.0中的扩展方法)。学习用Objective-C进行思考将会很有用,你学到的OO模型将适用于大多数其他语言和环境,作为你的C++经验的补充。

Ruby的对象模型比Python更接近Objective-C的对象模型,所以我建议您也学习Ruby,但要等到您的Objective-C技能有了扎实的基础。

请注意,您可以使用Objective-C++,通过在文件上添加.mm后缀,可以对除图形用户界面代码之外的所有代码使用C++ -这在iPhone和Mac上都有效。考虑到您的C++经验,这将帮助您提高工作效率。

如果你想编写iPhone,不需要学习新的Objective-C2.0内存管理,但是你仍然可以使用属性模型(iPhone实际上拥有Objective-C2.0运行时的一个子集)。

票数 7
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/550474

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档