純轉寄:Google高管對Java、C++的複雜性不滿

來源:互聯網
上載者:User

Google高管Rob Pike 在OSCON 開源大會上開啟了簡化式程式設計語言新議題 今天的商業級程式設計語言--尤其是C++和Java--太過複雜而不能與今日計算環境充分相容。Google資深工程師Rob Pike 在周四於O'Reilly開源大會上的一次談話中發表了以上論點。

 

“我覺得這些語言太難用了,太精細,太複雜,太冗長。而且這些缺點似乎在與日俱增,”Pike說,“它們被過度接受,被用得太廣了。”Pike詳細說明了此類語言的缺點,以此展開描述了他和其它Google工程師對所開發的名叫Go的新程式設計語言所持的期望。 為了證實此類語言的複雜性,Pike展示了一些C++程式碼範例。其中一例是一個幾乎佔據了螢幕整行的變數聲明。“我們怎麼能讓這種東西成為在學校裡教、在產業裡被使用的操控電腦的標準方式?”他問道。這種語言“太官僚了(制度化)。每一步都必須要考慮編譯是否可通過,”他說。

 

儘管Pike承認他自己有點愛開玩笑,他聲明說此類問題確實應該被提及。C++出現是因為人們對使用低級語言C絕望,Java出現是為了簡化C++。隨著時間的推移,新的特性都加在了新出現的二者之上,使它們越來越複雜了。

 

“成熟(複雜)會帶來噪音(不可預知不被期望的錯誤),”他補充說。Pike還說,此類語言還是在多核處理器和網路被廣泛應用等大的事物出現之前被開發出來的,因此它們不能簡單地與這些新環境相容。

 

Pike並不是Google唯一一個表達對傳統商業級程式設計語言不滿的人。在上個月的USENIX 年度會議上,Gmail工程師Adam de Boor 出語驚動了與會者。他說,公司的Gmail服務完全是由JavaScript寫的,總代碼全長443,000行,全部手寫。 他指出,儘管Java更具有表達性,它也更加繁瑣。“在這個節骨點上,對我來說所使用語言的選擇問題是一個大問題,”de Boor說。JavaScript是為避免C++和Java不斷增長的複雜性,而在過去十年裡被開發出來的一批語言中的一支。其它支還包括Ruby和Python。但是儘管有了一個簡化了的文法,這類語言也同樣有它的弱點,他論證道。

 

這類新語言要慢一些,伸縮性較差,還隱藏了更多的錯誤,Pike詳盡地描述道。這類語言多為解釋型而非編譯型,它意味著用這類語言寫的程式在運行前是沒被編譯過的,因此啟動並執行緩慢得多。它們也傾向於使用動態資料類型,即程式員無需定義他們變數所屬的資料類型。“動態資料類型並不見得好。本來你可以在編譯時間找出的錯誤的,它(動態資料類型)讓你只能在運行時找出錯誤,”他說。

 

藉著這些觀點,Pike接下來描述了作為融合兩類語言集各自優點的一個大膽嘗試--Go語言。“Go是把待用資料類型語言的安全與效率和動態資料類型解釋型語言的方便與輕鬆結合起來的一個嘗試,”他說,“它到底能做多少,還得你親自去嘗試了才知道。”

 

與會人員Larry Augustin, 客戶關係管理軟體供應商SugarCRM的CEO對Pike所指出的C++和Java變得太複雜了的觀點表示贊同,儘管他也說這是在一切為應對廣泛應用需求而發展的語言身上所發生著(了)的。

 

“這些語言在複雜度上增長的原因是,它們用得越多,我們就會發現越多的錯誤和二義性,然後為消除這些錯誤和二義性而做的工作又創造出了一些更複雜的東西出來,”具有軟體工程和程式語言設計背景的Augustin這麼說。

 

“我很欣賞你們的目標,”他談及Pike等人的努力時這麼說。“問題是他能否達成那一目標,抑或是在被越來越多人用之後,它也會變得很複雜,”Augustin說。英文原文:http://infoworld.com/d/developer-worl ... ted-java-c-complexity-375

 

P.S. 最近孩子住院,抱歉沒有時間照顧blog,但是絕沒有隱居山林之意,我近期會將系列文章持續寫下去,謝謝大家-特別感謝那些堅持獨立思考、永存懷疑精神的程式員!

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.