非同步導讀
華為技術有限公司申請註冊“倉頡語言”的商標,國際分類涉及“科學儀器”、“網站服務”,傳華為即將釋出中中國產自主程式語言——倉頡。
蘋果有Swift、谷歌有Dart、微軟有 TypeScript......
華為有鴻蒙OS、 HMS服務、麒麟晶片和方舟編譯器,現在更是被曝要自研程式語言。華為的這一系列舉動,都代表著中國人奮力發展中中國產計算機技術的拼搏和決心。
自主程式語言 倉頡
近期大家應該都或多或少接觸到了這個訊息,9月初,微博博主“IT工程師”爆料華為正在研發新的自主程式語言倉頡,且領頭人是南京大學的電腦科學與技術系博士生導師——馮新宇,之後,此話題熱度持續攀登,目前僅知乎相關瀏覽量就已經近10萬。
在微博爆出訊息後,大家迅速對這個訊息進行了查證,從企查查上確實可以看到華為公司申請註冊“倉頡語言”的商標,國際分類為第 42 類;此外,早在今年3月,華為還申請了數條“華為倉頡”的商標,國際分類為第 9 類。在商標申請中,國際分類第 9 類中包含計算機及手機相關的軟體程式商品,而第 42 類則包含計算機程式設計服務等,目前商標狀態均顯示為“註冊申請中”。
雖然目前事情還沒有確定,但知乎等多平臺都有人表示,華為研發新的自主程式語言在圈裡早已不是什麼祕密。
早前,在谷歌對華為封鎖GMS的時候,華為就以一手HMS巧妙化解,現在HMS全球開發者已經達到180萬,華為應用市場APP Galley全球活躍使用者也達到了4.9億,應用分發量達到2610億,成為全球第三的應用商店。
加上去年華為在開源平臺上放出了方舟編譯器的原始碼(這是華為首個完全自主研發的編譯器平臺)和鴻蒙OS的橫空出世,人們就更加堅定地認為華為有能力去做技術研發和科技創新。
“倉頡”是中國漢字的創造者,被稱為“造字聖人”,華為以此為自研程式語言命名,顯然是對這個程式語言寄予了厚望。而且如果真是馮新宇教授領頭,那確實讓人覺得多了幾分信服力。
馮新宇
馮新宇教授是誰?他主要從事程式驗證、併發理論、程式設計語言理論方面的研究,先後在中科大和南京大學就任教授,是中國高校程式語言方向的專家。
2019年,馮新宇教授還帶領團隊獲得了PLDI傑出論文獎。知乎有匿名使用者表示,馮新宇教授可能是在大陸高校就職發POPL和PL頂會最多的人之一。
鴻蒙OS、 HMS服務、麒麟晶片、方舟編譯器和鴻蒙OS,加上現在的倉頡、鯤鵬、巴龍、泰山、凌霄、昇騰……還有已註冊但未使用的朱雀、騰蛇、青牛、青玄、朱雀、當康、玄機、白虎、靈豸、饕餮……很多人笑稱華為這是要把一本《山海經》都拿下的節奏。
然而,在這之中,其實我們更應該看到華為對技術創新的重視。
其實中國開發程式語言也是有足夠能力的,只不過在現在的商業環境裡,很多大公司都是傾向於使用已經開源的程式語言,因為更加成熟,也能在海外市場更好地應用,沒有人願意去做自研這樣“出力不討好”的事情。
華為因為被不公平對待,體會到擁有核心技術的重要性,願意出錢出力自主研發核心技術,其實也可以理解。
因為其實很多我們耳熟能詳的大公司,比如微軟、谷歌、蘋果都是擁有自己自主研發的程式語言的。
那些大公司和他們自主研發的程式語言
首先拿大家最為熟悉的Swift來說吧,Swift是蘋果公司在2014年全球開發者大會(WWDC)上推出的。
作為一種新的程式語言,Swift結合了C和Objective-C的優點,並且不受C相容性的限制,可用於編寫IOS和MacOS應用。
Swift採用安全的程式設計模式並添加了很多新特性,這使程式設計更簡單、更靈活、也更有趣。且Swift是基於成熟又倍受喜愛的Cocoa和Cocoa Touch框架的,很多人都認為,Swift重新定義了軟體開發。
還有Dart,Dart是一個被用於Web、伺服器、移動應用和物聯網等領域的開發的計算機程式語言,它的語法類似C語言,可以轉譯為JavaScript,支援介面(interfaces)、混入(mixins)、抽象類(abstract classes)、具體化泛型(reified generics)、可選型別(optional typing)和聲音型別系統(sound type system)——而它是由谷歌研發的。
2011年10月,在丹麥奧爾胡斯舉行的GOTO大會上,谷歌首次帶著Dart正式亮相,之後直到2013年11月14日Dart 1.0才正式釋出。
同年,谷歌Chromium團隊開始在基於Chrome App的開源開發環境中工作,該開發環境具有可重用的GUI小部件庫,代號為Spark,後來又被更名為Chrome Dev Editor。它就是建在Dart中,幷包含由Polymer供電的Spark。
2015年,Dart團隊還建立了Dart Pad,這是一個完全線上的編輯器,使用者可以從中進行Dart 應用程式程式設計介面(API)的試驗,並執行Dart程式碼。Dart Pad使Dart的使用變得更加簡單了,而且它還提供語法高亮顯示、程式碼分析、程式碼完成、文件以及HTML和CSS編輯等功能。
有了Dart,你可用的網頁尾本將不只是Java專屬。在使用Chromium的瀏覽器中,你可以直接執行Dart程式,而且有可靠的虛擬機器幫助你提升程式效能和安全性。即使你的瀏覽器不支援Dart語言,Dart也可以被轉換為Java程式碼,也不必再擔心相容上的問題。
最後來說說老大哥微軟,2012年10月,微軟釋出了首個公開版本的TypeScript;2013年6月19日,在經歷了一個預覽版之後,微軟釋出了正式版TypeScript。
這是一種開源、跨平臺的程式語言,專為大型應用程式的開發而設計,並可以轉換為JavaScript。它的作者安德斯·海爾斯伯格,是C#的首席架構師。
由於TypeScript是JavaScript的超集,因此現有的JavaScript程式也是有效的TypeScript程式。
2016年9月22日,微軟釋出了TypeScript 2.0。它引入了幾個功能,其中包括使程式設計師有選擇地方止為變數分配null值的功能——被稱為價值十億美元的功能:
Tony Hoare於1965年發明了空引用(null reference)作為ALGOL W語言的一部分,在2009年,Hoare在論文中將自己的這個發明描述為“十億美元的錯誤”:
我稱之為我的十億美元錯誤。就是我在1965年發明的空引用。那時,我正在設計第一個全面的型別系統,用於面嚮物件語言(ALGOL W)的引用。我的目標是確保對引用的所有使用都絕對安全,並由編譯器自動執行檢查。但是我無法抗拒引入空引用的誘惑,僅僅是因為它是如此容易實現。這導致了無數的錯誤,漏洞和系統崩潰,在最近四十年中可能造成十億美元的痛苦和破壞。
毫無疑問,不管是以上哪個語言,都給他們的研發公司帶來了鉅額的利益,同時也推動了科技的進步。
所以,如果我們能中中國產程式語言或是作業系統,都是具有相當大的意義的,尤其是在現在日益嚴峻的科技環境下,我們更應該意識到自主創新的重要性。期望有一天,中國人能在程式語言、系統、晶片設計製造等眾多的科技上游領域都擁有一席之地。
https://en.wikipedia.org/wiki/Dart_(programming_language)
https://en.wikipedia.org/wiki/TypeScript
https://en.wikipedia.org/wiki/Swift_(programming_language)
圖書推薦
自制程式語言
廣告
京東
內容簡介:
本書全面從指令碼語言和虛擬機器介紹開始,講解了詞法分析的實現、一些底層資料結構的實現、符號表及類的結構符號表,常量儲存,區域性變數,模組變數,方法儲存、虛擬機器原理、執行時棧實現、編譯的實現、語法分析和語法制導自頂向下算符優先構造規則、除錯、檢視指令流、檢視執行時棧、給類新增更多的方法、垃圾回收實現、新增命令列支援命令列介面。
OCaml語言程式設計基礎教程
內容簡介:
本書是OCaml語言程式設計基礎性入門書。講解了函式式程式設計的基礎知識,包括函式式控制結構和函式式資料結構,型別推導的基本原理,OCaml語言對指令式程式設計的支援,基於模組和函子的模組化程式設計,OCaml中的面向物件程式設計概念和技術。