Ruby語言到底前景怎麼樣?
大學專業並不是學的計算機,本科基礎學了C語言基礎教程,然後工作後由於種種原因,直接入手ruby語言。感覺ruby語言確實容易理解,畢竟我不認為我C語言學的很好,然而Ruby語言在工作環境下,利用它做起了web開發。由於接觸的語言少之又少,並不知道它有什麼優點與缺點,不過畢竟從事這一個行業,畢竟還是對其他語言有所耳聞。只是不知道ruby語言比較老牌的PHP,到底有沒有優勢,也不知道到底未來web開發語言走勢。到底是偏向於哪方便?
怎麼樣不知道。我就知道從我想好一個創意,基本完成一個像知乎一樣的大型網站的MVP,用Ruby on Rail只需要一個多月的時間。包括前後台和測試。我不知道有什麼框架能提供這麼高的開發效率。所以不要問這種無聊的問題,有需要你就用。沒有需求就不要學。
除了不好招人,其他沒發現。
最大詬病,性能問題:腳本語言都有,用戶數少你考慮這個那就扯遠了,創業拼的就是速度。後期可以換,c++,java都行,比如twitter,或者學facebook也行啊,做終極優化。
領域:web庫多,其他庫少,也就是說領域較窄,這方面比得最多的就是py,py的領域確實廣,但我去翻了下機器學習的庫,大部分還是c++擼的,java的都少,py的也少。所以ruby plus c++沒有問題。
學習成本:精通任何一門語言都不容易,單說入門,ruby的入門成本確實較高。
綜上:做web相關就果斷選它吧!名副其實的web領域之王。我司也涉及數據分析,用R,畢竟專業,比py好。
廣告時間:我司招聘ruby程序員,有意者私信,不喜請舉報。不止你一個人問這種問題了。
前景主要是看人,任何語言都是有應用場景限制的,而場景的變化是非常快的。
不管你用不用Ruby,你總得深入一個語言。深入以後,編程境界上一個台階,你想學什麼不行?
謝邀。TIOBE Software: The Coding Standards Company
我覺得前20的語言都值得學習,只是先學哪個後學哪個的問題。
多學一個,就多一種思考方式,反正早晚都要學。如果立志成為一代宗師,完全不懂一門常見的語言,是不是有點匪夷所思啊。Ruby的表達能力是一般的語言不能比的。
Ruby的表達能力是一般的語言不能比的!!Ruby的表達能力是一般的能力不能比的!!!作為一個經典的充斥著內部DSL編程語言,Ruby的優勢就在於它有很強大的抽象能力和表達能力,導致的結果就是,給普通用戶也能輕易上手,專家用戶也可以用得很開心。
跟很多人不一樣,我覺得恰好就是do end語法塊能有經過地把代碼寫得更易讀,沒錯就是讀出來。不然你給我讀一下left curly bracket試試。
Duck typing和Mixin給了Ruby跟強大的抽象和復用能力。比如module Enumerable這種。
當然最最最重要的是,module。Ruby完全不需要再去自定義各種黑魔法來搞名字空間(PHP)或者是基於目錄的模塊劃分方式(Python/Java)。以及,發行版自帶包管理工具,以及有各種良好的依賴管理和自動構建工具等等。
Ruby的生態系統從骨子裡繼承自Perl而又有些突破,在很多方面有了事實標準。直接導致Ruby應用開發起來效率非常得高。你非要跟最好的編程語言比,那我也不知道該怎麼說了。
就是這樣。前景不怎麼樣.但是不妨礙ruby是我最喜歡的語言.
在招聘職位上看出來,新公司有不少都在用,老公司則推進的很一般很一般。真正有的選還是更多傾向於python,畢竟熟手多。
ruby的問題就是太側重於web開發,已經有了尾大不掉的味道。其次,各種庫向後兼容性做得不咋地,最有代表性的就是rails,這對實際商業環境的推廣其實是致命的。另外,針對現在雲計算趨勢,ruby並沒有什麼特別突出的針對性發展,這個實在是讓人覺得很可惜,我雖然不喜歡Go的語法,但Go的特性樣樣都讓人愛不釋手。
ruby語言本身值得一學,我覺得在面向對象和函數式之間,ruby做了一個很好的平衡,對兩方面的借鑒和吸收做得非常不錯。真要拿來做產品,待議吧..當 Rubyist 對 method_missing 習以為常的時候,JavaScript 程序員還在眼巴巴地等 es6 里的 Proxy。
Ruby堅定了我的判斷,特性多的語言反而不容易在商業領域推廣。(又或者是默認用end,而不是{}是最大的敗筆?)
我是做了3年java轉ruby的男人!
說說我的經歷,16年10月份見到了很久沒有見到的校友,說他現在在做ruby,我就想起我之前也做過1個月,當時是面試了java,問我願不願意學習ruby,啥?雖然當時一臉懵逼,但是為了工作機會,口頭上一直說我願意我願意(都是為了生活),進去之後,因為學習太慢(當時沒人帶你,讓你自己看文檔,就一直百度,也不知道guides,Ruby-china,codewars,hackerrank等),最後老闆把我們給我降了1000工資,我就果斷辭職了,,,其實在北京這3年我自己都不知道自己要幹啥,自己想要什麼,想做什麼,,選擇做java因為學校里學習這,而且自己只知道java,而且工資高就選擇了,其實做的不是很開心,因為做java的人太多了,不單單在學校,在培訓中心一年能量產幾大卡車java程序員,而且我也不能坐到後來居上,遇到了那個同學之後,我就考慮了很多,最終在11月02號開始ruby在職培訓,算是學習了2個月吧,學完之後我就跟公司提出了離職,交接了1個月,1月14號正式離職的,1月19號找到工作,算是技術轉型吧,我把實際情況說了下,說自己有java經驗,短期培訓了ruby,公司的招聘也知道ruby程序員很多都是從java轉的,而且本身也不好招人,也想培養我,算是年前確定了工作。對於我轉型ruby,其實同學也建議我不要轉,畢竟我做了3年,算是重新開始了,但是我內心中一直有聲音在告訴我要轉,而且我不轉,我總覺得有遺憾,我不想有遺憾,而且,我真的很喜歡ruby。大多數人都用的不一定是最好的,最好的東西不一定要讓每一個人用,web開發還是Ruby on rails的天下。前景如何,跟你的自身能力和偏好有關係。Ruby註定是一種小眾語言,一種高B格語言。Ruby語言帶給開發者的自由,是以複雜的思維為門檻,以犧牲運行效率為代價的。具體來說,一個企業如果用Ruby,會有兩方面的問題:
1)初期招人不容易,做大了以後更難。Ruby上手很快,然後是個長長的進階坡子。如果你堅持,到達這個坡子較高的階段後,你寫同樣100行代碼,Ruby代碼中包含的人類大腦的思維量比多數主流代碼都多很多,因此堅持用Ruby的碼農,雖然少,但普遍水平比較高。但是如果企業發展快速,需要大規模擴張項目,那麼招到好用的人就難了。(Scala也有這樣的問題,更甚)
2)作為動態語言,你在寫代碼時推遲決定造成的空間,需要在運行時由虛擬機來包容,這包括代碼運行時間,也包括內存空間。從表面上看,這是一個開發速度與運行效率的平衡問題,深層次來說,則是「人」和「機器」哪個更值錢的問題。Ruby的設計者認為長遠來說「人」更值錢,所以要節約使用「人」的資源,而允許浪費「機器」的效率。但這桿秤,在日本美國,和在中國印度,定盤星的位置並不相同。
相比於PHP,Ruby的代碼普遍更新,從而更優質,但是另一方面的問題就是,很多10年前就已經被PHP解決得很好的問題(譬如博客,小型電商),少有Ruby的良好實現。
另外,從近幾年的發展來看(本回答寫於2017-01-13),由伺服器動態生成HTML頁面傳輸給客戶端,不再是最佳的用戶體驗,RoR和PHP的陣地受到JS和移動原生App的嚴重挑戰。原本Ruby開發人員比PHP更方便退守到系統編程方面(諸如Puppet),可是現在開始全方位容器化,Ruby這方面的空間基本被Python搶佔了。但是即便固守網站的服務端,Ruby仍然比PHP更適合寫新項目。前景堪憂,ruby全靠rails在續命,現在rails被各大語言抄得差不多,想發展又找不到路在何方。另一方面,python和ruby又太類似,ruby的應用基本都可以在python上找到代替品,兩者人氣此消彼長,在大多人眼中ruby的價值只剩下那一層淺薄的教育意義了。
沒事 誰黑ruby 我就去黑java
任何技術學好了前景都不錯,因為境界提升了。
入門階段,選擇容易學習,容易表達的計算機語言,ruby 正符合這一點。
另外 ruby on rails 經常會有 remote 和 第一世界的工作機會,前景近十年不是問題。說實話,有點後勁不足。
學Ruby的,要對語言本身要保持警惕,因為Ruby語言本身太有趣了,容易沉迷於語言本身= =