厲害了!華為將發(fā)布國產(chǎn)編程語言,打破國外壟斷!
本文轉(zhuǎn)自:量子位
近日,華為要自主研發(fā)編程語言的消息忽然在網(wǎng)上火了。
據(jù)微博博主@IT工程師 稱,華為正在研發(fā)新的自主編程語言倉頡,領(lǐng)頭人是南京大學(xué)的計算機(jī)科學(xué)與技術(shù)系博士生導(dǎo)師,馮新宇。

△圖源微博@IT工程師,經(jīng)授權(quán)

「華為自研編程語言并非秘密」
“編譯器實(shí)驗(yàn)室早已有之”
事實(shí)上,華為在編譯器與編程語言方面早有動向。
方舟編譯器,就是華為在編譯器方向的研究成果之一。
2019年8月31日,華為在開源平臺上放出了方舟編譯器的源代碼,這是華為首個完全自主研發(fā)的編譯器平臺。
知乎@養(yǎng)貓的哈士奇表示,華為2012實(shí)驗(yàn)室的中央軟件研究院下面有一個編譯器與編程語言實(shí)驗(yàn)室,這個實(shí)驗(yàn)室已經(jīng)存在很多年了。
從拉勾網(wǎng)上的招聘信息可以看見,華為2012實(shí)驗(yàn)室的中央軟件院下面的確有一個編譯器實(shí)驗(yàn)室&芯片軟件協(xié)同設(shè)計部,「在編譯器及芯片軟件協(xié)同設(shè)計領(lǐng)域耕耘10余年」。

△圖源拉勾網(wǎng)
那么,為什么要進(jìn)行這方面的研究?
知乎@養(yǎng)貓的哈士奇 表示,去年一次交流中,華為消費(fèi)者BG軟件部的總裁王成錄博士,提到了華為為什么要搞這個實(shí)驗(yàn)室、做編譯器這些東西。
簡單來說,就是華為很早以前就發(fā)現(xiàn),在核心網(wǎng)設(shè)備上自己編譯,可以大大提高性能(通信設(shè)備也是有性能要求的),后來就開始有小規(guī)模的團(tuán)隊來做編譯。也就是說,在做方舟編譯器之前,華為已經(jīng)做了很多年編譯的相關(guān)工作了。 在做智能手機(jī)的過程中,華為想把手機(jī)做到像iPhone一樣流暢,但遇到很多困難,其中很重要的一點(diǎn)就是Android的虛擬機(jī)機(jī)制。 所以他們做了一個很重要的決定——(研發(fā))方舟編譯器,事實(shí)上這不僅是針對手機(jī)平臺、還包括通信設(shè)備等,將華為所有的編譯工作都統(tǒng)一起來,全面提升效能。


△圖源領(lǐng)英

△圖源愛丁堡大學(xué)官網(wǎng)

△圖源谷歌學(xué)術(shù)
馮新宇為何人?

△圖源南京大學(xué)官網(wǎng)

△圖源中國科學(xué)技術(shù)大學(xué)官網(wǎng)
谷歌、蘋果已有自研編程語言

對于尚未面世的「倉頡」
1、走穩(wěn)些,開源幾乎是必須的

△“木蘭”猜數(shù)字例程,圖源知乎@吳烜
有了“木蘭”的先例,針對這次華為的「倉頡」,知乎@吳烜 認(rèn)為,國產(chǎn)編程語言應(yīng)該走穩(wěn)些,而且開源幾乎是必須的。
吸取木蘭的一些教訓(xùn)吧,趁早開源,盡量避免以訛傳訛。如果目標(biāo)是通用編程語言,就要和現(xiàn)在市場上的英文編程語言在開放性上對齊。開源幾乎是必須的。在此特殊時期,必然被放到顯微鏡下看,不如早作準(zhǔn)備。
2、不應(yīng)僅僅為了解決“自研”
針對這次的新聞爆料,知乎@DBinary 則認(rèn)為,“自研”不應(yīng)是重點(diǎn),「倉頡」應(yīng)該拿出更有說服力的價值體現(xiàn)。
一門語言要發(fā)展,先不說生態(tài),好歹說說這門語言誕生出來為了解決什么問題。而這個叫倉頡的語言,難道就僅僅是為了解決“自研”? 如果只是拿自研編程語言這件事來說,真的不是很高大上的事情,你看我自己就寫了一個叫StoryScript的語言,從詞法分析器開始寫,編譯器、虛擬機(jī)、調(diào)試器、一應(yīng)俱全。這個語言,除了我之外應(yīng)該沒有第二個人會用了,不是因?yàn)檎Z言高大上,而是因?yàn)闆]人看得上。
3、不要用“Char”當(dāng)英文名
當(dāng)然,如果僅僅就事論事,知乎@蘇遠(yuǎn) 表示,從爆料的「倉頡」英文名Char來說,其實(shí)不是一個好選擇,希望正式發(fā)布時,選個更好的名字。
Char在計算機(jī)里是字符的意思,幾乎所有編程語言里都有Char的概念。?如果一個新語言名字和一個計算機(jī)通用術(shù)語重名,在內(nèi)容搜索方面已經(jīng)先天處于不利地位。?開發(fā)者想查找倉頡的資料,一定會充斥著大量的無關(guān)信息。按照權(quán)重排名,很可能前五頁都沒有倉頡語言的結(jié)果。
@IT工程師 的微博:https://weibo.com/1749224837/JiAFh0oFM?type=repost#_rnd1599465214374
知乎@吳烜 的回答:https://www.zhihu.com/question/418762759/answer/1452144290
知乎@蘇遠(yuǎn) 的回答:https://www.zhihu.com/question/418762759/answer/1458729514
知乎@養(yǎng)貓的哈士奇 的回答:https://www.zhihu.com/question/418762759/answer/1459388553
知乎@DBinary 的回答:https://www.zhihu.com/question/418762759/answer/1458923757
知乎@匿名用戶 的回答:https://www.zhihu.com/question/418762759/answer/1454618474
https://cs.nju.edu.cn/xyfeng/research/feng-cv.pdf
https://www.lagou.com/jobs/6842654.html?show=
https://blogs.ed.ac.uk/he-lab/2020/08/26/phd-internship-programming-language-engineer/
https://www.cs.bham.ac.uk/~drg/pubs.html
?分享、點(diǎn)贊、在看,給個三連擊唄!?

