以當前計算機的硬件水平,想要讓圍棋程序達到很高的棋力實在太難,羅平為了提高圍棋程序的水平,才搞出這套特殊的語言。
最初,他只是想讓程序在有限的時間內找到最佳落子策略,構思出場景編程算法。
嘗試過後,發現單純靠算法提升的效果也很不理想,程序語法的先天局限性無法破解。
圍棋各種復雜定式太多,存儲少了作用不大,數量多了算力不夠,想解決這個矛盾,就需要一種顛覆性的策略。
原先的編程語言為了追求邏輯嚴謹,語法結構設置的太過繁瑣,編譯出來的機器碼含有大量低效重復指令,浪費了無數的算力在沒用的地方,于是,羅平就產生了重新搞出一套編程語言的想法。
最早的編程語言都是西方人發明,也是基于英文語法邏輯產生出來的,繼承了那種繁瑣低效的語法結構。
這種語法結構用于早期的計算機時代,確實發揮了精確嚴謹的優點,可是隨著計算機算力飛漲,在程序代碼數量日益增長的現在,這種繁瑣的語法結構帶來的算力浪費就太嚴重了。
並且所謂的邏輯嚴謹也是一種假象,當程序的代碼達到一定量級,程序邏輯鏈條足夠長,漏洞和死循環也會接踵而至,時刻威脅著整個程序的運行,成為任何程序都無法避免的魔咒。
為了解決這些根本問題,羅平就花費時間從頭開始構築了一套新的編程語言,搞出了這套參考漢語體系為基本原理的編程語言。
早先這種編程語言他自編自用,就用來編寫圍棋程序,規則完全在他腦子里,沒有說明文檔,也沒有名字,編譯器也只適配了英特爾的芯片。
後來要和李國英合作,要適配Ibm的芯片,羅平才開始編寫兼容多種硬件的編譯器,省事的給這種編程語言起了“漢語言”的名字。
因為要適配現有計算機硬件體系,那就不可能完全獨立,仍然要兼容原有的編程邏輯,尤其是適配各種硬件的匯編語言,沒有匯編語言就無法和硬件進行溝通,必須完全兼容才行。
每種芯片都會采用自有的指令集,英特爾的復雜指令集,Ibm的精簡指令集,單片機芯片的極簡指令集等等,不同指令集都有專屬的匯編語言,負責將程序代碼轉換成芯片能理解的二進制代碼。
羅平沒有秘技自珍的意思,通用編譯器完成後,還寫了一份他覺得通俗易懂的漢語言文檔,集成到了編譯工具當中,方便其他人理解。
李國英雖然是計算機專家,習慣了原有編程邏輯的他仍然無法完全理解漢語言編程的規則,不止他理解困難,寒光3000項目組那些頭腦靈活的年輕人同樣看得似懂非懂。
簡單的代碼也能編譯通過,稍微復雜點的設定就會提示無法編譯,更別說寫出功能強大的程序了,也導致到現在黑白上能運行的只有羅平編寫的圍棋程序。
項目組最低學歷都是計算機碩士,博士都好幾個,都是重點大學出來的高材生,加上李國英這個院士,一年多的時間愣是沒有把羅平的這門編程語言搞明白,寫不出來有用的程序。
圍棋程序的源代碼都給他們了,看上去就像一篇夾雜英文字符的古文,但是又能像普通古文那樣解讀,他們最多只能小幅度做出修改,字詞方面稍作改動就無法編譯,找來精通文言文的教授,偏偏又不懂編程,源代碼也不是純粹的古文,也提供不了多少幫助。
剛才看到羅平隨便在源代碼里面加上一段話,編譯就順利通過,然後圍棋程序就多出來自我對戰的功能,還有復雜的對戰規則設置界面,李國英感覺特別震驚,他們研究一年多沒搞明白的漢語言編程,對于羅平來說,竟然如此的簡單。
他忽然理解了馬曉秋面對羅平時的那種復雜心態了,在別人眼中他們都是圍棋九段,可是只有身處其中,才能理解兩人之間存在多麼讓人絕望的差距。
哪怕遵守同樣的規則,人與神之間,同樣隔著一條難以逾越的鴻溝,羅平的天賦顯然超越了普通人能理解的範疇。
李國英希望羅平能做出一套基于漢語言的編程工具,集成一些通用功能模塊,最好讓普通人也能快速掌握,現在只有一套文檔和編譯工具,自由度是很高,可是學習難度也太大,他們都學不會,更別說普通人了。
當然,最好是寫出一套跨平台的操作系統,只有一個圍棋程序,漢語言編程的優勢別人完全無法理解。
對于別人來說可能是天方夜譚,可是眼前的少年不能用普通人的標準去衡量,說不定他就能做到呢。
羅平去年完成漢語言通用編譯工具後,注意力都轉移到了培養機器人和學校的音樂課方面,並沒有在編程方面用太多心思。
他沒有秘技自珍的想法,也沒有將自己的發明廣而告之,讓人人都使用的願望,這套編程模式本來就是為了編寫圍棋程序,後來又做了機器人控制程序,更多的是出于自己的好奇心,給自己找點事情做,僅此而已。
過去幾年比賽獎金獲得的收入白蓉一直給他存著,創辦公司用了一部分,這兩年也都用盈利還上了,那些錢足夠他衣食無憂一輩子,他沒有掙更多錢的動力。
做一套更容易上手的漢語言編程工具,對羅平來說,確實沒有太多難度,照葫蘆畫瓢做出來只是時間問題。
不過漢語言和過去那些編程語言都不同,他不想做那種簡單模仿的編程工具,那種工具仍然有一定門檻,不是人人都能學會,他要做就想做些不一樣的東西,讓普通人不需要專業學習,也能輕松上手才行。
只不過這樣的工具普及的前提,得是現有一套能支撐的操作系統,他的漢語言程序基于底層硬件之上,不能在其他系統運行,沒有操作系統支持,功能再先進也是無根浮萍。
單獨一個操作系統的話,沒有配套軟件,沒有使用場景,也不會有人願意安裝,不是人人都對圍棋感興趣。
在羅平看來,李國英等于給自己出了一個新課題,這不是寫一套編程工具,一套操作系統就能解決的事情,感覺就算做出來,除了炫技也沒太大意義。
他得把這些問題集中到一起都解決掉,才不會白忙活一場。
這件事情顯然難度不小,可能李國英自己都沒想過,羅平卻燃起了興趣,他感覺可以嘗試一下。
這天下午,從寒光公司回家之後,羅平就全身心的投入進去,準備開發出一款特殊的程序。
他想要通過一個程序,同時解決兼容性、普及性和實用性的問題,而不是既開發編程工具,又開發操作系統,還得自己找使用場景,那估計累死他也完不成。
有了想法之後,具體的細化,在腦海里構思完整,然後再實現出來,這個過程帶給羅平很大的快樂。