久久国产成人av_抖音国产毛片_a片网站免费观看_A片无码播放手机在线观看,色五月在线观看,亚洲精品m在线观看,女人自慰的免费网址,悠悠在线观看精品视频,一级日本片免费的,亚洲精品久,国产精品成人久久久久久久

分享

譯言網(wǎng) | 對話軟件大師 - 詹姆斯·高斯林(Java之父)談計算機編程藝術(shù)

 diandianxingk 2015-04-10

James Gosling談計算機編程藝術(shù)

http://www./javaworld/jw-03-2002/jw-0325-gosling.html

2002年3月22日,Bill Venners采訪了Java之父,,談論了有關(guān)企業(yè)軟件,算法,,用戶界面友好軟件等話題。

 

正文:

 

    James Gosling不在布道Java語言的時候,,通常躲在Sun實驗室的一個安靜角落,,一連好幾天都在思索一些新方式,以協(xié)助程序員更好地處理程序的復雜性,。 他的書架上還掛著一個里的博格人面具,,上次JavaOne演講中他就帶在臉上,在面具的低垂注視下,,他對Bill Venners款款道來,,話題涉及當前的編程趨勢,,以及對軟件系統(tǒng)設(shè)計和構(gòu)建的看法,。


Enterprise vs. devices
企業(yè)編程和設(shè)備編程

    Bill Venners: Java在那么多的手機和智能卡上普及,可是為什么大多數(shù)都在用Java編寫服務器端的程序?

    James Gosling: 我覺得這是北美中心論者的觀點. 你要是參加北美的會議,,處處可聞人們在討論企業(yè)軟件,。可是我最近去參加歐洲和日本的一些Java會議,,沒有人討論企業(yè)軟件,。

    Venners: 那他們在用Java做什么?

    Gosling: 他們關(guān)注設(shè)備,手機上的編程,,以及如何實現(xiàn)端到端系統(tǒng),。如果北美的記者有機會去日本最近的JavaOne會議的話,一定會大開眼界,,在那里,,基本上沒企業(yè) 軟件什么事兒。到處都是嵌入式系統(tǒng),,實時系統(tǒng),,有些稍顯笨拙,,有些卻十分精妙。他們使用Java,讓計算無處不在,。

    企業(yè)軟件當然有其精髓之處,,但是除非和別的領(lǐng)域沾邊,否則毫無意義,。企業(yè)軟件已經(jīng)被邊緣化了,,要想有所意義,得有端到端的思想,。

The art of computer programming
計算機編程藝術(shù)

    Venners: 最近我翻了翻唐納德的計算機編程藝術(shù),,那套書塵封已久,主要講得都是算法. 可是在我一生的IT事業(yè)中,,貌似很少用到這些艱深的算法知識,。你覺得編程是一種藝術(shù)嗎?或者說,,自從上世紀60年代和70年代以來,,我們所理解的算法概念已經(jīng)有所改變?

    Gosling: 不管你在寫代碼時有沒有用到算法,不可否認的是,,計算機編程確實是一門藝術(shù),。當有性能瓶頸需要解決時,許多人束手無策,,毫無辦法,,他們不理解算法性能的具體含義,他們不懂如何定量地去分析算法復雜度,。

    很少有人問:'怎樣提高程序的運行速率呢',。碼農(nóng)們總喜歡調(diào)用現(xiàn)成的APIs函數(shù),封裝了一層又一層,。有時你會看到深達10層甚至100層的調(diào)用堆 棧,,不由地呼叫起來,'天哪,!',。他們就是一味地在抽象層上壘抽象層,恨不得不斷地就這么壘上去,。寫出來的程序可想而知,,復雜繁瑣得讓人難以理解。

    Venners: 你曾說過,,那么多人一點算法都不懂,,就直接投身到軟件開發(fā)大軍中,這讓你倍感驚訝. 你還說,他們編寫的程序笨拙而低效,,你覺得原因是什么,,是糟糕的算法設(shè)計導致的?還是他們基于面向?qū)ο蟮脑O(shè)計過于拙劣,,抑或還有其他原因,?(譯注:這種情形在中國也越來越普遍,近年來的很多IT培訓機構(gòu)速造了大量的低級程序員,,以及所謂的一些測試人員,。但是優(yōu)秀的程序員,對很多公司而言,,還是可遇而不可求)

    Gosling: 不管是算法設(shè)計還是系統(tǒng)設(shè)計,,這些方面都有問題。低效的算法設(shè)計來源于對算法知識的一知半解,,比方說啊,,你設(shè)計動態(tài)數(shù)組的時候,如何增長數(shù)組呢,?是每次增 長10個比特,,還是每次按原有大小的10%增長?聽起來好像是一回事啊,,其實不然,。若按每次10個byte的增長,加入n個元素的時間復雜度就是 O(n2),,但是后者的時間復雜度只有O(n), 你看,,高下立判吧


Complexity
復雜度

    Venners: 那么,編程這門藝術(shù)應該能讓人們的生活更便捷吧.

    Gosling: 正解,! 這就像過去四五十年間,,汽車行業(yè)發(fā)生的改變一樣。以前打開汽車的發(fā)動機罩,,你還能搞清楚里邊的裝置,,現(xiàn)在呢,,你一打開發(fā)動機罩,,瞧見里面,不茫然無知才怪呢,。

    Venners: 可能是因為里邊有太多軟件裝置的緣故吧,。軟件這玩意兒,可不能硬拉胡扯,。

    Gosling: 有一部分是軟件吧,。還遍布著很多細小的管子,從這串到那,有些司職管理引擎的效率,,有些調(diào)控空氣質(zhì)量,,反正它們包辦一切,不用再勞你身架了,。再者,,現(xiàn)在的 汽車完全是自動型的,人們只要鉆進去,,啟動,,就開路了。而不像以前那么麻煩,,比如像這樣,,'喂,外面有40度啊,,我得預熱下發(fā)動機,,還得把熄火裝置放身 邊, 你別一味加油了,空氣有點潮濕,,沒必要再加了.',,可不是忒麻煩。

    大多數(shù)人才不想管發(fā)動機罩后的事情呢,。他們只關(guān)心達到目的地,。類似的,人們只關(guān)注自己的業(yè)務,,才不愿糾纏什么軟件問題呢,。

    Venners: 你以前說過,Java被設(shè)計用于分布式的可靠人機交互軟件系統(tǒng),。我知道Java的架構(gòu)有助于實現(xiàn)可靠的分布式系統(tǒng),,但是Java是如何幫助提高人機交互體驗的。

    Gosling: 很多是語言的API層在作用,,但如你所見,,大部分還是語言的底層部分的功勞。你提到的很多其他方面也有利于改善用戶的使用體驗,。 舉個例子,,經(jīng)常崩潰的軟件當然用起來很不爽。而依賴于機器CPU的軟件系統(tǒng)則更難使用,。軟件零售商將軟件的蘋果版本和PC版本分類擺放,,其實本身就是整個 市場結(jié)構(gòu)的大錯。而在日本,,人們在不同的CPU和不同的操作系統(tǒng)下,,生產(chǎn)了很多Java手機,,但他們之間的軟件都能互相移植。比方說你想裝一個俄羅斯方塊 游戲,,那就裝好了,,可移植性為用戶帶來了莫大的便利。

    Venners: 您曾說過,,打造一個高度靈活適應的編程系統(tǒng)是你畢生的追求,。而我在編寫系統(tǒng)的時候,團隊成員經(jīng)常會提出程序適應性的問題,。有些 會增強程序的適應性,,但復雜度也隨之增加. 當你在編寫軟件的某一模塊時,你是如何在適應性和復雜度之間權(quán)衡的,。

    Gosling: 這個就是體現(xiàn)計算機編程藝術(shù)性的地方了,。向程序添加一部分代碼,當然會增加程序的復雜性,,可是如果你不加呢,,用戶用你的軟件時就會繁瑣得多。精力守恒定理 適用于此,,你投入到程序中的精力越多,,用戶使用時遇到的麻煩和折騰的精力就會越少。程序員做的,,正是在開發(fā)端和用戶端之間盡量平衡開發(fā)和用戶的復雜度,。

    Venners: 有人問過你對開發(fā)工具有何看法,當時你回答更愿意和程序的復雜性做搏斗,,你喜歡程序復雜性的哪一部分呢?

    Gosling: 這個問題可難倒我了,。恩,這么說吧,,你買個手表,,那它就是塊手表,帶分針時針的手表,,對吧,?可是有些公司最近生產(chǎn)了一種手表,它們的外殼是透明的,,里邊的 機械裝置一覽無遺,。我也不知道為什么,看著它們,,我不得不說,,'看起來很酷,不是嗎',,打第一眼看到它們,我就買了一個。 當我在構(gòu)思完軟件模型后,,我就找一些復雜的模塊,,將它們整合起來,最后它們嚙合成一曲完美的軟件旋律---這種感覺實在是太美好了,。而就在昨天,,我在即安 裝了一對新的揚聲器,立體音響系統(tǒng)背后的電線一團亂麻,,簡直像個迷宮,。但我卻樂在其中,正是這種復雜性,,才讓我如此著迷,。


作者介紹


    Bill Venners, Artima軟件公司的頭頭。該公司提供公共和私人訓練和咨詢服務,。Venners是一位Java程序開發(fā)者,,并致力于Jini技術(shù)。他寫作 了'Java2 虛擬機內(nèi)幕'一書,,并創(chuàng)辦了Java和jini開發(fā)者的資源網(wǎng)站Artima.com,。同時他還在撰寫一本新書'API設(shè)計',用以指導設(shè)計面向?qū)ο蟮腁PI,。

    本站是提供個人知識管理的網(wǎng)絡(luò)存儲空間,,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點,。請注意甄別內(nèi)容中的聯(lián)系方式,、誘導購買等信息,謹防詐騙,。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,,請點擊一鍵舉報。
    轉(zhuǎn)藏 分享 獻花(0

    0條評論

    發(fā)表

    請遵守用戶 評論公約

    類似文章 更多