簡體   English   中英

這對初學者來說更容易:RubyCocoa或ObjC / Cocoa

[英]Which is easier for beginners: RubyCocoa or ObjC/Cocoa

我聽過一些過去比較成熟的辯論:RubyCocoa或Obj-C / Cocoa ......但我覺得答案正好超過了真正欣賞答案的“新手”。

所以問題是:對於一個初學者來說,幾乎沒有編程經驗,是否更容易學習Ruby並通過橋接探索Cocoa(然后可能解決Obj-C)或直接跳到Objective-C和可可。

兩個社區都很強大,擁有大量的資源,但是很多人都指出Obj-C的語法只是令人生畏。 也許對於一個真正的初學者來說,學習Ruby然后解決Objective-C會更容易嗎?

更新 :我道歉,但當我說“學習Ruby並探索Cocoa”時,我並不是要通過RubyCocoa學習編程,而是學習Ruby(一旦有足夠的信心)開始探索Cocoa,並有可能利用他們的成長解決Obj-C的技能。

我不建議學習用RubyCocoa編程。

我喜歡Ruby並認為它是學習編程的一種很好的語言,但是RubyCocoa橋的編寫得不夠好,我推薦它作為學習環境。 您將同時學習通用編程概念,Cocoa框架和RubyCocoa的怪癖。 這是很多東西要推到你的頭上。

如果你受到約束並決定從Cocoa開始,那么首先要學習Objective-C。 否則,你可以開始學習Ruby,然后一旦你覺得作為程序員感覺更舒服就轉換到Objective-C。 一旦你完成了所有這些,你就可以使用RubyCocoa,但是你會知道它不會讓你變得瘋狂。

我將從Apple宣講的內容開始:Objective-C / Cocoa

編寫代碼是簡單的部分

真的沒有意義:

  1. 試着看看哪個很容易,如果你選擇了簡單的方法,你總是會弄錯...不要害怕什么是難的,因為很難不害怕。

  2. 嘗試比較語言/方法,根據我添加的帖子,在這種情況下思考簡單/好/難是一個語法問題,最終歸結為解釋,美是在旁觀者的眼中。

  3. 取決於他們最終會嘗試使用這項技術,您會發現某些方法或其他方法比其他方法“更容易”......很難定義

  4. 只有一個問題很重要:在接觸這兩種方法之前,人們知道什么? - 你說:

    對於初學者來說,幾乎沒有編程經驗

我的答案:

經常在我居住的地方附近游客問:

“我如何從這里獲得地名X?”

這里的人通常回答:

“如果我是你,我試圖到達地名X,我不會從這里開始......”

那么......你的問題的答案是:

也不

初學者應該總是按照@Tafkas所說的那樣學習編程的基礎知識(不一定需要學習OOP語言......但是編程......)然后才能對學習和/或實現什么做出任何決定。 (此+要求收集)

..否則,學習這些語言/技術技能的人將成為另一套腳本小子,他們正在成為復制粘貼代碼猴子

從RubyCocoa開始的問題是你最終同時學習ruby和cocoa以及兩者之間的交互。 我會說學習ruby,或者學習Objective-C / Cocoa。 跳進RubyCocoa會讓你失望。

聽起來你的目標是學習用Cocoa編程,使用Ruby或Objective-C作為語言。

雖然我從未使用過Ruby(或者RubyCocoa),但我的理解是Cocoa是用Objective-C作為主要語言編寫的,而橋接(Python和Ruby)則排在第二位。 雖然它們通常運行良好,但是當使用Objective-C中的Cocoa時,存在一些不存在的粗糙邊緣。

我會說你應該去Objective-C / Cocoa路線。 首先從另一種語言開始可能並不壞 - 如果你想要學習它(這將是有用的,因為Objective-C是C的超集),或者如果你想要去OO路線那么類似Java。

這並不是說RubyCocoa不起作用或沒用。 它的功能非常棒,但我不認為它是從Cocoa編程開始的地方。

我建議如果你認真考慮為OSX和/或iPhone編寫應用程序,我強烈建議你盡量使用Objective-C和Cocoa。

原因很簡單:

  • 來自Apple的Objective-C文檔非常出色。
  • 您將從Stack Overflow的社區獲得更多幫助,因為ObjectiveC / Cocoa開發人員比RubyCocoa更多。 (從我到目前為止看到的)。
  • Objective-C開發人員非常善於互相幫助,我無法找到一群更好的開發人員,他們向新人學習語言。
  • 如果您需要,可以使用Great Developer書籍以及外部培訓。
  • 我看到的最重要的是你不能使用RubyCocoa為iPhone開發。 但是如果你學習Objective-C / Cocoa,你幾乎可以直接進入Cocoa Touch。

不能保證Apple會像使用Cocoa一樣更新RubyCocoa。

不要誤會我的意思,學習Ruby是一門很棒的語言,我認為學習它並不會出錯。 但是現在,如果您現在可以選擇學習,或者使用Objective-C / Cocoa。

如果您想為OS X構建嚴肅的應用程序,或者尤其是后來的iPhone,那么我認為您可以通過使用RubyCocoa來實現更艱難的道路。

主要原因是能夠找到您可能遇到的常見編程問題的答案。 Objective-C / Cocoa周圍有一個新興的社區,有大量的論壇支持,代碼片段,樣本等。如果您了解Objective-C,您將可以更快地學習如何使用Cocoa。 您的同行也可以更輕松地對代碼進行故障排除,並在遇到問題時幫助您解決問題。 Objective-C真的不是那么難學,特別是如果你有一些OO概念的基礎。

我建議從一個oo語言開始,比如c ++或java。 在理解了oo的基本概念后,不應該難以學習目標c。

ruby cocoa的問題在於,無法保證蘋果將來會支持這一點。 他們過去放棄了cocoa-java橋。

我認為這取決於初學者已經了解多少。 如果您已經了解面向對象編程,那么您一定要學習objective-c。 在消息傳遞,委托和類別等范式中思考將有助於理解Cocoa系統。 如果你有幾種語言,但沒有面向對象的編程,那么你可能也有足夠的經驗通過Cocoa學習OOP,但要明白它處理的東西與C ++這樣的語言不同。 如果你的編程經驗很少,那么紅寶石在短期內可能會更好。

要記住objective-c的另一個優點是手動引用計數內存管理范例。 它可以比malloc / free更容易處理,但它不允許Java和腳本語言產生的懶惰。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM