用 Ruby 做的成功商業網站少是什麼原因?
在 Twitter 上和 @Fenng 討論程序員選擇何種程序語言編寫網站的原則,談到 Ruby 搭建的成功商業網站少。認為是 Ruby 開發迅速,程序優雅,但是這樣的技術人員少,很難找齊幾個來建立整支團隊。所以,JavaEye 那樣整站用 Ruby 重寫的事情是很少見的。請教知乎達人高見。
不知道你說的少是和什麼編程語言比較來說的?如果說比較於Java,PHP,ASP,那當然是少,而且理由也是顯而易見的,但是比較於Python和Perl,就並不算少了。
或者我可以不可以這麼問:用Python做的成功商業網站少是什麼原因?
看看全球前10的網站,並沒有用Python做的網站,而twitter是用Ruby做的,這是否可以說明什麼問題?
BTW:Google不能算Python的成功案例,Google用的最多的是C++,其次是Java,最後才是Python,而且多用於內部系統。首先 Ruby(on Rails) 是後起之秀,所以「少」,是一個正常的現象。一個技術要成功,需要一定的時間來證明。
一個項目用成熟的技術如 Java 和 PHP 來做,碰到問題,可以較容易找到解決的方案,因為這方面別人早都碰過了,但用 Ruby 這樣的技術來做,就不一定。
另外還有一個整合問題,比如一些第三方類庫(比如支付),是用 Java 或 PHP 來做,用 Ruby 做的項目,不能夠直接集成它們。雖然這方面開發工作量不大,但仍讓一部分人生畏。
最後一個我認為較重要的因素就是:項目不採用 Ruby 來做,很多時候不是技術(比如技術太難或這樣的技術人員難找)的原因,更多是擔心責任和風險。
如果用 Java 或 PHP 這樣的技術來做項目,碰到問題或瓶頸,上級通常不會懷疑是開發語言選擇的問題,但如果是用 Ruby 來做,可能管理層第一時間就會懷疑你技術人員沒有選擇好技術,是該技術導致的問題,這時候責任人通常是有口難辯。
好幾年前那些用 Unix 的單位的技術主管寧願繼續選擇昂貴的 Unix,而不願意嘗試技術上已經成熟且更便宜的 Linux,一個重要原因就是怕出問題自己一身責任。當初的免費 Linux 跟現在開發效率更高的 Ruby(Rails),有點相似。一個項目能否發展壯大,歸根結底還是由做項目的人決定的。而商業領域的常識是不要當新技術的小白鼠,新技術的成功案例大多也是碰巧有個膽大的愛好者用到產品里去罷了,對於Sun/IBM/MS這樣的公司,他們是有能力給許多企業的技術人員洗腦的,所以Java和Asp/.Net應用推廣得很快。Ruby比較新,又沒有什麼強勢企業背後推動,再正常不過了。
Ruby在國外的發展很迅猛,只是在國內還沒有得到大範圍的普及。
國外的很多PasS服務提供商都提供了Rails的支持。比如heroku,engineyard。 而在國內,一個都沒有。ruby無疑是優秀的,國內普及慢,其實和很多因素有關,比如技術遺產問題,人力資源問題等。導致很多公司放棄Rails而採用Java。
前段時間看到一個外國人來中國創業後總結的一個ppt,在slideshare上。他說在中國招rails的人很難,中國的技術落後國外一個時代。中國大部分還在使用落後的.net和php。中國缺少優秀的架構師。
現在做評價還太早,就好比當年java剛誕生,就比較java和basic哪個的成功案例多,市場份額大一樣。如何定義成功?怎麼才算商業上成功?
twitter 算不算成功?hulu 呢? 現在4sq 和 path 的後台都是Ruby 的。 這個是一個悖論,很多時候網站成功與否和後台的開發語言沒有什麼太大的關係,如果說有關係的話,那我要說的是,Ruby能讓你的網站更成功,僅此而已。人員不好找是一方面吧,但ROR真的不錯,我們的團800業務都是在這上面衍生起來的。
國內技術往往比國外晚幾年,ruby在國外的使用其實挺廣泛的,只是被大家熟知的並不多。ROR的開發效率很驚人的,相對java,更容易快速推出產品並快速迭代,在現這競爭激勵的情況下,更易去搶佔市場。暫且國內並未大量使用,主要是因為精通者太少,不便控制風險。而且ruby的表達能力很強,不像靜態語言中規中矩,更需要有經驗者來引導及把控。
因為大型網站需要成熟的後台做支撐。
像asp.net, java是有固定的商業公司在做支撐,很成熟很穩定,也有技術支持。
php雖然是開源,但其時間也足夠長,足夠穩定,而且專門只針對網站(新一代的php用得人就比較少)。
ruby, python本來就是略小眾一些的腳本語言,功能也並不僅限於做網站,因此做網站僅是他們用途的一小部分而已。 再加上他們的全棧框架的興起也就是近幾年的事情,api,架構都在劇烈變化中。作為cgi server也還有一些潛在的問題,解決方案不是那麼成熟穩定。
再加上, 你看到的大部分知名大型網站本來也已經存在好些年,他們建立之初,成熟的建站選擇就那麼些,原本已經在java或者其他技術上完成的代碼,再移植到ror或者django上顯然成本是過高的。
因此今天你看到的大型網站是沒有用ruby,python的。但是新興的, 激進的網站會慢慢採用的。Ruby語言算是進入成熟期了,但是rails還很早。
企業級的ruby應用諮詢公司才慢慢開始壯大。
rails變動還很頻繁,RoR3以後的各種版本依然差異巨大,同時這也說明這個框架強大的生命力。國內還沒有類似heroku這種能夠迅速發揮RoR開發效率的平台,及圍繞其形成的應用服務,能夠快速高品質的滿足Web基礎服務的要求。學習Ruby並不像看起來那麼簡單,沒有一定的架構功底,沒有Open Mind,在程序上不勤奮的人是很難進步的。
手機黨無人邀,想到哪裡寫到哪裡。
作為一個在美國工作,使用ror的半全棧工程師,我想說不是相關資料太少,而是國內開發者搜索資源的能力和英語水平有待提高。我參加過美國的ruby和rails大會,參加會議的人不是ror的開發者就是gem的開發者,github上面ruby社區活躍程度讓人振奮,你能想到的任何功能的gem幾乎都有人開發好給你使用和學習了,另外,連github本身都是ror開發和支持的,你說github成功還是不成功?另外,ror工程師確實相對少,薪水也相對較高,由於ror的特性,好多都要求全棧,就我目前所在的團隊而言,幾乎所有人前後端都能獨擋一面,至少美國是這樣,大型的商業網站需要大量的人員參與,ror人才較少也是大公司不選擇ror的一個原因,就目前來看,ror還是適合創業型和小規模的團隊,最多最好不超過150人。
本人所在公司叫spokeo,我們的網站是一個搜索工具,歡迎大家來check it out我有一個同事在遨遊,他告訴我說公司之前用ROR嘗試做過一個產品,最後失敗了,原因是ROR精通的人太少,網上文檔也很少,造成維護成本很高,出現一個bug,如果不是很精通,解決就需要花費大量精力。就象樓上說的,ROR易學好上手,但是要做一個大產品還是不太容易的。
Airbnb一直使用的是Ruby on Rails 框架技術。 Airbnb夠成功吧
使用Ruby的人和使用Ruby製作的「成功」網站,比例其實是挺高的么?
TIOBE Software: The Coding Standards Company就算有成功的商業案例又能怎麼樣?代表這個語言優秀?最好最頂尖?
優秀的東西很多,看看Yahoo/Sun,多少優秀頂級的項目。
另外好的東西,還要看什麼樣的人來使用。小刀也可以當大炮來用,一般的人給他大炮,也只能在家打蚊子。居然沒人提Github
Github就是ruby的啊。不算成功的商業網站嗎?
歐,還有 Airbnb
話題模糊了一個概念:Ruby成功的網站絕對數少,不等於Ruby網站的成功率低。還是那句話,誰用誰知道
1、歷史的原因,早幾年,基本上只能選php;2、知識儲備的問題;3、做站,語言只是一部分
感覺因為ROR的原因,後台開發變得很容易,也許用一天的時間能把後台寫完,但是前台佔了N久的時間。面試了兩三家公司招人的時候,大多數公司都變得很注重你的UI開發能力。
國內成功的比較出名的就iteye和團800吧。同意@謝召煥的說法
招人都難招,ror
推薦閱讀:
※有哪些 Ruby 大牛的 Blog 推薦?
※值得看的ruby的開源項目有哪些?
※Rails求學,感覺跟Rails相關的話題實在太少。建個話題尋專家,路過的留名吧。
TAG:編程語言 | Ruby | RubyonRails | 網站開發 | TIOBE |