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