? ? ? ? ? ——上呵旖酰科泰華捷科技有限公司董事長陳榕專訪
? ? ? ? ? ? ? ? ? ? ? ? ? ■記者/張蜀? 2011年
? ? ? ? 記者手記:1977年高考的大學生意味著什么?讓我想起路遙的一篇小說《人生》里的男主人公检激,當年的天之驕子啊齐莲。我較陳榕先生晚幾年入清華嚣鄙,當年可能在學校見到過,但沒有機會相識鳍怨。學生對我來說挺神秘的呻右,我從他們那里學到了很多東西,有時甚至超過了大學老師們所傳授的知識鞋喇,比如大學時沒能理解微積分声滥,相反給我印象最深的卻是一位77屆學生激情四溢講解的斯特拉文斯基《春之祭》。而我在幾十年之后侦香,采訪一位77級學長落塑,也算是一個報答吧。
記者:您好罐韩,我記得《程序員》雜志以前采訪過您憾赁。
陳榕:對∩⒊常《程序員》雜志社8~9年前邀請
過C++的發(fā)明者BjarneStroustrup來清華和北大講演龙考,那次我自告奮勇去當翻譯蟆肆,順便解釋了一些C++背景方面的故事,大家都比較有興趣晦款。我1986年在美國讀書的時候就開始學習C++了炎功,那時我所在的伊利諾大學正在設計世界上第一個用C++編寫的操作系統(tǒng)Choices』航Γ《設計模式》的四位作者之一RalphJohnson蛇损,他那時很年輕,一副娃娃臉坛怪,剛博士畢業(yè)淤齐,來伊利諾教書。我們跟他學習了Smalltalk和面向?qū)ο蟮幕A(chǔ)知識酝陈,當年覺得面向?qū)ο罂赡芫褪荢ilverBullet,我曾經(jīng)花了很大工夫去研究面向?qū)ο蠛筒僮飨到y(tǒng)毁涉。
記者:我也對語言很感興趣沉帮。我認為metaphysics永遠不具有physics的豐富性,所以我更喜歡非理性的語言贫堰,比如像Perl和C穆壕。metaphysics只是一種封裝,我想這是C++的問題其屏。不過這次采訪對象不是我喇勋,還是談您的吧,后來您怎么想到創(chuàng)業(yè)偎行?
陳榕:其實我的創(chuàng)業(yè)非常不典型川背,做的事情不典型,年齡也不典型蛤袒,只能說是“非典型創(chuàng)業(yè)”熄云,對讀者不一定有幫助,就當故事聽吧∶钫妫現(xiàn)在創(chuàng)業(yè)一般都是二缴允、三十歲,我創(chuàng)業(yè)的時候已經(jīng)四十二珍德、三歲了练般。我1982年大學畢業(yè)后,考上中科院計算所倪光南和竺迺剛老師的出國研究生锈候。倪老師所在的第六研究室當時正在做漢卡薄料。設計漢卡需要硬件知識,也需要對自然語言的語法分析泵琳,所以考試題目包括大規(guī)模集成電路和編譯原理都办。編譯原理是軟件專業(yè)比較難的課嫡锌,當時學硬件的人一般不學編譯原理。我上大學時比較用功琳钉,清華軟件势木、硬件專業(yè)的課程都學了,所以就考上了歌懒。我于1984年1月去了美國啦桌,1985年1月轉(zhuǎn)學去了美國伊利諾大學(UIUC)。伊利諾大學在巨型計算機方面的研究是強項及皂,我在那里學習了并行計算和計算機體系結(jié)構(gòu)甫男,還讀到Amdahl’sLaw。受其影響验烧,我覺得并行計算可能應用面比較窄板驳,出路不大,1986年就去鉆研系統(tǒng)軟件碍拆。當時我對兩個領(lǐng)域尤其感興趣若治,一個是操作系統(tǒng),一個是編程模型感混。這也是我1992年能進入美國微軟研究院操作系統(tǒng)組的原因端幼。1995年我在微軟瀏覽器IE3組的時候也參與了一些ActiveX的設計工作,后來做過DCOM弧满。
你知道OLEAutomation嗎婆跑?當年就是以DougFranklin和我兩人為主寫的。我所有的職業(yè)生涯都和操作系統(tǒng)及編程模型相關(guān)庭呜,25年來始終不渝滑进。至于創(chuàng)業(yè),確實是很偶然的機會募谎。
1998年我們BaseCOM組開始設計COM+郊供,
1999年跟著Win2000一起B(yǎng)eta,不久就被告知COM+沒戲了近哟,只做到1.0版驮审,之后全體轉(zhuǎn)移去做.NET。我們.NET組當時的口號是“SoftwareasaService”吉执。但是為了實現(xiàn).NET的遠大目標疯淫,微軟內(nèi)部產(chǎn)生了嚴重的“路線斗爭”。一派認為要集中全部力量戳玫,實現(xiàn)一個類似Java的中間代碼語言熙掺,進而實現(xiàn)SaaS;另一派認為要分兵兩路咕宿,一路做中間代碼币绩,另一路從COM層重新做起蜡秽。最終第一種方案獲勝,微軟決定采用C#來實現(xiàn)下一代OS缆镣,同時全盤放棄COM+芽突。微軟直到2004年才意識到1999年的決策失誤,并重新啟動了SilverLight計劃董瞻,然而已經(jīng)貽誤了5年戰(zhàn)機寞蚌,并損失了全部COM團隊。
由于當時我們用C語言實現(xiàn)SaaS的方案被
否定了钠糊,自己覺得非常不爽挟秤,于是我就回國度假散心。那是1999年10月抄伍,美國到處都在.com(此com非彼COM)燒錢創(chuàng)業(yè)艘刚,中國也在發(fā)燒,生怕錢燒不完截珍。我在北京碰到幾個朋友攀甚,他們幫忙介紹投資人,看上了我在微軟做過操作系統(tǒng)的背景笛臣,這樣我就開始了自己的創(chuàng)業(yè)云稚,可謂“逼上梁山”隧饼。
記者:怎么想到做操作系統(tǒng)沈堡?
陳榕:2000年時國內(nèi)一般就是做做網(wǎng)站,并
且也誕生了不少成功的互聯(lián)網(wǎng)公司燕雁,而做基礎(chǔ)軟件诞丽,比如操作系統(tǒng)、中間件拐格、數(shù)據(jù)庫的人就非常少僧免。可我不會做別的捏浊,只會做操作系統(tǒng)懂衩,所以沒什么好想的〗鹱伲回頭看浊洞,因為操作系統(tǒng)并不直接面對大眾市場题翻,所以類似項目非常不適宜創(chuàng)業(yè)调违。因為中國沒有大型軟件公司來收購創(chuàng)新型軟件公司的環(huán)境,導致操作系統(tǒng)項目尤其不適宜在中國創(chuàng)業(yè)坷衍,所以我說我是非典型創(chuàng)業(yè)靶瘸。
我要是十年前知道這些苫亦,我都要勸自己別冒傻氣毛肋。但反過來說,我1976年2月下鄉(xiāng)插隊兩年屋剑,又幸運考上大學润匙,屬于機遇不錯的人。我們那代人與現(xiàn)在一般創(chuàng)業(yè)的年輕人可能不同:一是不怕吃苦饼丘、意志比較堅強趁桃,二是總想做一點此生無憾的事情。所以只要開始肄鸽,就絕不輕言放棄卫病。
記者:不過IT界很多人做的事情都是非典型的,我記得典徘,喬布斯也做過Next蟀苛。
陳榕:說到喬布斯,其實我的經(jīng)歷和他的Next還有一些交集逮诲。當喬布斯投資NextComputer時帜平,他已經(jīng)被蘋果開除了。再往前追溯梅鹦,是20世紀80年代末裆甩,曾經(jīng)有一個比較出名的微內(nèi)核操作系統(tǒng)Mach,由卡內(nèi)基·梅隆大學的一個團隊發(fā)明齐唆,其主要發(fā)明人是RickRashid嗤栓,目前是微軟負責科研的高級副總裁,也是我在微軟研究院時的頂頭上司箍邮。Mach1.0茉帅、2.0的主要代碼實現(xiàn)者是Rick的一個非常出色的博士生。后來這個學生加盟Next锭弊,以Mach為基礎(chǔ)堪澎,設計了NextOS。再后來喬布斯在蘋果公司復辟味滞,NextOS演變成了今天的MacOSX樱蛤。1991年下半年到1994年,大部分Mach發(fā)明團隊后來都隨RickRashid加盟微軟研究院的操作系統(tǒng)組剑鞍,那正是我當時(1992~1993年)工作的部門昨凡。當時除了我一個來自伊利諾大學,其他同事都來自卡內(nèi)基·梅隆攒暇。
說到做操作系統(tǒng)土匀,我們首先要談什么是操作系統(tǒng)?比如Unix形用,能把進程就轧、鎖证杭、內(nèi)存都做好了,你就可以把它叫做操作系統(tǒng)內(nèi)核妒御。實際上操作系統(tǒng)就是一個運行平臺解愤。設計一個新操作系統(tǒng)的最主要目的,是看你要支持什么樣的應用乎莉。這個著眼點送讲,需要你對語言,即編程模型非常熟悉惋啃。所以在設計操作系統(tǒng)的同時哼鬓,經(jīng)常要設計語言。比如:設計UNIX的同時設計C語言边灭;設計.NET的同時設計C#异希。使用操作系統(tǒng)編程的人,要熟悉什么是進程绒瘦、什么是線程称簿、什么是鎖這些東西。但是設計操作系統(tǒng)的功夫惰帽,要遠遠發(fā)力在操作系統(tǒng)之外憨降。設計語言,目的是便于編寫新型應用该酗,而新型操作系統(tǒng)就是要將其跑起來授药。做操作系統(tǒng),做的是什么垂涯?某種意義上說烁焙,操作系統(tǒng)就是運行平臺航邢,最早是Unix耕赘,然后是Windows,后來是.NET膳殷、WebOS操骡,現(xiàn)在又將是移動互聯(lián)網(wǎng)。至于改進一下Linux內(nèi)核赚窃,并不是沒有改進余地册招,但那已經(jīng)不是問題的關(guān)鍵。相對IBM主機OS勒极,Windows曾經(jīng)短小精悍是掰,是個“白領(lǐng)”就能上手,但Windows已經(jīng)非常不適合今天的移動互聯(lián)網(wǎng)了辱匿,病毒泛濫键痛,安裝炫彩、維護復雜,一般老百姓怎么能搞得懂絮短?這樣的情形下江兢,我們再設計操作系統(tǒng)的動力將是什么呢?是新的看法丁频、新的思想杉允。
記者:你如何看待構(gòu)件技術(shù)的應用前景?
陳榕:我最近寫了一篇文章《另類云計算席里,另類物聯(lián)網(wǎng)》叔磷,其中我強調(diào)了兩個方面:
對于我們現(xiàn)在這個工業(yè)化社會,一般事物可以有兩種狀態(tài)奖磁,一個是動態(tài)世澜,一個是靜態(tài),后者也可以說是零件化的署穗×攘眩考察一下現(xiàn)代汽車工業(yè),為什么它能夠這樣飛速地發(fā)展案疲?零件化生產(chǎn)是一個重要因素封恰。一個著名品牌的汽車的很多零件是可以互換的。在計算機軟件領(lǐng)域里面褐啡,可不可以同樣生成這樣的零件诺舔?我覺得零件可以看成一個個集成電路,如果有了一堆這樣的集成電路备畦,怎樣把它們動態(tài)組裝起來低飒,就是電路板的功能了,我們可以用Perl懂盐、Python褥赊,JavaScript等做這樣的事情。所有這一切莉恼,零件是必要條件拌喉,它是用C/C++或者Java寫不是很重要,關(guān)鍵是要像一個集成電路俐银,具有通用性尿背、一般性。如果我們能做成功這件事捶惜,就相當于完成了構(gòu)件化田藐。從面向?qū)ο笞呦蛎嫦驑?gòu)件:微軟做的COM,IBM的SOM,或者OMG的CORBA汽久,都是基于這樣的思想茴晋。這種思想,距離它們的誕生回窘,其實已經(jīng)存在了二十多年了诺擅。只是它們當年的PC戰(zhàn)場已經(jīng)灰飛煙滅,以至于人們似乎有一種錯覺:它們已經(jīng)被人忘記了啡直。如同很久以前就有人在曼哈頓建了摩天大廈烁涌,但是現(xiàn)在居民們都移居到上海了,于是人們忘記了在曼哈頓建摩天大廈的技術(shù)其實并沒有過時酒觅。而從計算機技術(shù)領(lǐng)域來說撮执,現(xiàn)在進入了移動互聯(lián)網(wǎng)的時代,相當于我們進入了一個新的戰(zhàn)場舷丹∈闱或許今天正是我們重新發(fā)現(xiàn)構(gòu)件技術(shù)價值的機會。
記者:你們公司的產(chǎn)品一直定位在做操作系統(tǒng)上颜凯,但我看你們公司網(wǎng)頁宣傳比較多的是中間件谋币?
陳榕:其實這兩個東西,我們都沒有刻意去宣傳症概。什么是操作系統(tǒng)蕾额?說起來這是一個哲學問題,如我剛才所說彼城,操作系統(tǒng)就是一個Runtime诅蝶,三十年前Kernel是操作系統(tǒng),二十年前Windows是操作系統(tǒng)——Windows就架在Kernel之上了募壕,十年前.NET就是操作系統(tǒng)调炬,現(xiàn)在是XML/HTML+JS+Plug-in。所以概念都是與時俱進的舱馅。說到中間件缰泡,也要看中間件的含義是什么。
記者:據(jù)我所知习柠,在Java編程領(lǐng)域中有很多情況下用到中間件匀谣。
陳榕:你說的是Framework照棋,它不是構(gòu)件资溃。Framework可以看成是鋼梁,構(gòu)件則相當于那些預制件烈炭。構(gòu)件鑲嵌在Framework中溶锭,你有Framework,但沒有構(gòu)件符隙,或者有構(gòu)件趴捅,而沒有Framework垫毙,都不行。現(xiàn)在大家講的中間件多是Framework拱绑,為什么不說它們是構(gòu)件综芥?因為它們不是為第三方做的。構(gòu)件要做到可以替換成第三方的產(chǎn)品猎拨,這才能實現(xiàn)軟件的工業(yè)化生產(chǎn)膀藐。Windows可以是看作一個中間件,它有兩個特點:首先是通用性红省,如此它的消息驅(qū)動機制额各;其次是它的效率,它能嵌入CPU匯編指令吧恃,在某個時間片跑出CPU的效率虾啦。Java具有通用性,但它跑不出CPU的效率痕寓。我們再思考一下傲醉,中間件能不能做得更具一般性?我們可以用構(gòu)件拼裝呻率,我們可以同步調(diào)用你需频,也可以異步調(diào)用,消息也是同步或者異步的筷凤。也就是說有四個接口:同步出昭殉、同步入,異步出藐守、異步入挪丢。所以我們的產(chǎn)品目標是一個具有通用性的中間件。你也可以管它叫操作系統(tǒng)級中間件卢厂。另外我們正努力的目標是做一個具有云計算功能的中間件乾蓬,它既能跑本地程序也能跑網(wǎng)絡程序。
記者:我總結(jié)一下慎恒,你們產(chǎn)品的特點任内,一個是通用性,一個是充分利用CPU效率融柬,還有正在努力做的是網(wǎng)絡應用死嗦。
陳榕:是。讀者可以從www.elsatos.com下
載我們設計的ElastosSDK粒氧。Elastos的架構(gòu)及API都是我們自己設計并實現(xiàn)的越除,包括內(nèi)核、圖形系統(tǒng)、文件系統(tǒng)摘盆、瀏覽器等翼雀,花了十年時間,一千人年工作量孩擂,走了N多彎路狼渊,已經(jīng)商用。一個字:難类垦!
記者:陳先生囤锉,我想問您最后一個問題,您認為現(xiàn)在哪個方向創(chuàng)業(yè)比較有希望护锤?并且為我們展望一下未來官地。
陳榕:我不鼓勵大家創(chuàng)業(yè)時來做中間件或系統(tǒng)軟件行業(yè)。這對個人創(chuàng)業(yè)者可能不是很適合烙懦。相反移動互聯(lián)網(wǎng)絕對是一個大的浪潮驱入,我相信這個浪潮往短里說至少也得有二十年。IBM主機時代的軟件相比PC時代的軟件大小總合氯析,可以說只是“噪音”亏较。PC時代的軟件大小總合,相比移動互聯(lián)網(wǎng)時代的消費類電子軟件掩缓,我相信雪情,也可以說只是“噪音”。也就是說你辣,IT產(chǎn)業(yè)的第三次浪潮才剛開始巡通,移動互聯(lián)網(wǎng)時代要把幾乎全部PC時代的代碼都要重寫幾個來回,再外加全新的代碼舍哄。創(chuàng)業(yè)的機會和就業(yè)的機會都非常好宴凉。軟件工業(yè)化生產(chǎn)的時代正在變?yōu)楝F(xiàn)實。如果我們預想:未來的構(gòu)件服務=構(gòu)件+自描述信息表悬、云編程=服務構(gòu)件+拼裝腳本弥锄。所以云上下雨,自然不能像原來安裝Office軟件那樣蟆沫,一坨就是二籽暇、三百MB。一條彩信300KB饭庞,那么最大的“雹子”就是300KB戒悠。再加上,雨必須從不同的云上下來但绕。雨點可能就是一個一個功能(服務)構(gòu)件救崔、編譯好的二進制代碼惶看,可能是CPU指令捏顺,也可能是Byte-Code六孵。而HTML/XML/JS等腳本語言要在客戶端動態(tài)將服務構(gòu)件拼裝成應用。所以人們將進入這樣的時代——為一篇寫得好的小說付錢幅骄,而不用為了印刷技術(shù)和紙張付錢劫窒。
? ? ? 亦來云(Elastos)第三次出發(fā)
? ? ? ? ? ? ? ? ? ? ? ? ? 2017.8.28
? ? ? ? 自1985年開始學習UNIX起,我一直在OS領(lǐng)域沒有離開拆座。20年前在微軟工作的時候主巍,領(lǐng)悟到未來OS必須全面貫徹元數(shù)據(jù)驅(qū)動原則,尤其是采用原生代碼(C/C++)實現(xiàn)元數(shù)據(jù)驅(qū)動挪凑。由于微軟當時沒有采用我們的建議孕索,創(chuàng)業(yè)的想法逐漸浮出水面。
? ? ? ? ? 2000年5月在北京奧體中心體育場看臺下面的辦公室開始創(chuàng)業(yè)躏碳,2002年10月去深圳寶安鐵嶺水庫邊的桃花源搞封閉開發(fā)搞旭,2003年非典之后的8月到上海,開始了TD-SCDMA智能手機操作系統(tǒng)項目菇绵,后來承擔了中國聯(lián)通沃Phone OS的中間件架構(gòu)設計與實施任務肄渗。
? ? ? ? 2010年開始策劃亦來云項目,這是Elastos第二次重新定位咬最,2012年底獲得富士康投資啟動翎嫡,開始工業(yè)物聯(lián)及智能家居網(wǎng)安全網(wǎng)絡操作系統(tǒng)及運營平臺工程實施,為今天的區(qū)塊鏈驅(qū)動的互聯(lián)網(wǎng)打下基礎(chǔ)永乌。
? ? ? ? 前兩次嘗試工程基本按照規(guī)劃完成了惑申,但是商業(yè)運作失敗了。
? ? ? ? 2016年5月開始Elastos第三次重大規(guī)劃翅雏,區(qū)塊鏈驅(qū)動的互聯(lián)網(wǎng)硝桩,2017年8月在大家的支持下得以正式開始實施。
? ? ? ? 2017年6月初開始亦來云基金會的籌備枚荣,至今不足三個月碗脊,完成白皮書、組建幾千人社區(qū)橄妆、數(shù)字代幣私募等到位衙伶,進度之快令人咂舌。
? ? ? ? 這完全是一種新的互聯(lián)網(wǎng)文化害碾,讓我深深感到又回到1995年萬維網(wǎng)興起的躁動時期矢劲,機遇與懷疑并存。當時我雖然是微軟瀏覽器IE第十號員工慌随,但我過于追求技術(shù)芬沉,忽略了二十年前互聯(lián)網(wǎng)發(fā)展的大勢躺同。
? ? ? 光陰荏苒,日月如梭丸逸。十八年蹋艺,一個襁褓中的嬰兒也已成年。
? ? ? ? 這次卷土重來黄刚,任重道遠捎谨,風險與機會并存。我殷切地希望我們年輕的團隊青春作伴憔维,為修煉更好的自己涛救、為報答贊助者、為建立互聯(lián)網(wǎng)秩序业扒、為把數(shù)字變?yōu)樨敻患爝海佑停?br>