自主開發編程語言被指Python套殼 中科院開發者道歉

法庫縣廣播電視臺 劉迅2020-01-19 10:33
瀏覽

  中科院計算所團隊“完全自主設計、開發和實現”的“木蘭編程語言是Python語言的套殼產品?針對近日這一網絡質疑,1月17日,項目負責人、中科院計算所編譯實驗室員工劉雷在科學網上發表回應稱,木蘭語言在8位單片機上的編譯器是本團隊開發的,在32位單片機上的編譯器是基于Python開源編譯器進行的二次開發,但在接受采訪中將木蘭編程語言和編譯器夸大為完全自主開發。

  劉雷關于“木蘭”編程語言的情況說明全文如下:

  本人系中科院計算所編譯實驗室員工?;谖以诰幾g技術上的科研積累創辦了中科智芯(北京)科技有限公司,該公司圍繞青少年編程教育,設計開發編程語言、編譯器和集成開發環境等產品。

  為了更好地在中小學中普及計算思維,本人帶領團隊開發了一種稱為“木蘭“的編程語言。它包含三個組成部分:一、在語言規范上借鑒了Lua語言的特性并進行了擴展,增加數據表達方法等新的特性;二、開發了支持少兒編程教育的可視化編程環境;三、針對8位AVR單片機,實現了相應的編譯器和運行時系統,開發了能模擬多任務執行的虛擬機。以上產品已經在數百所中小學中,開展了10萬人次的編程科普活動。

  針對STM32單片機,我們是基于Python開源編譯器進行的二次開發,也就是先將木蘭語言的源程序轉換為Python的中間表示(AST),再在Python虛擬機上運行。這就是在開發和運行環境中會包含Python系統的原因。

  在1月15日接受媒體采訪時,本人在對木蘭編程語言的介紹中,犯了以下錯誤:

  1. 木蘭編程語言主要是用于中小學教育,在介紹中將它擴大到智能物聯領域。

  2. 木蘭語言在8位單片機上的編譯器是本團隊開發的,在32位單片機上的編譯器是基于Python開源編譯器進行的二次開發,但在接受采訪中將木蘭編程語言和編譯器夸大為完全自主開發。

  對于此次在網絡上造成的不良影響,本人鄭重道歉,對給中科院、中科院計算所帶來的不良后果表示誠摯的歉意。本人感謝大家的監督與批評,并深刻反省,保證不再出現類似問題。

  此前,據中國新聞網等多家媒體報道,中國科學院計算技術研究所(以下簡稱中科院計算所)1月15日正式對外發布該所計算機體系結構國家重點實驗室編譯技術團隊自主研發、面向新一代人工智能和物聯網應用的“木蘭”編程語言體系,并推出“木蘭”開源軟件包,供全球用戶免費下載獲取。

  但隨后網絡上爭議四起,知乎網友@沉迷單車就指出,從網絡下載的“木蘭”語言編輯器程序圖標來看,與用著名編程語言Python生成的應用程序圖標完全一致?!岸疾粨Q個圖標嗎?”他問道。

  澎湃新聞()記者并未在中科院計算所或計算機體系結構國家重點實驗室官方網站上找到“木蘭”的發布信息,亦無下載鏈接。

  “木蘭”的下載渠道在一家名為“中科智芯”的公司網站上。據企業主頁介紹,中科智芯(北京)科技有限公司是中國科學院計算技術研究所孵化企業,源中科院計算所計算機體系結構國家重點實驗室而成立。

  “木蘭”編程語言是該公司的重點產品,企業介紹稱,“木蘭”是“專為人工智能教育而生的中國自主知識產權編程語言,由中科智芯自主研發。語言設計上屏蔽了其他任何一種針對成人設計的編程語言特性,如編程環境調試復雜等,讓學生在編程語言學習之初不為細節所牽絆,具有更易理解、易于學習、易于閱讀、易于維護等特性;且支持跨平臺,對Android、UNIX、Windows都可以很好的兼容?!?/p>

  有計算機業內人士對澎湃新聞()記者表示,從目前能掌握的情況來看,“木蘭”語言更像是Python語言的“套殼”產物?!斑@個軟件就是在Python語言外邊套了一層殼,還是比較簡單的那種,相當于一個接口,連圖標都沒有改?!?/p>

自主開發編程語言被指Python套殼 中科院開發者道歉

“木蘭”圖標

自主開發編程語言被指Python套殼 中科院開發者道歉

使用Python制作的文件圖標

  “對這個exe文件進行反向編譯后可以發現,整個結構就是Python環境,比如其中有一個‘lib2to3’文件夾,就是只有python才會有的,是轉換python2到python3的lib?!鄙鲜鰳I內人士對記者表示。

  不過,上述業內人士也對記者表示,“還是要看‘木蘭’的源代碼,才能確定這個語言到底有多少自主研發成分,以及多少是來自Python語言?,F在從公司網頁上無法看到源代碼,也就是說還沒做到完全開源?!?/p>