Ruby 語言有哪些缺陷?

時間 2021-05-29 23:30:52

1樓:

GIL這些說爛的就不提了,設計上的缺點就是對OOP以及duck typing過於執著,導致物件傳遞的層數一旦太多,就很難對它進行分析。

目前好點的IDE比如Rubymine,在這方面同VS相比依然很差。

2樓:劉佳兵

ruby和rails最大的問題是公升級的時候向下相容做得不好(社群產品的通病吧?),ruby的多執行緒其實是假的(單一程序內),rails每乙個新版本都裝進去一堆花裡胡哨但並不怎麼成熟的新功能,用rails做企業應用真的要非常小心。

3樓:蔣志龍

比Rails更底層的實現是sinatra和rake,rake是呼叫系統的shell,很多不錯的ruby gem是基於sinatra的,比如dashing。

4樓:Ruoyu Sun

首先,RoR != Ruby,這兩個東西不是並列的,不能並列來說。

Ruby的缺點,最主要的是效率問題,老版本的GC機制有一些問題,雖然Ruby最新的效率已經不錯了,但是仍然還是有提公升的空間,隨著Ruby的發展,這個問題會漸漸消失。

至Ruby的語法來說,其實是乙個個人偏好的問題,我個人更喜歡Python一些。

我個人從Rails跑到了Bottle(Python),大致的理由如下:

我不喜歡Ruby的語法,當然,這個是個人偏好的問題。

Rails社群是很活躍,但是太多的東西加入,感覺越來越臃腫。我個人不喜歡Rails 3.1把Coffeescript和SaSS預設引入,這兩個「語法糖」類似的東西,說實話很小眾,預設引入還得讓人自己去去掉。

從上面一點引入了乙個風險,就是Rails本身被DHH控制。這本身不是錯誤,而是風險。風險在於,你必須接受DHH的決定,包括Coffeescript,包括SaSS,包括排斥Haml,感覺上不自由。

我寧願Rails乙個都別引入,留一片空白給大家發揮,但是Rails的C2C明白的告訴你,接受我們的決定吧,你別無選擇。

如果你的商業邏輯很標準,特別是涉及到大量的CRUD,Rails會很方便,而我個人來說,做的許多東西並不是很「標準」,導致Rails沒有完全發揮功效,寧願轉去乙個輕量級的框架(Sinatra)自己構建。

順便吐槽一下Django,感覺Django太不靈活了,模組都定死了,想要換都不行。用這種Full-stack的Framework直到我發現,帶來的累贅要遠遠大於帶來的好處,所以我還是喜歡Bottle這樣的Micro-Framework。

5樓:xdite

1. Rails 版本公升級太快,有時候不向下相容,如果你平日不寫 test 或者是維持良好的 coding 習慣,遇到要公升級時會很痛苦。

2. Rails 版本公升級太快,不是很勤奮的 Developer,上手這一門框架會有被知識淹沒的痛苦

3. Rails 版本公升級太快,google 到的有時候可能是過期的解答。

6樓:安江澤

1). 社群氣質不錯。idea產生和採納速度都是領先的,才會催生homebrew這樣基於git的軟體倉庫專案;

2). github上開發專案非常活躍,參與度很高;

從這兩點看Ruby是入門者選擇的語言,Ruby社群是值得加入/不可忽視的社群。對於其他已經選擇其他語言的人(比如我),也值得關注和借鑑。

7樓:孫立偉

個人觀點:

ROR/Ruby的第三方庫雖然很多,但是很多都是個人作品,其企業級應用比較少。

Ruby的虛擬機器效能還不足夠強大穩定。

學習 Ruby 語言,有哪些值得推薦的好書?

我認為Ruby基礎教程 Ruby元程式設計是比較好的組合。Ruby基礎教程是一本快速入門的書。但是很多語法沒有講到。Ruby元程式設計是一種很像程式設計珠璣風格的書。用來學習Ruby的奇技淫巧。我覺得上述兩本配合用可以幫助題主快速的學習Ruby程式語言。不過很遺憾的是目前我還沒有找到Ruby虛擬機器...

自然語言的缺陷有哪些?

李溯本 Unancha 自然語言最大的缺陷肯定是在於 它們總是不夠完美!如果像日語 英語 拉丁語那樣,本身就混亂程度 熵 很高了,可能你還不覺著怎麼樣 但如果像青語 克丘亞語這樣,本身似乎對整齊化有些 心理追求 那偶爾蹦出來幾個不符合規律的現象,就顯得特別扎眼了!例如我最常說的,青語七大人稱 我 你...

JavaScript 的語言設計有哪些缺陷?

迷途書童 Object instanceof Function true Function instanceof Object true 你中有我,我中有你,理解起來很費勁 Function.constructor Function.constructor.constructor.delete gl...