擅长:python、mysql、java
<p>我将附和克里斯的评价,并将进一步说明为什么你应该学习Objective-C来学习可可。正如克里斯所说,Objto-C是可可的基础和本族语,它的许多范例与这一谱系密不可分。具体来说,实现Cocoa技术(如分布式对象和绑定)需要选择器和动态消息解析以及在运行时修改类的能力。尽管这些特性在其他动态语言(如Ruby和Python)中也可用,但是语言模型中存在的不匹配之处已经足够多了,您至少需要了解Objective-C才能理解Cocoa。我建议您看一下前面的问题进行进一步讨论:<a href="https://stackoverflow.com/questions/272660/do-i-have-to-learn-objective-c-for-professional-mac-development">Do I have to learn Objective-C for professional Mac Development?</a></p>
<p>幸运的是,Objective-C很容易学习。我经常告诉人们,他们将花一天时间学习C/C++或java或LISP、方案或任何新的动态语言如Ruby和Python来实现ObjuleC。除了稍微扩展一下你的思维之外,你将至少学会阅读几乎所有Cocoa文档和示例中使用的代码。在</p>
<p>至于Ruby和Python,桥接功能非常相似。事实上,它们都使用苹果的<a href="http://bridgesupport.macosforge.org/trac/" rel="nofollow noreferrer">BridgeSupport</a>(Leopard附带)来提供桥的描述。两者都得到了苹果和豹子的支持。你喜欢哪种语言取决于个人品味。如果你选择Ruby,我建议你看看<a href="http://www.macruby.org/trac/wiki/MacRuby" rel="nofollow noreferrer">MacRuby</a>。它无疑是Ruby on OS X的未来,因为它在Objective-C运行时之上重新实现了Ruby运行时。这提供了一些很好的性能和概念上的优势(包括与Objective-C垃圾收集系统的集成,这是使用本机pythongc的PyObjC目前缺少的特性)。MacRuby还包括一个自定义解析器,它使桥接的objective-c方法的语法更好一些。MacRuby的缺点是,在撰写本文时(2009年6月),它还没有完全准备好用于生产级的使用。因为听起来这是一个学习项目,这可能不是一个问题。在</p>