opentaps 開發技術架構圖

opentaps 開發技術架構圖

BlogJava-spark - opentaps

Open Source Strategies

SourceForge.net Project News: opentaps ERP+CRM

2007年10月23日 星期二

技術對談~看 Google 怎麼用 Java

原文 iThome online

這篇文章雖然有點舊了, 但卻可以從中體會Google的想法
到是可以給其他企業一些參考性的建議:

如何在不斷擴增的Java中保持"輕快",
老僧人前陣子閱讀的這二本書,
Better, Faster, Lighter Java (輕快的好 Java)
Prefactoring (軟體預先架構之美學)

或許加上以下的Google訪談中的重點,
會給您一點"約束"力, 來減低架構上的設計...

小僧人就把文中的重點給整理出來供大家思索一翻...

  • 我們喜歡使用現成的PC,來建構我們的系統,而不是大型而且可靠度佳的昂貴主機。
    單一PC隨時可能發生錯誤,我們試著用軟體的方式建立容錯的機制。

  • 我們沒使用J2EE,這其中有許多原因,包括Google在J2EE之前就已經有了自己的分散式架構,甚至還是使用 Java 語言建構出來的。
    • 小僧人個人見: J2EE確實學習與教育成本太高了, 大約要3-5年的經驗者人力

  • 失敗不是少見的情況,而是很常見的。當你要建立一個像Google這樣規模的搜尋服務,你可以想像會有多少問題,但是我們就是要持續的讓服務運作下去,盡量讓系統可以自動修復,不要造成延遲。

  • 在中介層的開發,Java是很好的選擇

  • 採用 Java 有一個很重要的理由是想要降低開發的心力和時間。另一個理由,學生在學校裡學的都是Java,而且喜歡Java,他們甚至不懂C++,所以比找C++人才容易。而且Java除錯容易多了。
    • 小僧人個人見: 找一班C++的人力資源, 確實比Java來的難...

  • 在Google使用C++的應該多一點,可能是 6:4 左右。不過,使用Java的人正在成長中...

  • 有許多在Java社群有所貢獻的人,現在都在Google

  • Google盡可能的維持小型團隊,而且讓小型團隊在同地點工作,理想的團隊規模可能是5個人,4個或5個,也許多到8個。大過這個數字,溝通就複雜多了。
    • 小僧人個人見: 這是很棒的軟體開發專案的建議

  • 現在有多少員工...一萬人

  • Google不會把5、6個新員工放在一起,由他們自己做事,新員工都會安插在一些原有的團隊裡面。

  • 我們已經完成JDK 1.6的測試,只要等JDK 1.6公佈後,我們也可以很快地轉換過去。

  • 每個語言都有生命週期,有些語言持續增加新功能,導致該語言後來很難寫、很醜、難以使用,很多語言後來變成這樣,而我會盡力讓Java不變成這樣。 我相信現在的Java已經是一個相當完整的語言,雖然還是有很多好的功能可以加入,但將這些東西一股腦全部加進來絕對是錯的。

沒有留言: