楊學(xué)山
成功的軟件有三個共同的規(guī)律。第一是讓計算資源能進行工作的軟件;第二是讓各項事務(wù)能夠工作的軟件;第三是具備不同功能的軟件。這三類軟件的成功的主要因素是什么?首先是操縱資源軟件。我認(rèn)為,優(yōu)秀的軟件,每一行、每一個架構(gòu)都需要極其精細(xì),同時面向計算資源的基礎(chǔ)軟件,尤其是軟件指令集、微架構(gòu)操作系統(tǒng)要十分完善。
1984年下半年,我在北京大學(xué)學(xué)習(xí)互聯(lián)網(wǎng),其中一門課名為國際標(biāo)準(zhǔn)化組織的開放系統(tǒng)互聯(lián)集成標(biāo)準(zhǔn),老師講道,從科學(xué)的角度出發(fā),集成標(biāo)準(zhǔn)要好于TCP/IP。
但是隨著互聯(lián)網(wǎng)的發(fā)展,網(wǎng)絡(luò)的計算資源管理只剩下TCP/IP。其背后的原因是把握了資源特征、理解了使用需求、能適應(yīng)發(fā)展變遷有正確的體系架構(gòu)、精準(zhǔn)的邏輯表述、市場的掌控能力。微軟的總結(jié)窗口系統(tǒng)、Office和X86體系的成功離不開上述六條的科學(xué)思考。
各項事務(wù)的應(yīng)用軟件,同樣有面向細(xì)分市場的特定的應(yīng)用系統(tǒng),我個人總結(jié)了各項事務(wù)的應(yīng)用軟件的五個特點:抓住了應(yīng)用價值,理解了使用需求,能適應(yīng)發(fā)展變遷,有市場的掌控能力,好用價廉易維護。
目前,面向不同功能的專用軟件非常多,計算機語言就是一個軟件,但是現(xiàn)今計算機軟件,已逐漸被人遺忘。我不知道機器語言這門科學(xué)在今天軟件學(xué)院中還有幾個學(xué)院仍在繼續(xù)教學(xué),同時人們也并不理解機器語言如何控制,以及控制的路徑和控制的優(yōu)化的點在什么地方。
匯編、高級機器語言等技術(shù)也逐漸淡出了人們的視線。如果一個技術(shù)最終的宿命是被人遺忘,那么軟件如何創(chuàng)新?軟件的本質(zhì)、價值和面向應(yīng)用的需求究竟是什么?
軟件的發(fā)展首先一定要抓住價值,無論是管理績效資源、事務(wù)應(yīng)用,還是完成各種特定功能的軟件,最終能體現(xiàn)什么價值才是最核心的問題。所以我們一定要把軟件的應(yīng)用對象理解透徹,只有真正了解軟件的應(yīng)用對象,所開發(fā)出的軟件才能體現(xiàn)出它的價值,不然將會在市場的競爭中逐漸死亡。
當(dāng)然,我們一定要把實現(xiàn)價值和對象系統(tǒng)的分析,在技術(shù)上能夠精確地體現(xiàn)出來,所以我們要有恰當(dāng)?shù)捏w系架構(gòu)和適當(dāng)?shù)穆窂脚c算法,來適應(yīng)對象的變遷。
當(dāng)然,在市場競爭中,永遠(yuǎn)不要忘記,如何掌握市場需求。所以,構(gòu)建市場競爭壁壘,把握技術(shù)發(fā)展和市場的發(fā)展要同步進行。并且要營造生態(tài)鏈,在軟件本質(zhì)上它和市場掌控具有同樣的意義,只是需要從不同的角度來進行闡述。
軟件創(chuàng)新要具備三點:第一,技術(shù)催生新軟件;第二,需求呼喚新軟件;第三,軟件創(chuàng)新路徑要多樣化。
今天技術(shù)在不斷變遷,而這些變遷就使得軟件需要運用新的架構(gòu)和方式來實現(xiàn)。而成功的軟件需要具備上述四條特性,每一條都對今天已經(jīng)存在的軟件帶來了強大沖擊,面對技術(shù)變革要么需要軟件能夠吸收新的技術(shù)因子和前景,要么你用新的軟件來替代。
經(jīng)濟發(fā)展要轉(zhuǎn)向高質(zhì)量發(fā)展,需要采取各種措施來實現(xiàn)經(jīng)濟發(fā)展轉(zhuǎn)型,而這個轉(zhuǎn)型需要軟件來支撐,而且從整體發(fā)展來講,并不是運用軟件去擴展應(yīng)用就能實現(xiàn)的。目前中國還有90%的制造企業(yè)還沒有實現(xiàn)自動化,更談不到智能化。
那么中國要實現(xiàn)《中國制造2025》需要多少軟件來支撐?現(xiàn)代農(nóng)業(yè)和服務(wù)業(yè)需要新型軟件,如果沒有新型軟件的支撐,農(nóng)業(yè)現(xiàn)代化和服務(wù)業(yè)現(xiàn)代化如何實現(xiàn)?要解決供給不平衡、不充分的問題,尤其在社會發(fā)展領(lǐng)域、民生領(lǐng)域,沒有新型軟件的支撐同樣無法引領(lǐng)社會發(fā)展。
軟件創(chuàng)新支持有著廣闊的發(fā)展前景,但是在國際中不同國家所開發(fā)和使用的方式不盡相同。即使面向基層資源的基礎(chǔ)軟件,也需要有新芯片、指令集和系統(tǒng)。
而新芯片、指令集和系統(tǒng)絕不是X86和ARM體系之上可以做得到的,因為X86與ARM,無法支撐智能計算。若要使用一個軟件,首先要了解該軟件的特性,如果不能充分的了解軟件特性,又何談創(chuàng)新?當(dāng)今社會各類應(yīng)用都在不斷發(fā)展,醫(yī)療、教育、社會管理,再到一二三產(chǎn)業(yè)聯(lián)動、產(chǎn)業(yè)生態(tài)鏈變革,都需要新的軟件的支撐,同時也變得更加需要功能性軟件。
在制造業(yè)、農(nóng)業(yè)和服務(wù)業(yè)中,從人工操作逐漸演變成機器的操作,從機器操作演變成自動化操作和智能的行為,都需要功能性軟件來實現(xiàn)。在復(fù)雜的制造生產(chǎn)線上,聚集數(shù)以千計的智能軟件還遠(yuǎn)遠(yuǎn)不夠,我們需要每個生產(chǎn)環(huán)節(jié)變成軟件支撐。同時依靠機器學(xué)習(xí)和模仿來最終實現(xiàn)功能性軟件的價值,并占領(lǐng)市場。
創(chuàng)業(yè)需要天時、地利、人和,這是關(guān)鍵的因素,而軟件創(chuàng)新則需要更多的因素,全世界最好的軟件創(chuàng)新的土地是中國。無論是通用的還是專用的,無論是大型的通用計算,還是一個加工過程的小軟件,都依靠著自身的特性,才能在市場中占有一席之地,從而推動當(dāng)今社會發(fā)展。(根據(jù)演講內(nèi)容整理,未經(jīng)本人審核)endprint