我从事过去4到5年的C++工作.最近我买了iphone和macbook,想要为iphone做一些编程.
所以我开始阅读一本关于Objective-C的书.我还了解到我们可以在MAC上用Ruby和Python编程.
所以我的问题是要研究哪一个?你们看哪种语言的未来???
我们可以在其他平台上使用这些语言编程吗?或者这些只限于MAC?
我只是一个客观的初学者.需要一些专家的想法.
AC
如果你想为iphone编程,那么你应该使用objective-C.整个iphone API基于objective-C,您可以使用Xcode的界面构建器和IDE支持.
我使用所有语言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与定制的预处理器,它采用这样的语句:
[rectangle setX: 10 y: 10 width: 20 height: 20];
并在编译之前将其转换为此:
objc_msgSend(rectangle, "setX:y:width:height:", 10, 10, 20, 20);
除了Ruby之外,Python和Objective-C在它们的对象模型中非常相似,至少与C++相比.在C++中,类是在编译时创建的.在Objective-C中,Ruby和Python类是在运行时创建的.
我写了一些关于为什么Obj-C很酷的东西
如果您想生成可以在App Store中销售的本机程序,Objective-C是对iPhone进行编程的唯一方法.
Objective-C中的一些更高级的概念现在被添加到C#等语言中(例如:C#v3.0中的扩展方法).学习Objective-C中的思考将非常有用,您学习的OO模型将适用于大多数其他语言和环境,作为您的C++体验的补充.
Ruby的对象模型比Objective-C更接近于Python,所以我建议学习Ruby,但是直到你的Objective-C技能稳固下来.
请注意,您可以使用Objective-C++,并在您的GUI代码上使用C++,在文件上加上.mm后缀 - 这适用于iPhone和Mac.鉴于您的C++经验,这可以帮助您提高工作效率.
如果你想编程iPhone,不要费心学习新的Objective-C 2.0内存管理,但你仍然可以使用Properties模型(iPhone实际上有一个Objective-C 2.0运行时的子集).
你们看哪种语言的未来???
未来的是什么?iPhone开发?Objective-C的.
网页服务?Python/Ruby并行了一段时间.至少在人们开始尝试对大型Ruby应用程序进行维护之前,并对它的不透明性感到沮丧.
实时游戏引擎开发?嵌入式应用?未来的是什么?
"我们可以在其他平台上使用这些语言编程吗?或者这些只限于MAC?"
Ruby和Python:是的.这些设计可在任何支持C的平台上运行.
Objective-C:是的.它是开源的,它是在海湾合作委员会,它应该工作的几乎任何地方.
学习一门新语言并不是一场零和游戏.你可以学习多种语言; 学习Objective-C现在不会阻止你将来学习Python或Ruby.