+梅宏(中國科學(xué)院院士)
過去兩年,在科學(xué)院的支持下,我們開始軟件學(xué)科的發(fā)展戰(zhàn)略,現(xiàn)在已經(jīng)完成了一個(gè)階段性的成果,所以我想在這里完全從學(xué)術(shù)的角度談一談我們所看到的未來的軟件應(yīng)該是什么樣子?
我想還是先談?wù)劚尘?。我們正在步入一個(gè)新的時(shí)代,現(xiàn)在不同的人,從不同的視角都在對(duì)這個(gè)時(shí)代進(jìn)行命名,互聯(lián)網(wǎng)、互聯(lián)網(wǎng)+,云計(jì)算、大數(shù)據(jù)合成模式或者是資源,還有智能。現(xiàn)在智能講的比較多,但我想說的是,實(shí)際上不管這些平臺(tái)是什么,當(dāng)然都很重要,還有一個(gè)很重要的視角,那就是如果讓這一切動(dòng)起來,不管是使能連接還是使能智能,一些使能資源的共享軟件都是不可或缺的。那么,在這個(gè)大的背景之下,我們講所謂的新時(shí)代,大家又都有不同的命名,所以我說新時(shí)代最重要的特征,實(shí)際上就是一個(gè)所謂的人機(jī)物融合的時(shí)代。那么在這個(gè)人機(jī)物融合的時(shí)代里,毫無疑問有一個(gè)很重要的東西,那就是互聯(lián)網(wǎng)?;ヂ?lián)網(wǎng)對(duì)社會(huì)經(jīng)濟(jì)所帶來的重大變革,是我對(duì)我們現(xiàn)在這個(gè)時(shí)代非常重要的理解。
從90年代開始的互聯(lián)網(wǎng)革命,對(duì)人類社會(huì)改變很大,沖擊到方方面面,說革命是完全不過分的?,F(xiàn)在這場(chǎng)革命正在進(jìn)入所謂的下半場(chǎng),這和我們今天的主題也是緊密相關(guān)的。如果說過去我們是以to C在消費(fèi)領(lǐng)域產(chǎn)生作用,以商業(yè)領(lǐng)域?yàn)橹?,而?shí)際上,我們已經(jīng)進(jìn)入一個(gè)工業(yè)行業(yè)改變的時(shí)代,所謂工業(yè)互聯(lián)網(wǎng)、產(chǎn)業(yè)互聯(lián)網(wǎng),也就是在互聯(lián)網(wǎng)基礎(chǔ)之上,向物理世界更深層次的一個(gè)延伸,就是我們說的互聯(lián)網(wǎng)的下半場(chǎng),要從過去的消費(fèi)互聯(lián)網(wǎng)向工業(yè)互聯(lián)網(wǎng)轉(zhuǎn)型。
這里涉及的東西很多,在此不作贅述,今天我想說兩方面,首先簡單回顧一下軟件發(fā)展的歷史脈絡(luò),然后再談?wù)勑聲r(shí)代的軟件學(xué)科是什么。
提到軟件的發(fā)展,到現(xiàn)在為止經(jīng)歷了三個(gè)階段。
第一個(gè)階段叫做一體化階段,就是軟硬一體化,實(shí)際上就是軟件依附于硬件。我們?cè)缙诮谐绦?,后來?0年代末60年代初的時(shí)候出現(xiàn)了軟件這個(gè)詞,雖然軟件學(xué)科也開始在那個(gè)時(shí)候成型,但是總體上軟件是不賣錢的,它作為硬件系統(tǒng)的一部分跟著系統(tǒng)去打造,面向的利用群體也比較有限。
第二個(gè)階段叫做產(chǎn)品化、產(chǎn)業(yè)化階段,到70年代中期,隨著PC機(jī)的應(yīng)用,在70年代中后期發(fā)生了兩件重要的事:微軟的成立和Oracle的成立,開啟了一個(gè)新的時(shí)代,那就是軟件開始作為一個(gè)產(chǎn)品形態(tài)獨(dú)立出來了。微軟從起步到現(xiàn)在,過去的幾十年,基本上是一直處于榜首的,它創(chuàng)造了一個(gè)產(chǎn)業(yè)神話,就是所謂的軟件產(chǎn)業(yè)。
第三個(gè)階段,是從互聯(lián)網(wǎng)開始普及以后,我們進(jìn)入一種新的階段,即所謂的網(wǎng)絡(luò)化、服務(wù)化階段,就是軟件變服務(wù),通過網(wǎng)絡(luò)平臺(tái)提供服務(wù)。
從中可以看到三個(gè)階段經(jīng)歷過的東西,已經(jīng)成為我們這個(gè)時(shí)代重要的使能技術(shù)。從某種意義上講,現(xiàn)在幾乎所有的企業(yè)行業(yè),包括很多傳統(tǒng)的制造業(yè),主要的工作都是依靠軟件,可以說正在進(jìn)入一個(gè)軟件無處不在的時(shí)代。有兩位名人講過兩句話,一個(gè)說軟件吞噬世界,就是說軟件無處不在,是緊密關(guān)聯(lián)的。第二個(gè)說人類文明運(yùn)行在軟件之上。大家可以想一想,這句話是不是一點(diǎn)都不過分。我們未來的人類文明,就是靠軟件記載、靠軟件運(yùn)行、靠軟件加工……就是這么一個(gè)狀態(tài)。軟件無處不在,滲透到社會(huì)中的方方面面,進(jìn)一步延伸,就是它的滲透性、服務(wù)性融入各個(gè)行業(yè)以后,開始形成所謂的軟件定義世界,軟件定義一切的這樣一種概念認(rèn)知。
舉兩個(gè)例子,從兩個(gè)行業(yè)來講,比如說制造行業(yè)、交通行業(yè),都有大量的軟件,實(shí)際上他們除了并入軟件公司之外,在某種意義上自稱軟件公司,也一點(diǎn)不意外。交通行業(yè),比如汽車生產(chǎn)、飛機(jī)制造等等里面軟件的數(shù)量已經(jīng)很多了,軟件占的位置、占的價(jià)值都很大。軟件技術(shù)和各個(gè)行業(yè)的深度融合,正在成為促進(jìn)我們的產(chǎn)業(yè)轉(zhuǎn)型升級(jí)和創(chuàng)新發(fā)展的一個(gè)重要的推手,所以說軟件無處不在。這是大體上的一個(gè)歷史回顧,是我們已經(jīng)走過的階段。
在這里所談的新時(shí)代,我的理解就是把人機(jī)物融合起來的一個(gè)時(shí)代。新時(shí)代人機(jī)物融合體現(xiàn)在哪里?我們可以看到從單機(jī)應(yīng)用,到現(xiàn)在正在進(jìn)入一個(gè)人機(jī)物融合的狀態(tài),特別強(qiáng)調(diào)的是人的融入。當(dāng)然,我們說現(xiàn)在要萬物數(shù)字化、萬物互聯(lián)。從軟件來講,從平臺(tái)來講,從單機(jī)、局域網(wǎng)、互聯(lián)網(wǎng)、移動(dòng)互聯(lián)網(wǎng),發(fā)展到物聯(lián)網(wǎng),現(xiàn)在我們要解決物聯(lián)網(wǎng)的問題,我們的基礎(chǔ)軟件當(dāng)然也發(fā)生了很大的變化。
人機(jī)物融合的時(shí)代呈現(xiàn)出了一個(gè)非常重要的標(biāo)志。就是計(jì)算泛在化,像普適計(jì)算也好,泛在計(jì)算也好,提了很多年。什么叫泛在?我理解泛在就是無處不在、無跡可尋。就是說在我們身邊,隨時(shí)隨地能夠提供這種泛計(jì)算的能力。呂江院士在經(jīng)濟(jì)大會(huì)曾經(jīng)做過一個(gè)報(bào)告,他提出應(yīng)用場(chǎng)景就是計(jì)算機(jī):從硬件機(jī)到網(wǎng)絡(luò)式計(jì)算機(jī)、到未來應(yīng)用場(chǎng)景就是一臺(tái)計(jì)算機(jī),所有的計(jì)算機(jī)是圍繞人類構(gòu)建的,我即在任何一個(gè)地方呆著,它就給我提供這種計(jì)算能力,這就是人機(jī)物融合時(shí)代。
當(dāng)前這個(gè)軟件階段之后的新階段是什么?我覺得有一個(gè)基本判斷,包括兩個(gè)關(guān)鍵詞,第一個(gè)叫做從軟件無處不在到軟件定義一切。這兩個(gè)概念有人把它混同,但我認(rèn)為是不同的東西。軟件無處不在,只是軟件用處很多、功能很多,傳統(tǒng)的功能用軟件實(shí)現(xiàn),而軟件定義一切是承載的一個(gè)平臺(tái)化的觀念。
第二個(gè)關(guān)鍵詞叫軟件基礎(chǔ)設(shè)施化,軟件自身成為信息技術(shù)應(yīng)用基礎(chǔ)設(shè)施的一個(gè)重要構(gòu)成部分。操作系統(tǒng)、各種協(xié)議軟件,就是信息基礎(chǔ)設(shè)施的一個(gè)構(gòu)成成分,這是毫無疑問的。而在人類社會(huì)經(jīng)濟(jì)運(yùn)行的各種物理基礎(chǔ)設(shè)施、傳統(tǒng)基礎(chǔ)設(shè)施里面,事實(shí)上現(xiàn)在也到了一個(gè)新時(shí)代,我們要對(duì)這些基礎(chǔ)設(shè)施進(jìn)行數(shù)字化,進(jìn)而去完成它的軟件定義。使計(jì)算成為人類和物理世界互動(dòng)的中介,軟件成為新文明的一個(gè)載體。軟件學(xué)科自然就會(huì)成為一個(gè)基礎(chǔ)性的學(xué)科。我們的理解是未來大家都在學(xué)軟件,就跟我們從小要學(xué)數(shù)學(xué)一樣。
所以說軟件發(fā)展的新階段,從前面的一體化到產(chǎn)品化、產(chǎn)業(yè)化,再到網(wǎng)絡(luò)化、服務(wù)化,我們認(rèn)為新階段如果要命名的話,可以把它稱之為融合化,就是整個(gè)融在一起的場(chǎng)景計(jì)算機(jī)時(shí)代。
如果回顧軟件的兩個(gè)驅(qū)動(dòng)力,一個(gè)是計(jì)算平臺(tái)的泛在化使得應(yīng)用范圍不斷擴(kuò)增。這就使得人機(jī)物融合系統(tǒng),叫CPS也好,叫人機(jī)物也好,都在這里面,我們說人機(jī)物就是一個(gè)CPS,但人在里面——是更復(fù)雜的一件事情。
另一個(gè)就是相關(guān)學(xué)科融合發(fā)展,而這些融合發(fā)展要透過軟件學(xué)科自身的方法學(xué)去完成它的內(nèi)化和擴(kuò)展,這是我們對(duì)這個(gè)事情的一個(gè)基本理解。所以在人機(jī)物融合時(shí)代,我們認(rèn)為重要的一個(gè)東西就是要形成所謂新的軟件觀。什么叫新的軟件觀?就是和世界觀、人生觀一樣,就像我們現(xiàn)在在互聯(lián)網(wǎng)撕裂大眾的時(shí)代,動(dòng)不動(dòng)就會(huì)上升到三觀正確不正確的程度來談事情。我們看未來的軟件,也得有新的軟件觀。
第一個(gè)叫做系統(tǒng)觀,系統(tǒng)觀是什么?第一它是復(fù)雜系統(tǒng),它是系統(tǒng)至系統(tǒng),是一個(gè)超規(guī)模的復(fù)雜系統(tǒng),在互聯(lián)網(wǎng)上、在物聯(lián)網(wǎng)上是一個(gè)開放的系統(tǒng),是一個(gè)不斷演化的系統(tǒng),但是永遠(yuǎn)在線的一個(gè)系統(tǒng)。
第二個(gè)是從系統(tǒng)論的角度,我們傳統(tǒng)的科學(xué)研究都是還原的,現(xiàn)代科學(xué)走著還原論的道路,那么現(xiàn)在就是系統(tǒng)論的角度,但我們需要一套新的方法,比如數(shù)據(jù)驅(qū)動(dòng)或者元及方法等等。這個(gè)是需要探討的,現(xiàn)在我們的軟件基本上還是分而治之,但分而治之的套路還是還原論。
第三個(gè)是系統(tǒng)工程,即軟件系統(tǒng)本身讓我們進(jìn)入一個(gè)人機(jī)物融合的時(shí)代,這是一個(gè)大的系統(tǒng)工程,人機(jī)物融合的這么一個(gè)工程系統(tǒng)。它涉及到復(fù)雜系統(tǒng)的建模、它的綜合、它的分析、它的定性和定量等等,這是系統(tǒng)觀。
由系統(tǒng)觀延伸出去就有幾個(gè)變化,一個(gè)形態(tài)觀、一個(gè)價(jià)值觀、一個(gè)生態(tài)觀。
什么叫形態(tài)觀?就是講軟件的形態(tài)是怎么樣的,它長什么樣子,是什么東西,我們需要深入研究,它的應(yīng)用范圍越來越廣,而應(yīng)用隨著上下文環(huán)境及用戶需求的變化,也在不斷地適應(yīng)和演化。不斷地持續(xù)演化,就是從泛在到數(shù)據(jù)賦能、到智能、到元機(jī)驅(qū)動(dòng)等等,就是說泛在、成長、智能,可能是它這個(gè)形態(tài)里面所闡述的一個(gè)很重要的東西。但具體是什么形態(tài),我覺得還需要更深刻的研究。
然后就是價(jià)值觀,作為人機(jī)物融合的一個(gè)人造物,軟件是對(duì)人類社會(huì)的一個(gè)承載和體現(xiàn)。我們過去的軟件是一個(gè)軟件制品,是當(dāng)成一個(gè)工業(yè)產(chǎn)品來看的,所以我們談質(zhì)量觀,從系統(tǒng)質(zhì)量到使用質(zhì)量都談質(zhì)量。我們認(rèn)為現(xiàn)在談質(zhì)量遠(yuǎn)遠(yuǎn)不夠了,它要體現(xiàn)以人為中心的價(jià)值觀,它的持續(xù)演化、它的可信、它的安全,還有一個(gè)很重要的就是倫理,對(duì)社會(huì)很多價(jià)值觀的承載和體現(xiàn)。
生態(tài)觀就是各種的軟件元素——我們的開發(fā)者、用戶等等,彼此交互在一起,相互依賴,形成了一個(gè)非常復(fù)雜的系統(tǒng)。這些復(fù)雜的東西是一個(gè)生態(tài),它的供應(yīng)鏈?zhǔn)鞘裁礃幼??這個(gè)生態(tài)會(huì)怎么成長?怎么去演化?這需要一個(gè)新的觀念去看待。
那么這幾個(gè)觀出來之后,未來的軟件選擇就會(huì)呈現(xiàn)這么一個(gè)新的格局。我們過去講軟件大體上包括四個(gè)方面,第一個(gè)就是軟件長什么樣子。第二個(gè)就是它的模型本身它的范型本身,就是我怎么去開發(fā)這么一種模型的軟件。第三個(gè)是我怎么支撐這一類的軟件的運(yùn)行。第四個(gè)就是這種軟件的好壞,它的質(zhì)量、度量和評(píng)估。所以這些東西還會(huì)存在,但是會(huì)涉及到軟件生態(tài)的東西,特定領(lǐng)域的軟件系統(tǒng)、數(shù)據(jù)管理等等。我們需要新的范型、新的理論、新的語言,包括新的操作系統(tǒng)平臺(tái)的支撐,這一切都使我們未來軟件的新格局產(chǎn)生一個(gè)重要變化,包括軟件的教育。所以我們認(rèn)為軟件成為一個(gè)技術(shù)結(jié)構(gòu),它會(huì)滲透到我們社會(huì)生活的方方面面,滲透到各個(gè)行業(yè),它會(huì)去實(shí)現(xiàn)行業(yè)的功能,承載行業(yè)的知識(shí),同時(shí)也會(huì)去體現(xiàn)行業(yè)的價(jià)值。
所以我今天講的東西主要是從學(xué)術(shù)的角度來談?wù)剬?duì)未來軟件的一個(gè)認(rèn)識(shí),它和我們過去看計(jì)算機(jī)的軟件、互聯(lián)網(wǎng)平臺(tái)的軟件是不一樣的,是我們?nèi)藱C(jī)物融合世界的一種無處不在的新型的軟件。