本页使用了标题或全文手工转换

木蘭 (程式語言)

维基百科,自由的百科全书
跳到导航 跳到搜索
木兰
Mulan
编程范型多范式面向对象指令式函数式过程式面向切面
設計者劉雷
實作者中科智芯公司
发行时间2020年1月15日,​9個月前​(2020-01-15
穩定版本
0.2.2
(2020年1月15日 (2020-01-15)
作業系統跨平台

木蘭(英語:Mulan),名稱來自模塊單元語言(Module Unit Language)的縮寫,是一种教學用程式語言,其語法規範來自Lua,編譯與執行環境使用Python實現。由中国科学院计算技术研究所入股的中科智芯公司於2020年1月15日發表,團隊領導人為中科院副研究員劉雷[1]。這套程式語言是中科智芯公司的重點產品,主要應用於中華人民共和國境內的中小學及幼兒園,作教育使用[2]

發表之初,研發團隊曾稱這個程式語言可使用於人工智慧物聯網,完全自主研發,編譯器集成开发环境套件也完全由團隊開發。在發表後,被質疑是以Python 3.7套件套殼產生。開發者劉雷承認是基於Python做二次開發,完全自主研發以及針對人工智慧及物聯網應用開發等說法為過度誇大。至2020年1月20日,官方下载网页无法打开,刘雷也被中科院停职接受调查。

簡介[编辑]

木兰由中国科学院计算技术研究所国家重点实验室編譯組研發團隊於2020年1月15日發表。在發表時,开发团队领导人刘雷声称這套程式語言完全由這個研發團隊進行自主設計、開發、編程,編譯器與集成開發工具套件也完全自主開發,完全掌握核心技術;刘雷認為這個程式語言將會成為「智能物聯時代的C語言」。刘雷声称,木兰是為針對人工智慧物聯網應用而開發的程式語言;不过因為有易於理解及使用的特性,在尚未被大量使用于应用开发的情况下,木兰已經投入中小學及幼兒園的教育課程中使用。在硬體上,能夠搭配中華人民共和國自主研發的龍芯寒武紀處理器,在作業系統上可搭配AndroidiOSLinuxWindows系統跨平台運作[3][4][5]

中科智芯科技有限公司提供“青少年人工智能教育”相关的服务,其网页上介绍木兰语言时则仅声称该语言是“专为人工智能教育而生的编程语言”。2020年1月20日,中科智芯科技网站所提供的木兰的“语言环境”的安装包名称为ulang-0.2.2.exe。[6]

語法內容[编辑]

因為官方尚沒有提供完整開發文件與集成開發套件,這個程式語言的實質內容並不清楚,但在開放ulang.exe下載後,開發者社群對它進行逆向工程,對它的特性有基礎了解。其語法的主要特色是取消了Python的強制縮排,改用大括號。函式由python使用的def改成func,類似於GoPHP

func main() {
    println("Hello, World!")
}

if (__name__ == "__main__") {
	main()
}

在程式執行時,進行詞法與語法分析,調用python的語法分程器PLY英语PLY (Python Lex-Yacc),進行語法分析,之後把程式翻譯成Py runtime可接受的語法,以python codegen編譯成python程式執行。其抽象語法樹與python完全相同,運作時套用python的執行環境,程式運作方式與python完全相同,但也因此運作速度較慢。完全依靠Python的運行環境,可以跨平臺運作。

支援匯入模組,語法與Python類似。

sys = __import__('sys')

不支援漢字作為變數名稱,保留的關鍵字中也沒有漢字,因此不能以中文來進行編程。与此相比,Python 3可以使用Unicode文字(包括汉字)作为变量名。

关于核心技术的争议[编辑]

在其執行檔ulang-0.2.2.exe開放下載後,CSDN网友“沉迷单车的追风少年”等开发者發現,這個執行檔是直接用PyInstaller將Python 3.7套件打包成一個執行檔,圖標直接使用Python的官方圖標。在解開後,其內容大部份都是python 3.7的官方套件,包括python的建構環境、套件等,自行撰寫的部份不多,與其宣稱完全自主開發不同[7][8][9]。開發者劉雷回應,在8位元單晶片上的編譯器是由他們團隊自主開發,在32位元處理器上則是基於Python二次開發[10],其語法規範來自Lua,但擴充了資料類型,主要使用於中小學教育,而不是人工智慧與物聯網開發[11][12]。1月19日,相关负责人刘雷被中科院停职检查[13]。之后刘雷则表示木兰项目没有使用任何科研经费[14]。1月19日,官方下载网页已经无法打开[15]

處罰[编辑]

2020年1月23日,中国科学院计算技术研究所发布《关于“木兰”语言问题的调查与处理意见》,认为刘雷在“木兰”语言的宣传活动中存在欺瞒、虚假陈述和夸大宣传的行为,取消其五年内专业技术岗位晋升的申请资格,取消三年内科研项目的申请资格,岗位等级从工程师一级降为助理工程师一级[16]

评论[编辑]

经济日报》(中国经济网)认为,学术界的丑闻“让人痛心”,认为科学不容玷污,应加强科学道德和学风建设。认为科研工作者应该“以身作则,还学术、还科研一片净土”[12]

註釋[编辑]

  1. ^ 赵广立. 中科院计算所发布国产编程语言“木兰”. 中國科學報. 2020-01-16 [2020-01-19]. 
  2. ^ 中科院计算所发布国产编程语言“木兰”. 科學網. 2020-01-16 [2020-01-18]. 
  3. ^ 中科院发布“智能物联时代的C语言—木兰”. OFweek人工智能网. 2020-01-17 [2020-01-18]. [永久失效連結]
  4. ^ 孫自法. 面向智能物聯 中國科研團隊發佈「木蘭」編程語言體系. 北京新浪網. 2020-01-16 [2020-01-18]. 
  5. ^ 孙自法. 面向智能物联 中国科研团队发布“木兰”编程语言体系. 中国新闻网. 2020-01-15 [2020-01-23]. (原始内容存档于2020-01-16). 
  6. ^ 编程软件. 中科智芯科技有限公司. [2020-01-23]. (原始内容存档于2020-01-20). 
  7. ^ 声称掌握核心技术,实则换皮Python?国产编程语言木兰引起社区热议. 機器之心. 2020-01-17 [2020-01-18]. 
  8. ^ 换皮都换不利索?扒一扒中科院"自主研发"的编程语言. cnBeta. 2020-01-19 [2020-01-23]. (原始内容存档于2020-01-23). 
  9. ^ 国产编程语言“木兰”被质疑抄袭Python,负责人道歉. 财富中文网. 2020-01-19. 
  10. ^ 自主開發編程語言被指Python套殼,中科院開發者道歉. 北京新浪網. 2020-01-18 [2020-01-18]. 
  11. ^ 邱晨辉. 被指换皮后 编程语言"木兰"研发团队为夸大事实道歉. 中国青年报. 2020-01-18 [2020-01-19]. (原始内容存档于2020-01-19). 
  12. ^ 12.0 12.1 沈慧. 编程语言“木兰”换皮?中科院计算所:当事人科研不端已停职检查. 经济日报·中国经济网. 2020-01-19 [2020-01-23]. (原始内容存档于2020-01-19). 
  13. ^ 中科院计算所. 关于“木兰”语言问题处理情况的说明. 中科院计算所网站. 2020-01-19 [2020-01-19]. [永久失效連結]
  14. ^ 当事人回应:“木兰”没有使用任何科研经费. 观察者网. 2020-01-19 [2020-01-23]. (原始内容存档于2020-01-20). 
  15. ^ 每经记者 曾剑 每经编辑 梁枭. 首款自主开发编程语言“木兰”被质疑抄袭 现暂无法下载. 每日经济新闻. 2020-01-19. 
  16. ^ 中科院:取消 “木兰”语言问题当事人五年内晋升资格. [2020-01-27]. (原始内容存档于2020-01-27). 

相關條目[编辑]