2009-10-30 107 views
1

我買了「Beginning Ruby: From Novice to Professional - by: Peter Cooper」。[紅寶石]:推薦學習方法

從.NET背景中,我想:

紅寶石是C#和 Rails的比較時是ASP.NET

。如果我錯了,請糾正我。我應該和Ruby一起學習Rails,還是首先需要用Ruby在Ruby中浸泡雙手?爲了開發Web應用程序,我是否需要Rails知識?如果沒有Rails,單獨使用Ruby可以做些什麼?

+0

你在問我們你應該做什麼,但你並沒有告訴我們你希望達到什麼目的。你有沒有想要建立的特定項目?你是否想探索這些技術,因爲.NET會讓你感到緊張?如果沒有你的動機或目標,我認爲任何人都不能給你一個正確的答案。 – SFEley 2009-10-30 21:51:18

回答

1

我個人覺得當我有一個項目完成時學習一門語言更容易。這就是Rails所提供的,通過爲Web開發提供一個框架,您可以輕鬆地製作任意數量的基於Web的興趣項目。

只是閱讀和盲目地遵循教程並沒有幫助事情沉浸在其中。特別是當我建立了其他語言做事的舒適方式。

Ruby是來自.NET套件中更正式語言的新鮮空氣。如果你之前從未使用過任何動態語言(Python,Perl等),那麼你需要一段時間。最重要的學習工具是Interactive Ruby shell。如果你想玩代碼,只需開始輸入irb。書籍絕對有幫助,但只是在解釋器中拋出聲明和片段,可以幫助您更好地理解引擎蓋下發生的情況,比記憶方法調用和庫API快得多。

至於關於Ruby的書籍,請查閱_why的紅寶石指南。這與你見過的任何其他編程書不同,如果你來自Ruby引入了一些非常外國概念的.NET方面,那麼這很適合。如果你之前沒有做過任何關閉的事情,那麼可能會被阻止。

並排學習Rails和Ruby的唯一難點在於確定代碼的哪些部分是Ruby,以及Rails輔助方法是什麼。堅持下去,你應該沒問題。

至於在沒有Rails的Ruby中可以做什麼?幾乎任何事情。它是一種功能全面的語言,適用於許多任務。但我不會相信它的硬實時要求

我不是一個.NET人。所以我不能評論Ruby和Rails之間關係的相似性以及c#和ASP.NET之間的關係。我可以告訴你關於Ruby和Rails的內容來自Chad Fowler給我的講話。它被稱爲「Rails很無聊,Ruby是一個玩具。」這是最簡潔準確的描述。

Rails通過採用約定而不是配置方法來完成Web應用程序中的大部分繁重工作。這意味着如果你以Rails期望的方式來定義事情,那麼需要完成最少的配置。 Rails是用Ruby編寫的helper框架,用於實現Web服務的MVC方法。

0

Ruby是一種語言。 Rails是用Ruby編寫的框架。你需要學習Rails的唯一原因是如果你想基於它來編寫應用程序。

0

你說的比較是正確的,Ruby是像C#和ASP.NET MVC是Rails(很好)。 Rails是用Ruby編寫的框架。

Rails似乎是在Ruby中開發Web應用程序的首選方式。還有其他框架,如Merb(與Rails合併),Sinatra和Ramaze。

即使不使用這些框架,您仍然可以構建您的Web應用程序,但這相當於使您的生活複雜化,並且超出了本討論的範圍。

您可以一邊學習Rails和紅寶石的一面,當你得到更好的理解紅寶石,你可以深入到開發獨立的Web應用程序與紅寶石:)

+0

但是,我可以單獨使用Ruby開發哪種類型的應用程序? – RKh 2009-10-30 20:51:34

+0

您可以編寫腳本,並將其用於創建各種應用程序。大多數情況下,我已經看到ppl使用它來訪問文件系統,cron等的低級腳本,有時使它可以與C等一起工作。甚至可以使用可用的工具/寶石編寫自己的GUI應用程序,普通應用程序等 – 2009-10-30 21:04:08

0

你的類比是正確的更深層次的問題。 Ruby是一種語言,Rails是一個框架。

如果你想做網頁編程,你可以學習任何的Ruby Web框架(Rails,Sinatra,Merb ...)。 Rails是最受歡迎的,學習起來相當快(需要愛好配置概念的慣例,因爲它可以幫助你更快地離開地面)。我不能推薦this本書足夠的軌道(它也有一個體面的紅寶石底漆)。

Ruby本身就是一種很好的通用編程語言。

0

這聽起來很奇怪,但我學習Ruby是學習Rails的一個副作用。我選擇了學習Rails,因爲我想創建一個以數據庫爲中心的網站,並且看到Rails似乎比使用以Java爲中心的棧(我的舒適區)簡單得多。我很注重語言(Ruby),現在有一個相當不錯的網站,使用大量的Rails插件,與Web服務集成,圖像處理等。Rails是一個基於Ruby的框架,很明顯,我一直在學習Ruby,但在跳入之前我並不認爲需要Ruby基礎。也許這是因爲Rails充斥着DSL(特定於領域的語言)定製。有點倒退,但它對我有用:-)

2

我應該和Ruby一起學習Rails還是首先我需要在Ruby中很好地蘸我的雙手?

不,你可以同時學習兩者。當然,你應該首先理解語言基礎知識。但你不必之前你的手好好地

我是否需要開發Web應用程序所需的Rails知識?

不,還有其他的webapp frameworks用於Ruby,但RoR是最有名的。

沒有Rails,單獨使用Ruby可以做些什麼?

你可以做任何其他編程語言中的許多事情。

請參閱Ruby站點上的"Success Stories"

0

我強烈建議先學習Ruby。 Ruby是任何程序員都能從中獲益的驚人工具。我寫了很多腳本,在學習Rails之前,我在Ruby中節省了大量的時間。在學習rails之前,我甚至寫了一個sinatra /續集商業智能web應用程序。如果你真正理解了ruby,你將會成爲一名更好的rails程序員。

0

來自a。NET的背景,還可以考慮這樣的標題:

Rails for .NET Developers

Rails是不是真的那麼像ASP.NET,因爲它就像新的ASP.NET MVC;或者相反,反過來。

在潛入Rails之前,我一定會試着去掌握Ruby。 Rails在進入Rails之前會以某種方式做Ruby並且瞭解Ruby,這將爲您提供更好的整體基礎。另外,Rails絕不是Ruby中Web開發的唯一選擇。我建議您看看Sinatra,Ramaze,特別是Rack(它支持所有重要的Ruby Web框架,包括Rails)。

關於Ruby可以做什麼,您可以使用任何腳本語言完成任何您可以完成的任何事情。還有一些項目可以完成許多與C#相同的功能。 Ruby是一種通用語言,所以你可以用它做任何事情。這是因爲Rails而最爲人所知的,但它不僅僅是Web開發的好處。