最初的 Google 程式碼品質其實不高 ?

标签: Business Google Mr. Friday 程式設計 | 发表时间:2011-04-16 23:35 | 作者:Mr. Friday tiansiyuan
出处:http://mmdays.com

剛剛在臉書上看到 Saturday 分享了一個連結,覺得內容還蠻有意思的,所以把大意簡單翻譯在這裡:

◎ ◎ ◎ ◎ ◎

Quora 問答:最早版本的 Google 程式碼品質到底如何?

More about In The Plex

最近有一本新書叫 In the Plex ,寫了很多關於 Google 早期的八卦,其中寫著早期的 Google 搜尋程式原始碼實在是:「不怎麼樣〈Not Great〉」。

Google 一開始並不是個搜尋引擎,而是一個讓網友在網站上留註解〈annotation〉的系統。早期的 Google 其實是用來評比註解的系統,而且叫做 Backrub。〈不知怎麼後來搞到變成網站搜尋系統去了,AltaVista 跟 Yahoo 創辦人半夜想到這點應該會氣得睡不著覺。〉

問題是創辦人 Larry Page 的程式功力 … 〈這裡用了很隱諱的形容詞,叫做『他當時不是個世界級的的程式設計師 He wasn’t a world-class programmer』,以免得罪一狗票的 Google 工程師〉,寫了很久寫不出來。他只好求救於當時的好朋友〈也是個程式助教〉 Scott Hassan 。

Scott Hassan 發現,這程式裡面的臭蟲多得不得了,除了 Larry Page 的關係以外,還因為 Page 企圖心太旺盛,用了當時很新的程式語言 Java〈俗稱的小孩開大車是也〉── 結果 Java 一天到晚當掉,Hassan 光是 debug Java 就搞到翻臉,決定直接用 Python 重寫,才把 Backrub 搞定。〈所以程式碼有大半是 Scott Hassan 貢獻的?〉

有趣的是,兩年後 Larry Page 跟 Sergey Brin 合夥,決定要把 Backrub 用在網頁搜尋上,成立了 Google 。沒想到這時候他們又遇到了問題,Google 常常當掉,有的人根本連結果頁面都開不起來。追查半天,一個新員工、也是前 UCSB 的教授 Urs Hölzle 發現:問題又出在程式碼身上,因為他們用的是… Python。

“The web server couldn’t handle more than ten requests or so a second because it was written in Python, which is a great idea for a research system, but it’s not a high-performance solution”

每秒十個以上的搜尋 request 就會讓 Google 當掉,因為程式碼是用Python寫的。 Python 拿來當研究用的開發語言很好,但不適合用在講究高效能的環境上。

不過沒關係,反正 Google 慢慢有錢了,可以請更會寫程式的人來… 經過不斷的重寫跟改進,終於成了今天的 Google … 〈是不是有種小魚終於逆流而上成功的感覺?〉

◎ ◎ ◎ ◎ ◎

翻譯就到這裡,的確是很有意思的故事。〈這本書裡面應該還有很多類似的故事,有空應該找來看看〉

接下來的引申時間,我想多數人的結論多半是…「原來早期的 Google 程式碼也很爛」、「所以大家不要害怕寫出爛程式碼、早早釋出你的 prototype,開始競爭… 」

我的角度比較不一樣。我想的是:「一個原始碼寫得這麼爛的系統,代表到發展中期會遇到很多效能瓶頸、要花時間重寫、在這段期間被對手追趕過,但它最後還是能變成這麼大這麼成功的事業,顯然他的演算法內容真的不簡單。」

兩種想法也許都沒錯,只是角度問題。


加入MMDays在facebook的粉絲團 隨時閱讀最新文章

相关 [google] 推荐:

谷奥: Google = Google+

- 吞佛 - 谷奥聚合——谷奥主站+谷安 aggregator
在上周举办的Google Zeitgeist 2011大会上,John Battelle问Larry Page:在Google大部分的历史里,人们会想到搜索,那么Google品牌=搜索. 但在随后Google的发展史里,Google品牌会等于什么. Larry Page并未直面回答这个问题,至少没有从市场角度来回答.

Google宣布Google CDN

- way - Solidot
Google宣布了最新的帮助加快互联网速度的工具Page Speed Service,加快静态网页的载入速度,不支持动态网页. 在开发者注册该服务之后,可将网站的DNS入口记录指向Google,然后Page Speed Service从服务器上抓取内容,采用最佳的Web性能方案重写网页,通过Google在全球部署的服务器将内容展示给终端用户,加快网页载入速度.

Google将关闭Google Labs

- yifan - Solidot
Google宣布将关闭Google实验室,搜索巨人表示此举将帮助他们将精力集中在优先的产品项目上. Google称,关闭Google实验室意味着大部分试验项目将会被放弃,但不是每一个项目都会被抛弃. Google会将部分试验项目整合到其它产品中. Android应用程序如Google Goggles和Google Listen,则将会继续留在Android Market中.

當Google Docs遇上Google Finances

- 沒有暱稱 - 海芋小站
Google Finances是由Google所推出的一個財經服務,裡面記錄了全球的財經資訊,而如果我們要在Google文件中插入這些財經資訊,如某支股票的收盤價,開盤價等資訊,那要怎麼辦到呢. Google其實提供了非常簡單的函式,怎麼用就往下看啦. 其實在Google文件的試算表中,以插入股票為例,只要輸入「=GoogleFinance("股票代碼.tw"; "參數")」就可以了,以鴻海為例,代碼就是「2317」,記得一定要加變成「2317.tw」才可以.

Google Reader将和Google+整合

- Richard - 月光博客
  Google Reader官方博客宣布,即将对Google Reader进行重大改版,并和Google+进行整合,新版本将重新设计,包括friending、following等功能将会被删除. 之前Google Reader的社交功能是和Buzz整合,随着Buzz的关闭,Google Reader的改版有可能会和以前的Buzz一样,将关注和被关注整合到Google+中,然后用户在Google Reader的分享自动同步到Google+.

谈谈 Google+

- Michael - 云风的 BLOG
Shared by 令狐虫. Google+ 这这些点上给出了技术上的方案,却没有给使用者明确的使用引导. 对于 Geek 来说,这些功能是有趣的. 但是,它极端依赖人的正确使用,你还无法管得了别人的错误使用,在良好的信息过滤这一点上,作为信息接收方来说,几乎没有好的方法. Google 正式发布 Google+ 的时候,我在山上.

Google+ 调查

- mornlee - 爱范儿 · Beats of Bits
Ren Media 的 Thomas Morffew 在 Google+ 上进行了一次调查,在 24 小时内收到 590 份回复,虽然调查的样本还不够多,但其结果与想象的差别不大. 从下面这几副图里,可以了解一下 Google+ 的一些相关数据. 使用桌面浏览器的人比例是 89%. 这并不奇怪,目前 Google+ 的体验上,桌面浏览器在功能和操作上都超过移动版和应用客户端,应用客户端很出色,但一大缺憾是无法转发信息,当然也无法进行视频聊天.

Google Plus新政

- iVane - 槽边往事
本周早些时候,我的Google Plus帐号被停权了. 页面提示上写着:Your account was suspended.理由是我违反了Google Plus的《社区准则》(相关链接),却又没有明确指出我违反了哪一条. 于是,我只好向提交了申诉表单(相关链接). 这一次,Google Plus明确指出,问题出在我的ID“和菜头”,这一ID的命名法违背了《社区准则》的第八条:.

谈谈 Google+

- Sopp - 云风的 BLOG
Google 正式发布 Google+ 的时候,我在山上. 回到文明社会后,还好赶上了第一批用户的末班车,试用了一下. 现在,重新开放,有更多的人尝试用 Google+. 在数天之内,我就圈了接近 100 个朋友,被圈了近 1000 次. 对于类似产品,我觉得算相当不错的成绩了. 要知道,我 twitter 上只 fo 了不到 30 个人,douban 好友不到 50 个.

初看 Google Music

- Hexi - 爱范儿 · Beats of Bits
Google I/O 大会上公布了最新的云端音乐服务 —— Google Music,现在让我们看看它究竟是怎样的. Google Music 拥有一个桌面客户端,它能够在你的电脑里面找到 iTunes 或其他软件储存音乐的地方, 接着它会这些音乐都添加到你的 Google Music 账号中去. 音乐上传到 Google Music 之后,就可迅速地在各个 Android 设备(手机、平板)之间同步.