学习Objective-C,Ruby还是Python?

2024-06-16 11:53:44 发布

您现在位置:Python中文网/ 问答频道 /正文

我从最近的4-5年开始从事C++的工作。最近我买了iphone和macbook,想为iphone做些编程。

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

所以我的问题是学习哪一个?你们看到未来的语言是什么???

我们能在其他平台上用这些语言编程吗?还是只限于MAC?

我只是一个初学者,需要一些专家的想法,哪条路去。

空调


Tags: 语言mac编程平台macbookruby专家iphone
3条回答

Objective-C是编写iPhone程序的唯一方法,如果你想制作可以在App Store中销售的本地程序。

Objective-C中的一些更高级的概念现在被添加到C#等语言中(例如:C#v3.0中的扩展方法)。在Objto-C中学习思考是有用的,你学习的面向对象模型将适用于大多数其他语言和环境,作为C++体验的补充。

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

注意,你可以使用Objto-C++,使用C++来实现你的GUI代码,你的文件上有.mm后缀——这在iPhone和MAC上都有作用。考虑到C++的经验,这会帮助你提高效率。

如果你想为iPhone编程,不要费心学习新的Objective-C 2.0内存管理,但是你仍然可以使用Properties模型(iPhone实际上拥有Objective-c2.0运行时的一个子集)。

如果你想为iphone编程,那么你应该使用objective-C。整个iphone API是基于objective-C的,你可以从Xcode中使用interface builder和IDE支持。

我使用所有的语言C++、露比、Python和Objtovi.C,我喜欢不同的方法。如果你想像其他人一样进入Mac和iPhone的开发,我推荐Objective-C

<> P>一个好处是Objy-C是C(C++几乎是超集)的一个适当的超集,这意味着你可以从C++到Objy-C编程中获得所有C编程知识。事实上,你也可以在Objto-C代码中混合C++代码。

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

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

[rectangle setX: 10 y: 10 width: 20 height: 20];

并在编译之前将其转换为:

  objc_msgSend(rectangle, "setX:y:width:height:", 10, 10, 20, 20);

除了露比、Python和Objto-C,它们的对象模型与C++相比至少非常相似。C++中的类是在编译时创建的。在Objective-C中,Ruby和Python类是在运行时创建的。

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

相关问题 更多 >