美國留學(xué)選擇什么專業(yè)好?留學(xué)美國熱門專業(yè)推薦
2019-06-26
更新時間:2024-06-09 03:36作者:小樂
受訪者| IDEA研究院基礎(chǔ)軟件中心負(fù)責(zé)人、MoonBit團(tuán)隊(duì)負(fù)責(zé)人張洪波
作者|鄭麗媛
出品| CSDN(ID:CSDNnews)
從1945年第一臺電子計(jì)算機(jī)投入使用至今,已經(jīng)70多年了。人類進(jìn)入信息時代已經(jīng)70多年了。作為一種非常重要且必要的基礎(chǔ)設(shè)施,編程語言也不斷地演變和發(fā)展:從最初的機(jī)械語言到后來的匯編語言,再到今天的高級語言—— 也就是說,在當(dāng)今信息時代高速發(fā)展的背后,離不開編程語言。
曾經(jīng)有人問:如果這么重要,為什么中國卻沒能開發(fā)出優(yōu)秀的編程語言呢?但他得到的答案大多是否定的。
國產(chǎn)編程語言的難點(diǎn)是什么?是信仰、投資、資本還是人才?如何打破國產(chǎn)編程語言的發(fā)展僵局?為了回答這些問題,CSDN近日采訪了IDEA研究院基礎(chǔ)軟件中心負(fù)責(zé)人張洪波:
他不僅是編程語言O(shè)Caml的前核心開發(fā)者,也是中國第一位具有國際影響力的編程語言ReScript作者。他最近帶領(lǐng)團(tuán)隊(duì)開發(fā)的100%自主開發(fā)的編程語言MoonBit在業(yè)界引起了不小的轟動。繼——之后,不僅是著名前端框架工具Vue.js的作者尤玉溪和WebAssembly生態(tài)中的知名公司W(wǎng)asmedge在試用后轉(zhuǎn)發(fā)了公告,全球眾多技術(shù)愛好者也紛紛轉(zhuǎn)發(fā)驚嘆MoonBit的編譯速度并對其抱有很高的期望。
IDEA研究院基礎(chǔ)軟件中心負(fù)責(zé)人、MoonBit團(tuán)隊(duì)負(fù)責(zé)人張洪波
那么接下來,我們就來詳細(xì)了解一下張宏博的編程人生吧。我們希望他分享的編程語言發(fā)展之路能夠讓正在開發(fā)國產(chǎn)編程語言的開發(fā)者受益,幫助國產(chǎn)編程語言“破局”。
轉(zhuǎn)入清華大學(xué)電子系,對編程語言產(chǎn)生興趣。
如果以學(xué)習(xí)成績作為參考,張宏博從小可能就是父母口中的“別人家的孩子”:從小就以學(xué)校第一名畢業(yè),初中時又名列全市第一。他因高考“成績不佳”而被轉(zhuǎn)學(xué)到另一所大學(xué)。清華大學(xué)電氣工程及其自動化系(本來我申請的是數(shù)理基礎(chǔ)專業(yè))。
然而,電氣工程及其自動化并不是張宏波的興趣,因此他一進(jìn)入大學(xué)就決定轉(zhuǎn)專業(yè)。在向?qū)W長請教后,他把電子系定為自己的目標(biāo):大一結(jié)束時,張宏波在系里排名第三,甚至如愿轉(zhuǎn)入電子系——。那年是清華大學(xué)“姚班”的第一期。
回憶起大二剛進(jìn)入清華大學(xué)電子系時的情景,張洪波感嘆“高手真多”,他的排名跌至全系第20名左右。幸運(yùn)的是,經(jīng)過一年的適應(yīng)和專注,他的專業(yè)成績在大三時重回系前列,并獲得了國家最高獎學(xué)金。
“現(xiàn)在回想起來,這些成果只能作為茶余飯后的話題。人生最大的困難就是打開書本,找到自己的方向并堅(jiān)持才是最重要的?!闭鐝埡瓴┧f,對于他來說,大三這一年非常重要。不僅學(xué)業(yè)順利,也是他對編程語言產(chǎn)生興趣的一個關(guān)鍵點(diǎn)。
事實(shí)上,他早在大一、大二的時候就開始接觸C/C++編程了。業(yè)余時間他也看了很多編程書籍,也用OpenCV做了一些東西。雖然通過編程可以很快實(shí)現(xiàn)想法,但張洪波坦言:當(dāng)時他覺得編程本身并不快樂,因?yàn)檎{(diào)試占用了太多時間,很少能一次性編譯出來。
直到大三,成績優(yōu)異的張洪波進(jìn)入微軟亞洲研究院(MSRA)實(shí)習(xí),在那里他接觸到了函數(shù)式編程語言F#,并被該編程語言的理論之美所吸引。“我發(fā)現(xiàn)使用F# 編寫程序基本上可以一次性完成,幾乎不需要調(diào)試,甚至可以快速構(gòu)建復(fù)雜的系統(tǒng),讓編程本身成為一種樂趣?!?
博士期間,我成為OCaml 的核心開發(fā)人員
在清華大學(xué)與微軟亞洲研究院(MSRA)的聯(lián)合培養(yǎng)項(xiàng)目中,張洪波有幸見到了他的伯樂——、他的博士生導(dǎo)師、IDEA研究院創(chuàng)始主席、前微軟全球執(zhí)行副總裁沉向洋。“我覺得人生中,除了努力之外,遇到自己的天賦是非常幸運(yùn)和有價值的。對我來說,哈利就是那種寶貴的天賦?!?
在攻讀博士學(xué)位期間,張洪波接觸了編程語言研究領(lǐng)域,并被編程語言之美所感動。因此,他想繼續(xù)學(xué)業(yè),并向哈利表達(dá)了這個愿望。在得知張洪波的想法后,Harry不僅非常支持他,還幫他介紹了很多資深專家和高校系主任,其中包括Simon Jones(Haskell語言的主要貢獻(xiàn)者)和Jeannette M Wing(卡內(nèi)基梅)。哥倫比亞大學(xué)計(jì)算機(jī)科學(xué)系系主任,后擔(dān)任哥倫比亞大學(xué)執(zhí)行副校長)。
正是在Harry的推薦和邀請下,張宏博獲得了攻讀博士學(xué)位的機(jī)會。在賓夕法尼亞大學(xué)計(jì)算機(jī)科學(xué)系。后來出于興趣,他也深度參與了OCaml語言開源項(xiàng)目,成為了OCaml的核心開發(fā)者。
幸運(yùn)的事情接二連三地發(fā)生。當(dāng)時,彭博收購了法國一家金融衍生品公司的衍生品定價軟件。該軟件恰好是用OCaml 編寫的,因此迫切需要擅長OCaml 編程語言和編譯器的人。 —— 因此,時任OCaml 核心開發(fā)人員的張洪波在攻讀博士學(xué)位期間,受到彭博社邀請加入實(shí)習(xí)生。后來,由于表現(xiàn)出色,彭博社為張宏博提供了一份豐厚的offer,他也成為了彭博社的正式員工,從事函數(shù)式語言編譯器的開發(fā)。
ReScript,研發(fā)“不務(wù)正業(yè)”,成功進(jìn)軍行業(yè)
或許對于外界來說,彭博社只是一個媒體平臺,但事實(shí)并非如此。其主要盈利模式是銷售彭博終端軟件,該軟件的用戶界面是用JavaScript渲染的。
2014年在彭博社工作的張洪波不僅要面對數(shù)千萬行JavaScript代碼,而且每天還要編寫JavaScript。另外,當(dāng)時的JavaScript遠(yuǎn)不如現(xiàn)在方便,而且維護(hù)起來非常困難,這讓他感到很頭疼。“我開始思考,是否有一種更健壯且易于維護(hù)的編程語言可以用來編寫UI的前端邏輯?”
在這個想法的驅(qū)使下,張洪波開始“不務(wù)正業(yè)”:利用周末或者下班后的空閑時間,他花了大約六七個周末做了一個Demo,這也是一個Playground(左邊是OCaml,右邊是JavaScript)正確的)。他可以方便地編寫靜態(tài)語言代碼并實(shí)時編譯為JavaScript。幸運(yùn)的是,這個Hobby Project得到了彭博社老板的認(rèn)可,認(rèn)為其開發(fā)經(jīng)驗(yàn)非常好,并允許張洪波全職開發(fā)。 —— 這個愛好項(xiàng)目就是ReScript 的原型。
或許誰也沒想到,這樣一門最初設(shè)計(jì)動機(jī)是為自己創(chuàng)造更方便的工具的編程語言ReScript,后來卻成為第一個由中國人創(chuàng)造、具有全球影響力的通用編程語言。
在最初設(shè)計(jì)ReScript時,張洪波曾思考過一個問題:“為什么ML(元語言)的作者獲得了圖靈獎,但這種學(xué)術(shù)語言最終卻沒有在業(yè)界擴(kuò)張?”何先生思考后認(rèn)為,關(guān)鍵在于執(zhí)行力:學(xué)術(shù)界沒有很好的執(zhí)行能力,無法很好地將想法帶入工業(yè)界。
為了填補(bǔ)這個空白,把學(xué)術(shù)界一些更好的想法帶到工業(yè)界,ReScript起源于學(xué)術(shù)界,包括最早的ML和后來的OCaml。它是一種ML(元語言),可以幫助開發(fā)人員設(shè)計(jì)更好的抽象并支持大規(guī)模程序開發(fā)。
在社區(qū)的幫助和用戶的建議下,ReScript得到了不斷的優(yōu)化和改進(jìn)。漸漸地,張洪波的期望實(shí)現(xiàn)了:起源于學(xué)術(shù)界的ReScript如今已成功進(jìn)入工業(yè)界。
不僅游戲公司Ubisoft、文本編輯器Tinymce等大公司將ReScript應(yīng)用到他們的項(xiàng)目中,韓國農(nóng)業(yè)科技公司Greenlabs、歐洲的一些跨領(lǐng)域公司以及為國家公共交通提供移動解決方案的公司(cca.io)大家都在使用ReScript,就連印度最大的物流市場(Porter)也已經(jīng)使用ReScript兩年多了。
更值得一提的是,由于Meta(前身為Facebook)在Messager項(xiàng)目中也使用了ReScript,所以當(dāng)張洪波在2017年決定回國時,Meta主動伸出了橄欖枝,破例讓他成為Meta在時間。駐中國的軟件工程師。
對于這些成績,張洪波強(qiáng)調(diào)了一點(diǎn):POC與Product之間的差距仍然巨大。
“如果一門語言剛從玩具語言級別開始,可能只需要6個周末。但如果想真正落地到工業(yè)場景中,讓它成為一個可用且好用的工具,那就需要經(jīng)過很多階段的測試,這是可以做一輩子的事情?!?
100%完全自主研發(fā)MoonBit!
在Meta 工作了5 年后,張洪波于2022 年加入沉向陽院士創(chuàng)辦的IDEA 研究院,帶領(lǐng)團(tuán)隊(duì)使用WebAssembly(以下簡稱Wasm)開發(fā)云計(jì)算和邊緣計(jì)算開發(fā)平臺。
雖然Wasm 是2017 年才推出的新一代標(biāo)準(zhǔn)指令集,但其潛在優(yōu)勢和發(fā)展前景不容小覷。不過,目前在Wasm 平臺上,主流的開發(fā)語言仍然是一些對程序員要求比較高的底層編程語言,比如C++、Rust;而應(yīng)用層的Go語言,雖然運(yùn)行在Wasm上,但它生成的代碼規(guī)模巨大。
基于這些痛點(diǎn),張洪波和他的團(tuán)隊(duì)開始思考如何充分發(fā)揮Wasm 的優(yōu)勢:如果能有一個平臺能夠解決前面的問題,不僅會形成后來者的優(yōu)勢,也促進(jìn)了整個生態(tài)系統(tǒng)的發(fā)展!
于是,100%自主開發(fā)的編程語言MoonBit應(yīng)運(yùn)而生。 (推薦閱讀:《國產(chǎn)編程語言月兔(Moonbit)嶄露頭角,首發(fā)登頂 Hacker News!》)
得益于開發(fā)ReScript的經(jīng)驗(yàn),在張洪波的帶領(lǐng)下,他的團(tuán)隊(duì)用了不到11個月的時間就開發(fā)出了MoonBit,甚至用了8、9個月就推出了IDE、構(gòu)建系統(tǒng)和編譯器。
MoonBit在語言設(shè)計(jì)上受到ReScript的啟發(fā),主要體現(xiàn)在以下三個方面:
(1)提高IDE的優(yōu)先級,盡早明確IDE、構(gòu)建系統(tǒng)和編譯器的同步協(xié)作模型,幫助團(tuán)隊(duì)擁有全局視野(如果這些方面在語言后期才構(gòu)思,開發(fā)成本將顯著增加)。其中,與早期的Rust、Flow/Hack等許多知名語言一樣,MoonBit的核心編譯器也是基于OCaml開發(fā)的,而張洪波是OCaml的前核心開發(fā)人員,因此團(tuán)隊(duì)經(jīng)驗(yàn)豐富。
(2)關(guān)于構(gòu)建系統(tǒng),張洪波在之前開發(fā)ReScript時也積累了寶貴的經(jīng)驗(yàn),即為了獲得最佳性能,編譯器和構(gòu)建系統(tǒng)高度集成。在此基礎(chǔ)上,MoonBit在速度和性能方面表現(xiàn)更好。
(3)在語言生態(tài)方面,MoonBit也將追求商業(yè)化的可持續(xù)發(fā)展。如上所述,ReScript 在業(yè)務(wù)上擁有眾多國際用戶和業(yè)務(wù)需求,可以作為MoonBit 學(xué)習(xí)的寶貴經(jīng)驗(yàn)。張洪波表示:“商業(yè)化模式將為我們構(gòu)建健康的語言生態(tài)閉環(huán)提供穩(wěn)定的資金來源。我相信好的東西應(yīng)該被廣泛使用,商業(yè)化將為MoonBit帶來長期穩(wěn)定的發(fā)展?!?
憑借這些優(yōu)勢,Moonbit 雖然還處于Pre-Alpha 階段,但已經(jīng)引發(fā)了IT 行業(yè)的熱議,并登上了Hacker News 的頭版。另外,截至目前,MoonBit 的代碼庫總共進(jìn)行了6000 次提交(commits),這絕對是一個巨大的工作量。
對于MoonBit未來的發(fā)展規(guī)劃和長期愿景,張洪波透露,團(tuán)隊(duì)將重點(diǎn)關(guān)注三個核心領(lǐng)域:教育、人工智能和云/邊緣計(jì)算。
教育領(lǐng)域
在教育領(lǐng)域,相比Python和Java,MoonBit以其簡潔的語法和強(qiáng)大的類型系統(tǒng),可能更適合作為編程教學(xué)語言:簡潔的語法讓學(xué)生輕松上手,MoonBit的生態(tài)支撐工具比如在線IDE,讓學(xué)生不需要搭建本地開發(fā)環(huán)境就可以直接編寫和調(diào)試程序;類型系統(tǒng)可以讓學(xué)生在學(xué)習(xí)編程語言的同時,從更高的維度思考如何讓程序更穩(wěn)定、更容易維護(hù)。
“教育也是基礎(chǔ)軟件生態(tài)的重要組成部分,培養(yǎng)底層軟件人才有利于推動下游生態(tài)系統(tǒng)建設(shè),為企業(yè)提供高素質(zhì)人才,實(shí)現(xiàn)互利共贏?!?
人工智能領(lǐng)域
在AI領(lǐng)域,隨著大規(guī)模語言模型的興起,MoonBit具有與時俱進(jìn)的優(yōu)勢,能夠更好地與當(dāng)前趨勢融合。據(jù)了解,開發(fā)團(tuán)隊(duì)正在積極推進(jìn)將開源大語言模型(LLM)集成到MoonBit的計(jì)劃。目前已經(jīng)實(shí)現(xiàn)了編譯器與AI的實(shí)時交互,即充分利用開源大模型,通過LLM在特定領(lǐng)域協(xié)助用戶。生成高效的代碼,未來將繼續(xù)使用交互式靜態(tài)分析,進(jìn)一步提高生成代碼的準(zhǔn)確性。
“我想強(qiáng)調(diào)的是,MoonBit不僅僅是一種語言,更是一種端到端的解決方案。我相信我們可以在AI垂直領(lǐng)域打造獨(dú)特的語言生態(tài)系統(tǒng),可以極大地提高程序員的發(fā)展效率。”
云/邊緣計(jì)算領(lǐng)域
在云/邊緣計(jì)算領(lǐng)域,MoonBit的發(fā)展主要依賴于Wasm生態(tài)的發(fā)展,其潛力還有很多有待釋放。例如,隨著智能化的快速發(fā)展,在車輛駕駛領(lǐng)域,傳統(tǒng)的分布式電子架構(gòu)已經(jīng)不能滿足智能化轉(zhuǎn)型的需求。因此,一些汽車制造商開始將視野擴(kuò)展到Wasm,積極尋求新一代電子架構(gòu)。構(gòu)建底層硬件集中式平臺,通過軟件OTA實(shí)現(xiàn)功能快速迭代—— 此時,Wasm架構(gòu)的安全性、高性能、輕量化的體積使其成為邊緣計(jì)算領(lǐng)域的首選。
在云計(jì)算領(lǐng)域,隨著AWS Lambda等Serverless技術(shù)的廣泛普及,業(yè)界也在尋找下一個比當(dāng)代Serverless技術(shù)更安全、啟動更快的解決方案。對此,張洪波認(rèn)為:“Wasm超快的冷啟動速度和安全性也將是這個領(lǐng)域非常有力的競爭對手?!?
當(dāng)MoonBit登上黑客新聞熱榜時,張宏博曾表示MoonBit將是他退休前的最后一個項(xiàng)目。 ——這句話的背后,無疑蘊(yùn)含著他對MoonBit的巨大投入和承諾:對于他來說,MoonBit不僅僅是一個項(xiàng)目,更是一個他要全身心投入的事業(yè),一個他要為之長期奮斗的愿景。
“我也希望將自己多年的開發(fā)和編程經(jīng)驗(yàn)與MoonBit項(xiàng)目結(jié)合起來,投入全部的努力。我想,如果我們有機(jī)會在基礎(chǔ)軟件領(lǐng)域成為世界第一,那么這可能就是我唯一的機(jī)會,然后也許我就不再有精力和機(jī)會去投資這些東西了。”
“國產(chǎn)基礎(chǔ)軟件一定會取得突破!”
CSDN:業(yè)內(nèi)很多人堅(jiān)持發(fā)展國產(chǎn)編程語言,但也有很多聲音表示“中國不必有自己的編程語言”。您對這個問題有何看法?
張洪波:這個觀點(diǎn)值得商榷,因?yàn)榫幊陶Z言是基礎(chǔ)軟件。如果想做一些底層的創(chuàng)新,就無法避免編程語言。對于一個國家來說,擁有自己的編程語言是一項(xiàng)重要的戰(zhàn)略舉措。盡管我國學(xué)術(shù)論文發(fā)表量已走在世界前列,但在大多數(shù)科技領(lǐng)域,尤其是基礎(chǔ)軟件領(lǐng)域,仍然是大而不強(qiáng)。最大的困難在于中國缺乏自己的發(fā)展平臺。
在基礎(chǔ)軟件領(lǐng)域,尤其是編程語言領(lǐng)域,情況也類似。業(yè)界比較流行的編程語言的社區(qū)主要集中在歐洲。例如,Haskell 社區(qū)基本上以英國的GHC 為中心。法國和瑞士的PL在業(yè)界被公認(rèn)為一流。也正是因?yàn)橄穹▏鳬NRIA這樣的研究機(jī)構(gòu)主導(dǎo)了OCaml和Coq的開發(fā),瑞士EPFL也有自己的研究平臺Scala。
這讓我想起《加強(qiáng)基礎(chǔ)研究 實(shí)現(xiàn)高水平科技自立自強(qiáng)》中提到的一段話:
我國必須建設(shè)高水平的基礎(chǔ)研究支撐平臺。過去很長一段時間,我國基礎(chǔ)研究存在“從國外學(xué)術(shù)期刊找課題,從國外進(jìn)口儀器設(shè)備,取得成果后再花錢在國外期刊和平臺發(fā)表成果”的問題。近年來,我國大力建設(shè)世界一流科技期刊,打造一批強(qiáng)國重要工具,基礎(chǔ)研究支撐平臺建設(shè)取得重大進(jìn)展。但要從根本上解決“兩端外”問題,還有很長的路要走。
以Matlab為例。國內(nèi)研究人員可能會發(fā)表一些關(guān)于數(shù)值算法或機(jī)器學(xué)習(xí)的優(yōu)秀論文。論文的結(jié)果最終可能會轉(zhuǎn)化為Matlab工具箱的函數(shù),無法沉淀到自己的生態(tài)中。最終,它們可能會被送給其他國家的平臺制作嫁衣。
如果我們有自己的編程語言,我們就可以進(jìn)行更多的研究,發(fā)表靜態(tài)分析的論文等,然后將這些研究成果應(yīng)用在我們自己的平臺上,最終實(shí)現(xiàn)整個生態(tài)系統(tǒng)的繁榮。這將使研究成果真正落地,造福中國。
MoonBit平臺的開發(fā)是一個“漫長而艱辛,但成功即將到來”的過程。開發(fā)編程語言工具鏈,培育自己的生態(tài)系統(tǒng)需要大量的時間和精力,但如果國內(nèi)基礎(chǔ)軟件學(xué)者和產(chǎn)業(yè)界的開發(fā)者能夠在自己的平臺上積累經(jīng)驗(yàn),無論從工程角度還是學(xué)術(shù)角度都將具有重大意義。
CSDN:國內(nèi)大部分編程語言用戶不多,生態(tài)很難發(fā)展,導(dǎo)致用戶體驗(yàn)不佳,“勸退”用戶。這也是目前國產(chǎn)編程語言發(fā)展的主要難點(diǎn)之一。您認(rèn)為如何打破這一僵局以及需要克服哪些障礙?
張洪波:這個問題確實(shí)值得深入討論,因?yàn)槿魏尉幊陶Z言都很難成為現(xiàn)象級編程語言,而不僅僅是國產(chǎn)編程語言。這并不比成為獨(dú)角獸或大公司容易?,F(xiàn)象級的語言需要天時、地利、人和,很多因素缺一不可。
天獅:國家在政策上支持基礎(chǔ)軟件的發(fā)展。基礎(chǔ)軟件的發(fā)展不僅是一個產(chǎn)業(yè)的發(fā)展,也關(guān)系到國家產(chǎn)業(yè)結(jié)構(gòu)的轉(zhuǎn)型。我認(rèn)為基礎(chǔ)軟件是支撐信息產(chǎn)業(yè)升級的“根技術(shù)”。國家的重視和優(yōu)惠政策有利于基礎(chǔ)軟件產(chǎn)業(yè)的發(fā)展。
地點(diǎn):我們位于深圳,一個充滿活力的城市。同時,我們所在的IDEA研究院背靠粵港澳大灣區(qū)(河套片區(qū))。國務(wù)院近日發(fā)布的最新文件提到,要重點(diǎn)發(fā)展河套地區(qū),鼓勵企業(yè)在技術(shù)創(chuàng)新領(lǐng)域發(fā)展。這也為創(chuàng)新科技企業(yè)提供了一個非常好的平臺。
人和:優(yōu)秀人才的加入也為MoonBit提供了“新鮮血液”。我相信未來屬于年輕人,要注重人才培養(yǎng)。 “授人以魚不如授人以漁”的道理在這里非常適用。科學(xué)研究和編程教育是MoonBit一直關(guān)注的場景。
我認(rèn)為中文編程語言的出發(fā)點(diǎn)應(yīng)該是走向世界、屬于世界。我們有很多機(jī)會制作這種語言,我們應(yīng)該有信心和耐心??傊?,只要有好的人才、正確的方向、耐心和信心,國產(chǎn)基礎(chǔ)軟件一定會成功。關(guān)鍵是要敢于創(chuàng)新,而不是總是跟隨。我們需要樂觀地看待這個問題。
歡迎參與CSDN推出的《2023 AI 開發(fā)者生態(tài)調(diào)查問卷》,分享您的真實(shí)使用體驗(yàn),還有更多精美好禮等您來拿!