我是ASP.NET開發人員。我想學習微軟的網頁開發技術和其他語言。 我聽說過兩種語言,但我不知道哪一種更好,或者如何優先考慮哪種語言,特別是clojure是新的。clojure與紅寶石
任何人都可以幫我解釋爲什麼要選擇其中的一個嗎?
謝謝。
我是ASP.NET開發人員。我想學習微軟的網頁開發技術和其他語言。 我聽說過兩種語言,但我不知道哪一種更好,或者如何優先考慮哪種語言,特別是clojure是新的。clojure與紅寶石
任何人都可以幫我解釋爲什麼要選擇其中的一個嗎?
謝謝。
雖然我偏愛Rails上的Django框架,但Ruby是一種很好的語言。我發現使用解釋型語言的一件事是他們模糊的線程實現。在Ruby和Python中,解釋器一次只能處理一個線程。
就clojure而言,想一想當你嘗試使用它時圖書館會有多大。來自.Net你已經有了一個巨大的庫。在這一點上,Python和Ruby相當成熟,你可以找到大部分你可以想象的擴展。在沒有它的情況下,大型圖書館是理所當然的。轉換之前看一下.Net nuke。沒有使用它,但它應該是.Net的模型/查看器層。
從ASP切換到Ruby可能比切換到Clojure更容易,它也有更大的社區和生態系統。但是,如果您對函數式編程和/或花式併發功能感興趣,則應該給Clojure一個鏡頭。
你可以讓Clojure爲你提供整個Java社區和生態系統......你可以爭論定義,但在實踐中你會得到很多好處 – mikera 2011-02-17 00:38:57
如果您的目標是完成任務並重用成熟的庫,Ruby顯然會爲您提供更好的回報。考慮到Web開發,它必須擁有最具活力的生態系統之一。新東西的數量很大,而且最重要的是,質量往往令人驚歎。
它有一個非常不錯的package distribution system,和一些工具,使各種級別的實際網絡開發輕而易舉。
在你有重量級的Web框架:
打火機替代你有一噸較輕的,如Sinatra,這可能是我見過的最優雅的小型網頁框架之一,或者是Camping,它使用起來很小且很有趣。
這只是開始。無論是ORM,模板引擎,還是其他任何你想要與它相關的網站,你都有很多優質的選擇。
在紅寶石消極的一面:
Clojure是一個完全不同的野獸。這是一門非常新的語言,它完全實用。如果你以前從未以功能性風格進行過編程,那麼這可能是一種範式轉變,可能會使你的工作效率下降一段時間,但在這個過程中你幾乎肯定會學到很多東西。
它也是一個lisp,和函數式編程一樣,它可能意味着要學習很多新東西,但是在這個過程結束時會有很多啓發。
這是一個非常優雅的語言,一個非常活躍的社區。它的速度也比ruby快很多,而且新版本的1.2版本只會更好。
所以,從積極的一面:
在消極的一面:
所以摘要:
如果你想在一個非常舒適的environnment學習新的東西,而不必建立東西的可能性藉助成熟的圖書館非常快速地選擇紅寶石。
如果你想學習甚至更多新東西,你不介意在一個全新的領域,最終花更多的時間去做事情,並且你想參與一個可能正在修改的社區我們關於編程思考的方式,雖然黑客入侵和在這個過程中玩得開心,選擇clojure;)
我同意如果你只有一個網站完成ruby。使用Clojure,你會學到更多。 Clojure中的網絡資源正在快速開發新的框架,基於事件的服務器,模板化的新思路...... Clojure非常適合使用關鍵值存儲庫,因爲它幾乎像普通數據庫一樣感覺所以你不需要OO到什麼數據庫轉換框架。 Clojure作爲普通的purpess編程語言更具有優勢,因爲它更快速,並且有更多的庫。 – nickik 2010-07-26 14:25:58
我同意Clojure可以從一些流行的庫/框架中獲得很多,但我認爲我看到的可用代碼更清晰。正如另一位評論者曾經說過的,Ruby擁有大量可用的「與Fugly內部關係」的庫。它們可能適合您的需要,但您必須遵守其代碼風格,可能有或可能不存在巨大的效率問題,並且可能需要在Rails下一版本發佈時進行更新(請記住,需要更新Rails出於安全目的,所以你需要推進或獲得LTS版本)。 Clojure庫對我來說更像是乾淨的代碼。 – jm0 2013-12-18 22:13:45
這是比較蘋果橙子 – GabiMe 2010-07-26 13:28:34
來自.NET,它可能會更容易讓你學習Ruby。 – NullUserException 2010-07-26 13:30:14
您最終可以在表格中添加更多選項:Scala和F#都以某種方式「處於」Clojure和Ruby之間。 – 2012-08-21 12:52:35