中科院計算所發(fā)布國產(chǎn)編程語言“木蘭”
工作人員向記者演示基于木蘭編程的“下棋機器人”
1 月 15 日,記者從中國科學(xué)院計算技術(shù)研究所(以下簡稱中科院計算所)計算機體系結(jié)構(gòu)國家重點實驗室獲悉,由該實驗室編譯組主導(dǎo)研發(fā)的國產(chǎn)編程語言“木蘭”正式發(fā)布。
據(jù)中科院計算所副研究員、計算機體系結(jié)構(gòu)國家重點實驗室編譯組負(fù)責(zé)人劉雷介紹,“木蘭”是一款定位于面向智能物聯(lián)應(yīng)用、采用最新編程語言設(shè)計理念和編譯技術(shù)的程序設(shè)計語言,開發(fā)團隊致力于將其打造為“智能物聯(lián)時代的C語言”。
說起“木蘭”這個名字,其中還有段小故事。
劉雷告訴《中國科學(xué)報》,Mulan 原本是 Module Unit Language 的簡寫,直譯即“模塊單元語言”。“我們最初就是想做一種能像模塊組合一樣方便的、可以隨時擴展語言的編程語言,縮寫詞‘MuLan’中的M是希臘第十二個字母(小寫為μ,音‘謬’),表示‘微小’的意思,表明這是一款簡易的語言。”劉雷說,沒想到,中科院計算所學(xué)術(shù)委員會主任徐志偉一下就念成了“木蘭”。
“我們都覺得‘木蘭’更好,有濃濃的中國文化印記。用‘木蘭’命名這樣一款國產(chǎn)編程語言,再合適不過。”劉雷對《中國科學(xué)報》說。
隨著人機交互頻次的日益增長,編程正成為這個時代“第三重要的基礎(chǔ)學(xué)科”。編程語言也和操作系統(tǒng)一樣,是信息技術(shù)領(lǐng)域重要的系統(tǒng)軟件。并且,信息技術(shù)行業(yè)的生態(tài)環(huán)境也往往是從編程語言開始建立的。“如谷歌公司在云計算領(lǐng)域推出的 Go 語言、蘋果公司自行設(shè)計的 Swift 語言、Oracle 控制的 Java 語言標(biāo)準(zhǔn)等等。”劉雷說,一旦某個編程語言在一個領(lǐng)域建立了自己的生態(tài)系統(tǒng),那么它的地位幾乎很難撼動。
“‘木蘭’是由編譯實驗室完全自主設(shè)計、開發(fā)和實現(xiàn)的編程語言,與之配套的編譯器與集成開發(fā)工具也完全由團隊自主實現(xiàn),是我們真正掌握核心技術(shù)的編程語言。”劉雷告訴《中國科學(xué)報》,“木蘭”定位為下一代重要應(yīng)用——智能物聯(lián)的開發(fā)語言,它采用創(chuàng)新的彈性 actor 執(zhí)行模型(擅長執(zhí)行并行計算,筆者注),可成倍地提高應(yīng)用執(zhí)行效率,在提高服務(wù)質(zhì)量的同時大幅降低平臺運營成本。
劉雷解釋說,目前在智能物聯(lián)應(yīng)用領(lǐng)域,尚無一款專用的編程語言,在既有的語言系統(tǒng)中做智能應(yīng)用開發(fā),需要多個工程師、跨多種語言實現(xiàn),導(dǎo)致開發(fā)效率低下。“木蘭”就致力于打造物聯(lián)網(wǎng)智能執(zhí)行平臺,并為編寫的應(yīng)用程序提供執(zhí)行環(huán)境。
不過,劉雷也表示,編程語言生態(tài)的建設(shè)需要數(shù)年的漫長周期才會逐漸成熟,目前物聯(lián)網(wǎng)應(yīng)用行業(yè)生態(tài)土壤并不豐沃,因此“木蘭”的產(chǎn)業(yè)應(yīng)用積累還不夠。他希望智能物聯(lián)應(yīng)用領(lǐng)域的開發(fā)者多多嘗試使用“支持跨平臺、同時能很好地支持龍芯等國產(chǎn)處理器”的“木蘭”搭建開發(fā)環(huán)境,增強智能產(chǎn)品體系生態(tài)的自主可控性。
目前,“木蘭”正從青少年編程教育入手培育生態(tài)。劉雷透露,在中科院持續(xù)加大對“少年硅谷”公益項目等的支持下,以“木蘭”為基礎(chǔ)延伸的自主研發(fā)編程軟件、人工智能教材、教學(xué)裝備目前已經(jīng)投入到中小學(xué)、幼兒園使用。截至目前,“木蘭”應(yīng)用范圍涵蓋了貴州、甘肅、江西、湖南、重慶、青海、山西、陜西和四川等 18 個省市共 700 所中小學(xué),計算所下屬企業(yè)中科編易科技有限公司自 2018 年起已累計捐贈價值三千萬元的教學(xué)裝備。
截至發(fā)稿時,“木蘭”及相關(guān)軟件可以免費獲取。