|
jieh
《騎士團團長》
文章: 6884
v3.8.8
|
|
|
|
專訪:與Java教父對談
完整新聞 CNET新聞專區:Stephen Shankland 2005/06/30
| CNET News.com的Stephen Shankland週二也請Gosling暢談他的Java理念。
問:在設計Java之初時你心中有想像過它會變什麼樣子嗎?
Gosling:在Green專案時期,我們曾經大談了許多長程願景。我們曾寫過一本使用情境的小冊子,許多Java設計都是依據這些情境來發展。我覺得那比較像是科幻小說的作法,你其實不知道世界會變什麼樣子。你可以任意預測技術的發展,但想像和相信它實際會發生,兩者之間有很大的距離。我非常相信摩爾定律會如實發生,而把一個個點連成一個網也很容易。
我非常有信心許多科技一定會那樣發展,而問題最後來到安全、穩定性及可攜性上。我們參與回答這些問題的大計畫,最後的結果一定會讓眾人出乎意料。
問:但你的Green專案的重點一開始不是只是在消費性裝置上嗎?
Gosling:專案初期我們花很多時間和各界人士談過,我們看到問題發生在消費性電子及新興的手機及嵌入式控制系統上。我們和電梯、火車頭、電力控制系統及汽車零件製造商談過。我們也和VCR和電視機開發商聊過。Green專案一開始我們決定要有個原型(prototype),我們必須要把心力集中在一點上,結果我們選上了消費性電子,因為這樣比較有趣。
許多人都覺得很有意思,但之後我們開始自問是不是能把它用在自我支援的用途上?差不多同時間時代華納為全方位服務(full services)網路公開招標,那正是我們夢寐以求的事──網路連到家庭、在網路上傳遞語音和影像、互動內容等等之類的事。「Yes!這就是我們要的、我們的目標!」於是我們就跳進來。
問:那差不多是在互動電視的發展初期吧?
Gosling:沒錯,那真是一個具有遠見的企劃書。很多人都說:「我們也想這麼做。」
時代華納的計畫因為一些理由後來變得十分奇怪,我們最後沒有拿下標案。現在想起來,我還很慶幸我們那時輸(給SGI)了。SGI後來進去,花了不知多少錢在做那個案子,但拿不到什麼錢。
問:你認為Java是用在這種狹窄領域上的技術呢,還是可能在整個電腦業開枝散葉的東西?
Gosling:我們並沒有計畫要把它推到整個業界。但我們看到的是整個產業都有類似的問題。每個系統內都有電子控制器,但卻有著嚴重的相互操作性問題。所有東西都在相互整合,這事實在不容小覷。就像你站在暴力賽車(demolition)場外看到所有車子都在朝競賽場中心開去,勢必一定會撞在一起。
問:所以Java解決了相互操作性的問題。但微軟另闢蹊徑創出了.Net,引發了更高層的相容性問題。有什麼方法可以把.Net及Java整合成一種技術嗎?
Gosling:某種程式Web services算是一個,它就像一座橋梁。但你不能把不想融在一起的東西硬融合在一起。微軟很明顯地就是想要走自己的路,他們一向喜歡標新立異。他們曾當過Java社群裏非常傑出、可愛的成員六個月到一年左右,後來他們又認為這樣不好。
問:那是發生在1995還1996年?
Gosling:我想應該是在1996年。但共同合作需要大家都有這個意思。對微軟而言這是一個很長的教育過程,他們好像不太喜歡這種方式。他們好像跟你走更近一點,例如我們和他們做了不少很棒的東西,但其實彼此間還隔了一個手臂之遙。但我們的確有共通點,像是Web services或相互操作性。
問:你們不能把C#寫成的.Net程式加上Java虛擬機器(Java virtual machine)上嗎?
Gosling:我們的差別在於他們大量使用這種不安全的方式,但我的信念之一是不應該用不安全的方式。
問:什麼叫不安全?
Gosling:程式碼有分受管(managed)的和不受管(unmanaged)的。受管程式碼是你可以確保安全與穩定性的,而不受管的程式碼你無法保證什麼事。有時正確行為也會發生記憶體損害,程式運作十分不容易分析。C程式(一種不受管程式)可能莫名其妙就掛了,最後造成安全上的重大影響。用C語言你得要能假造事物的身分,但用Java,你絕對不可以說謊。
問:微軟為什麼會想加入Java Community Process (JCP)?
Gosling:我不了解,你可以問問(昇陽技術長)Greg Papadopoulos。
問:你希不希望雙方能回到當初的蜜月期狀態?
Gosling:我很期待看到他們和JCP其他成員合作。
問:你們剛把Java應用伺服器軟體以稱為GlassFish專案開放原始碼。你們是不是也有可能把Java標準版(Java SE, Java的基礎)以開放原始碼釋出?
Gosling:或許。只是我們過去為Java SE做的一切和開放原始碼專案其實差不多。主要差別只是在於我們的授權要求要有測試。在做過Java使用量大的領域的調查後,我們認為測試是非常重要的。但開放原始碼界有人一方面說,我們願意做測試,另一方面又說我們不同意測試。我們可能有一天會公開Java SE的原始碼,主要要考量社群覺得怎麼做比較好。
有很多事讓我們十分緊張。許多人都有過JavaScript的經驗,不同JavaScript就有著相當嚴重的相互操作性問題,對網頁製作者來可說是一大夢魘。如果你像在這種瀏覽器上執行,就這麼做,想在那種瀏覽器上執行就那麼做。Java界的人都得拿著JavaScript手冊才能做事,真是太可怕了。
問:但在Java上,像BEA等公司會加入一些東西使得Java程式只有在他們的應用伺服器上才能執行。到頭來Java也會變得不可攜不是嗎?
Gosling:沒錯,這的確是個問題。但至少,這還只是在特別功能上而已。Java有項套件命名(package naming)的工具。當你在用API時,你得表明用的是公開標準的API──像是Java等──或是某公司的專屬API──例如com.bea。你作為一個開發者就一定要十分小心。開發人員真得很在乎可攜性,你每次用com.bea你會覺得芒刺在背。JavaScript的一個困難就是你無法判斷你用的是不是某個瀏覽器專用的功能。
另外,事情也會演變成某個應用伺器廠商具有一些想法,而大家都覺得不錯,這個想法就會送到JSR(Java Specification request),那麼這家廠商第二或第三版本也會是在標準的Java框架內。
問:難道不能在開放Java原始碼後透過品牌名稱來控制相容性嗎?像是要求軟體在被充許使用Java名稱前取得認證?
Gosling:這點我們做過許多討論。昇陽是十分民主的公司,有人認為可行,有人反對,目前反對者多過贊成。
問:你是反對的那一陣營嗎?
Gosling:我有時是站在贊成一方,不過我得承認我常反覆不定。
問:可否比較五年前後的Java技術發展?
Gosling:第一和第二個五年的主要差別在於Java已經變成許多大型、關鍵系統的中心。這就要非常保守了。當你的系統是一個每晚結算數百億筆交易的銀行系統時,小小一個bug也會釀成巨禍。早期我們有很多異想天開的點子,但現在我們得考量到哪些人會受到我們影響。我們每修補一個bug就會對以前用些奇怪方法達成任務的人帶來困難。現在一切都要思考週詳才可以。
問:透過Groovy等專案,昇陽正在讓Java及描述語言的世界更平易近人。但我坦白講我不太了解這些程式語言和PHP、Perl或Python等描述語言有什麼不同。
Gosling:你的困惑其實其來有自。世界上有太多鬆散的語言,提供給在不同人做不同用途。
當人們提到描述語言時,往往想到的是可以很快讓開發人員把東西拼湊好,很快拿出去跟客戶做demo。程式的效能好不好、擴充性大不大,或是能不能建成一個大系統比較是次要考量。但在Java設計上,我們不太在乎能不能很快讓你寫成一個程式出門去demo,我要在乎的是我能不能很快讓你寫成一個大型而擴充性高的程式。我們最後為止做了困難的決定。一般來說,描述語言在設計上很容易,但不是在實際的程式撰寫上。
Java設計有二層:Java virtual machine(JVM)和Java語言。難是在JVM及它以下的部份。如果你把描述語言用在JVM上,你就能兩者兼顧了。
問:所以你也這麼做嗎?
Gosling:是啊。所有Java函式庫都提供Groovy開發的東西。Java應用也可以使用Groovy。他們可把Groovy sciptlet包含在內。 |
----------------------------------------
支持小惡魔 BTC : 19tn3RnCuwZVukXAwyhDWZD4uBgUZoGJPx LTC : LTFa17pSvvoe3aU5jbmfcmEpo1xuGa9XeA 知識跟八卦一樣,越多人知道越有價值;知識最好的備份方法,散播! 藍色小惡魔(林永傑): 臉書
----------------------------------------
[編輯文章 1 次,
最後修改: jieh 於 2005/7/3 下午 04:42:07]
|
|
|
jieh
《騎士團團長》
文章: 6884
v3.8.8
|
|
|
|
Re: 專訪:與Java教父對談
Gosling 這位鼎鼎大名的軟體工程師休了一段「技術者的假期」,並利用這段期間進行他自己的一項研究計畫,稱之為Jackpot,意在尋求讓程式撰寫工作能更容易的方式。
Gosling 貴為 Java 之父,可是他還是不斷在技術領域上追求更高的層次,大師重返 Java 產品開發其中一項任務就是積極介入改造開發工具,我相信 java 的開發方法即將會有重大改革。
----------------------------------------
支持小惡魔 BTC : 19tn3RnCuwZVukXAwyhDWZD4uBgUZoGJPx LTC : LTFa17pSvvoe3aU5jbmfcmEpo1xuGa9XeA 知識跟八卦一樣,越多人知道越有價值;知識最好的備份方法,散播! 藍色小惡魔(林永傑): 臉書
|
|