2

我过去听过一些关于哪个更成熟的辩论:RubyCocoa 或 Obj-C/Cocoa ......但我觉得答案直接超过了真正欣赏答案的“新手”。

所以问题是:对于一个完全没有编程经验的初学者来说,学习 Ruby 和通过桥梁探索 Cocoa 更容易(然后可能处理 Obj-C)还是直接跳到 Objective-C 和可可。

这两个社区都很强大并且拥有大量资源,但正如许多人所指出的那样,Obj-C 的语法令人生畏。也许对于一个真正的初学者来说,学习 Ruby 然后学习 Objective-C 会更容易?

更新:我很抱歉,但是当我说“学习 Ruby 并探索 Cocoa”时,我并不是要通过 RubyCocoa 学习编程,而是要学习 Ruby(一旦感到足够自信)开始探索 Cocoa,并有可能利用他们不断增长的处理 Obj-C 的技能。

4

9 回答 9

11

我不建议学习使用 RubyCocoa 编程。

我喜欢 Ruby,并认为它是一种学习编程的好语言,但是 RubyCocoa 桥的文档记录不够好,我推荐它作为学习环境。您将同时学习一般编程概念、Cocoa 框架和 RubyCocoa 的怪癖。有很多东西要塞进你的脑袋里。

如果您已确定并决心从 Cocoa 开始,请从学习 Objective-C 开始。否则,您可以从学习 Ruby 开始,然后在您作为一名程序员感觉更舒服一点后过渡到 Objective-C。一旦你完成了所有这些,你就可以使用 RubyCocoa,但是你会知道它不会让你发疯。

于 2009-02-04T01:59:54.940 回答
5

我将从 Apple 所宣扬的内容开始:Objective-C/Cocoa

于 2009-02-04T03:05:47.490 回答
3

编写代码是容易的部分

没有意义:

  1. 试着看看哪个容易,如果你选择简单的方法,你总是会弄错的。不要害怕困难,因为困难就是不要害怕。

  2. 根据我添加的帖子,尝试以这种方式比较语言/方法,认为在这种情况下什么是简单/好/难的是语法问题,最终归结为解释,美丽在旁观者的眼中。

  3. 根据他们最终将尝试使用该技术做什么,您会发现在一种方法或另一种方法中,某些东西比其他方法“更容易”......容易是一件很难定义的事情

  4. 只有一个问题很重要:在接触这两种方法中的任何一种之前,人们知道什么? - 你说:

    对于一个完全没有编程经验的初学者

我的答案:

经常在我住的地方附近有游客问:

“我如何从这里到达地名 X?”

这里的人通常会回答:

“如果我是你,并且我试图到达地名 X,我就不会从这里开始......”

所以..你的问题的答案是:

两者都不

初学者应该始终按照@Tafkas 所说的那样学习编程的基础知识……(不一定需要学习 OOP 语言……而是编程……),然后再决定学习和/或实施什么。(这+需求收集)

..否则学习这些语言/技术技能的人将只是另一组脚本小子,他们正在成为复制粘贴代码猴子

于 2009-02-04T02:01:23.033 回答
2

从 RubyCocoa 开始的问题是你最终会同时学习 ruby​​ 和 cocoa 以及两者之间的交互。我会说学习 ruby​​,或者学习 Objective-C/Cocoa。直接跳入 RubyCocoa 会让你大吃一惊。

于 2009-02-04T01:49:14.790 回答
2

听起来你的目标是学习使用 Cocoa 编程,使用 Ruby 或 Objective-C 作为语言。

虽然我从未使用过 Ruby(或 RubyCocoa,就此而言),但我的理解是 Cocoa 是用 Objective-C 作为主要语言编写的,而桥梁(Python 和 Ruby)排在第二位。虽然它们通常工作得很好,但在使用来自 Objective-C 的 Cocoa 时不存在一些粗糙的边缘。

我会说你应该走 Objective-C/Cocoa 路线。首先从另一种语言开始可能还不错——如果你想学习 C(这将很有用,因为 Objective-C 是 C 的超集),或者如果你想走 OO 路线,则从 Java 之类的东西开始。

这并不是说 RubyCocoa 不起作用或没有用。它的功能很棒,但我不认为它是开始使用 Cocoa 编程的地方。

于 2009-02-04T02:06:48.060 回答
2

我建议,如果您要认真为 OSX 和/或 iPhone 编写应用程序,我强烈建议您使用 Objective-C 和 Cocoa。

原因很简单:

  • Apple 关于 Objective-C 的文档非常好。
  • 您将从 Stack Overflow 的社区获得更多帮助,因为 Objective-C/Cocoa 开发人员比 RubyCocoa 多。(从我目前所见)。
  • Objective-C 开发人员非常善于互相帮助,我找不到更好的开发人员团队,他们对学习这门语言的新人张开双臂。
  • 如果您需要,可以使用出色的开发人员书籍以及外部培训。
  • 我看到的最大问题是您不能使用 RubyCocoa 为 iPhone 开发。但是如果你学习了 Objective-C/Cocoa,你几乎可以直接进入 Cocoa Touch。

无法保证 Apple 会像使用 Cocoa 一样更新 RubyCocoa。

不要误会我的意思,学习 Ruby 是一门很棒的语言,我认为学习它不会出错。但是现在,如果您现在可以选择学习任何一个,或者选择 Objective-C/Cocoa。

于 2009-02-04T04:56:03.647 回答
1

如果你想为 OS X 或以后的 iPhone 构建严肃的应用程序,我认为使用 RubyCocoa 会让你走上更艰难的道路。

主要原因只是能够找到您可能遇到的常见编程问题的答案。Objective-C/Cocoa 周围有一个蓬勃发展的社区,有很多论坛支持、代码片段、示例等。如果您了解 Objective-C,那么您将无限容易地快速学习如何使用 Cocoa。您的同事也可以更轻松地对您的代码进行故障排除并在您遇到困难时帮助您。Objective-C 真的不难学,特别是如果你对 OO 概念有一定的基础。

于 2009-02-04T02:54:56.437 回答
0

我建议从 oo 语言开始,例如 c++ 或 java。在了解了oo的基本概念之后,学习objective-c应该不难。

ruby cocoa 的问题在于,不能保证苹果将来会支持这一点。他们过去已经放弃了可可-爪哇桥。

于 2009-02-04T01:49:07.567 回答
0

我认为这取决于初学者已经知道多少。如果您已经了解面向对象编程,那么您绝对应该学习objective-c。考虑消息传递、委托和类别等范式将有助于理解 Cocoa 系统。如果您掌握了几种语言,但没有面向对象编程,那么您可能也有足够的经验通过 Cocoa 学习 OOP,但要了解它处理事情的方式与 C++ 等语言不同。如果你的编程经验很少,那么短期内 ruby​​ 可能会更好。

Objective-c 的另一个需要牢记的优点是手动引用计数内存管理范式。它可能比 malloc/free 更容易处理,但它不允许 Java 和脚本语言产生的懒惰。

于 2009-02-04T02:11:44.137 回答