2012-03-03 63 views
1

嗯,我知道這個強大的語言提供給用戶的php和它的框架非常好。現在我會把我的注意力放到ruby和它最好的Web框架Ruby on Rails上。我會理解的是這些功能ruby對php有所尊敬,對於使用ruby及其框架的程序員來說,有什麼好處,而不是使用php嗎?rails比每個php框架都強大嗎?是否真的很方便讓ruby編程參與?我會有一個想法如果方便的話,開始在紅寶石開始使用Ruby知道PHP

+1

檢查工作librabries /解決方案還請參閱[學習Ruby on Rails的(HTTP後://計算器。 COM /問題/ 55574 /學習的Ruby-on-軌)。作爲sarnold提到的 – 2012-03-04 00:00:34

回答

5

編程多少其他編程語言你學到了什麼?你知道除PHP之外的其他東西嗎?如果沒有,我會建議你學習其他語言。你學習的語言越多,程序員就越好。不同的語言有不同的設計策略和不同的原因,他們試圖解決的問題,功能方法與程序與對象等等。所以學習Ruby,C#,java,clojure,C,Basic,javascript,任何東西。然後學習另一個。另外,不要只專注於學習技術和語言。學習方法學,最佳實踐,面向對象和設計模式。

好吧,所有這一切,這裏是紅寶石的優點。我已經完成了PHP和Ruby,我可以告訴你恕我直言,Ruby更多的是一種專業程序員的語言。 PHP被創建爲愛好者語言,儘管正如你所提到的,它已經變得非常強大,並且在網絡上非常普及,但它也有很多瑕疵。語言設計很難,而且PHP的設計並不像它發展和添加的那麼多。 Ruby更優雅(再次,我的觀點,並不能激怒我的PHP人)在設計中有更多的想法,因此更加一致。 Ruby從一開始就被設計爲面向對象和功能語言。 PHP之後得到的對象是一個後來想到的,只是因爲社區尖叫。 Ruby中的所有東西都是一個對象,幾乎所有的方法都在一個類或模塊中。 Ruby非常好地遵循PHP自己的慣例。

所有的說法,紅寶石都有困難。它更像一個「象牙塔」。既然你提到的不僅僅是ruby,還有Ruby on Rails,讓我給你提供一些相關信息。 Rails不是一種語言。 Ruby是語言,Rails是一種基於該語言的框架。 Rails不是爲簡單的網頁創建的或者是圍繞頁面構建的。它使用MVC模式。這種模式更復雜,學習曲線更大,但它也使更復雜的Web應用程序更容易理解和維護。有些人不喜歡有設計模式或結構推倒在那裏喉嚨。然而,MVC是一個衆所周知和有用的模式,很多人都喜歡這種模式默認情況下是在rails中。 Rails也使用O/R映射器,這也需要一點研究。同樣,一些開發人員不喜歡這樣,但其他人發現將所有東西都放在一個工具箱中很有用。 Rails具有驗證,o/r映射,mvc模式,發送模板化電子郵件,RESTful架構,國際化,數據庫遷移,表單助手,路由,單元測試,命令行工具(rake)等。當然,您可以學習其他Web框架並使用其他工具與Ruby,但Rails碰巧是最受歡迎的。你也可以在PHP和其他語言和框架中完成所有這些工作,但是Rails只是在一個非常漂亮的語言框架下爲你提供所有這些。

因此,總之,讓我說出我認爲這兩種語言之間的差異至關重要。 PHP是爲網頁和網站設計的。 Ruby on Rails專爲Web應用程序設計。 PHP的設計(最初)是爲了解決簡單的問題,比如只是將數據傳到網頁上。 Rails被設計用於更復雜的問題,比如構建具有大量邏輯和複雜性的大型應用程序。當然,人們使用Ruby on Rails在PHP和簡單的網站上構建複雜的Web應用程序。我只是告訴你語言背後的哲學。

所以是的,請學習ruby和rails。你會看到很多設計模式和一個偉大的社區。在ruby生態系統中有很多偉大的開源項目也可以學習。然後學習Clojure或C#或Java,Sql或Objective-c。保持學習。

+0

,你最好也可以看看其他ruby框架。我不認爲有必要深入瞭解它們,但只是看看有什麼不同。看看sinatra而不是rails mvc,或者數據映射器而不是rails activerecord。我知道很多程序員都是「一隻小馬」。瞭解不同的方法意味着你不會將每個問題都視爲「釘子」,因爲你擁有的只是一把「錘子」。 – fregas 2012-03-05 16:22:01

0

您可能要結帳該屏幕由Ryan貝茨鑄造在「入門使用Rails」: http://railscasts.com/episodes/310-getting-started-with-rails

順便說一句:Ryans railscasts.com是在Rails社區最酷的東西需要學習一個都原理(如測試驅動開發,乾淨的代碼,安全性)和Rails插件(「寶石」,其中包括大量的幾乎所有東西,從支付身份驗證到搜索功能),以及與當前最新的Rails版本。