Delphi架構師訪談:.NET、Kylix和Delphi

丹尼·索普(Danny Thorpe)是Borland公司的首席科學家,此前他也是Delphi開發團隊的一員,從Delphi 5開始擔任Delphi的首席架構師。近日Builder雜誌採訪了他,就.NET、Kylix和Delphi等問題進行了討論。

Builder AU:你目前在Borland公司擔任什麼工作?

索普:去年我被公司提升爲首席科學家。我目前主要在思索行業和技術的未來發展趨勢,然後根據這些前景制定我們公司的未來計劃。就我個人興趣而言,Delphi語言和編譯器仍是我的關注重點。我正在探索重新架構Delphi編譯器的新途徑,我們也許有辦法使編譯器能支持多線程功能,在這方面我們以前還沒有嘗試過。

Builder AU:當時微軟已推出了C#,那Borland爲什麼還要開發Delphi.NET?

索普:.NET平臺優勢之一就在於它的靈活性和可以自由選擇你所熟悉的開發語言。C#本質上是基於C語言的,Java也是基於C語言的,這樣會把你限制在一種思想裏。有很多人並不欣賞C語言的風格,還有很多人精通Pascal和Delphi,而懂Delphi和Pascal的開發人員比掌握其他語言的人學習Delphi.NET要快的多。

關於Visual Basic,值得注意的是VB.NET和VB6之間的關係。VB.NET是專門爲.NET平臺設計的,但存在很多兼容性問題。其中有些是出於偶然,還有些則是微軟故意這樣做的。Visual Basic社區爲此很不愉快,大量VB程序員轉向C#或Java。而我們Delphi社區的力量就源自我們公司成功地使Delphi開發人員不斷前進,進入新的領域。

Builder AU:你沒有遇到傳統的Delphi開發人員轉向.NET的過程中遭遇的問題嗎?

索普:你會聽到象“我不能象以前那樣用指針”之類的抱怨。但是整的來說,我認爲Delphi從Win32到.NET的轉變要比從VB6 到VB.NET好上幾個數量級。比如說,VB6裏你使用的控件很難移植到VB.NET平臺上。而對於Delphi來說,你只要花上幾個小時,就可以把特定的應用程序移植到.NET平臺。

Builder AU:Kylix目前進展如何,爲Linux平臺研製開發工具有哪些挑戰?

索普:Kylix推出得早了點,這讓它很受傷。以前Linux開發工具市場上有一小撮人叫囂不需要其它工具軟件,這讓我很吃驚。他們說:“你們爲什麼要把Delphi帶到Linux世界裏?我們不想那樣,快離開我們的地盤。我們有Emacs編輯器和C++語言就足夠了。”這些言論很讓人沮喪。我們在尋找向Linux社區服務的途徑,草擬了一些技術文檔,探討需要做些什麼才能讓三年前發佈的Kylix3達到目前的標準。Linux自2002年以來,又有了長足發展,所以Kylix還需要做很多工作。我們可以自己來做,也可以包給別人做,但都需要根據開發人員的反饋來修改完善Kylix。

Builder AU:那麼你會選擇把代碼開源化嗎?

索普:運行時代碼目前已公開了。至於將編譯器代碼開源化,那幾乎是不可能的。隨着時間進展,IDE開發環境也許可能在未來開源化。我不是IDE團隊的,所以這只是我個人意見。但是編譯器內部我們仍在使用很多知識產權。

另一個將Kylix開源化的因素是人們馬上會將它和Eclipse相比較。Borland公司有足夠資金來建設一個社區以支持Kylix自由軟件或開源Kylix嗎?這難度很大。也許另外的途徑是考慮Eclipse開發思路,和以前一樣針對同樣的社區,象許多Eclipse成員那樣用已有的工具軟件開發商業產品。這也有可能。

Builder AU:你和Mono項目之間的關係會更密切嗎?

索普:那當然。我會時不時和Miguel de Icaza通通電子郵件。他現在在Novell公司,但他對Kylix很感興趣。毫無疑問,Momo項目正在尋求實力強大的開發工具社區,所以他們對於Borland參加他們的項目很感興趣。當然微軟的陰影無處不在,我們不得不小心從事,以免觸怒微軟。Borland公司內部有幾個人就很謹小慎微,但我不是那種人。我們有Mono平臺beta版測試人員,他們在Mono平臺下測試Delphi.NET,以確保我們的.NET代碼能在Mono上運行。我們的營銷會把握好分寸,以免微軟關注。

Builder AU:Delphi今年要慶祝誕生十週年,你認爲它在未來五到十年裏前景如何?

索普:在未來五到十年裏我們要關注開發語言和工具集,它們將急劇簡化複雜的編程任務,以至於象C++之類的標準語言和標準程度略低的C#都不可能跟上發展步伐。

我經常思考的一個問題是多核心處理器會對應用程序的開發造成什麼影響。目前處理器的頻率快要達到極限了,多核心處理器將大行其道。應用程序爲充分挖掘計算機的潛力,就必須採用多線程技術。目前多線程技術的問題是它必須由編程人員人工編寫。未來的工具軟件就要提供簡單的模型,能自動實現多線程的代碼細節。我認爲隨着Delphi語言的發展,我們有機會按這一思路來做。如果我們能夠重新定義一些現有的語言,或者引入一些新的元素到語言裏,使得例程能獨立執行,那麼你就不必再爲回調或其它事情犯愁了。

此外我們還在研究幾何類及進一步分析代碼,使開發人員能夠有良好的編程習慣。同時還可以提高他們編寫代碼的效率。這些就是我們研究的所有領域。

我不希望看到Delphi成爲一種狹隘的專門限於某一領域的編程語言。它是一種通用語言,我們要不斷嘗試,儘量挖掘它的潛力。我們在.NET領域擁有獨特地位,但是在其它平臺上我們也佔有一席之地。而C#不能夠跨平臺,它只能在.NET平臺下工作,畢竟能跨越平臺的語言是鳳毛麟角。我們一定還會繼續讓Delphi語言變的更爲多樣化。

Builder AU:最近兩年裏諸如微軟和Sun之類的公司越來越熱心地公佈公司產品及服務的路線圖。那麼Borland公司是否也會對於開發計劃和即將發佈的產品更爲開誠佈公呢?

索普:我們以前在公司外遵守保密制度。以前Borland公司無論對什麼消息嘴都很緊,產品發佈時引得消費者一片驚喜。但IT行業在變化,用戶希望瞭解更多信息和通告。實力雄厚的企業投資了數百萬美元,肯定不願新產品上市時才知道。但是我們要平衡好可公開的信息和不可公開的信息之間的度。Delphi路線圖之所以不公開,是因爲裏面有些信息一旦公佈,會對我們在其它方面的談判造成影響。

Builder AU:你認爲Delphi將來會公佈beta測試版嗎?你認爲這樣做是否會產生出更好的開發工具?

索普:我覺得以後有可能公佈beta測試版。目前我們還沒有這樣做,但是內部要求公佈測試版的壓力正在增大。這只是個政策問題。但我認爲公佈beta測試版不會提高發現bug的效率,公佈beta測試版只是一支霰彈槍——它子彈很多,但擊中目標概率很小。查找bug要用系統單元測試方法,一行一行有系統的測試。公測的好處是可以爲產品大做廣告。公測會過早地引來廣告宣傳,這對於開發很隱祕的產品來說會給用戶帶來驚喜。至於公測提供的反饋及有用特性,我們公司內部的私測已有很多這類信息了。公測的主要用處就是廣告宣傳,別無其它。

Builder AU:收發電子郵件和開發Delphi編譯器之外的時間,你做些什麼?

索普:我是一個狂熱的滑雪愛好者。有兩次我差點摔斷脖子。現在我和一個朋友在自己製作滑雪板,不過遇到了點小小的技術問題,我們會找出問題所在並解決它。
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章