近日,久久沒(méi)有動(dòng)靜的鴻蒙,再次傳來(lái)了一個(gè)大消息。華為宣布將發(fā)布為鴻蒙研發(fā)的編程語(yǔ)言倉(cāng)頡,為整個(gè)鴻蒙生態(tài)補(bǔ)上最后一環(huán)。
創(chuàng)新互聯(lián)建站是專業(yè)的昭平網(wǎng)站建設(shè)公司,昭平接單;提供成都網(wǎng)站建設(shè)、成都網(wǎng)站設(shè)計(jì),網(wǎng)頁(yè)設(shè)計(jì),網(wǎng)站設(shè)計(jì),建網(wǎng)站,PHP網(wǎng)站建設(shè)等專業(yè)做網(wǎng)站服務(wù);采用PHP框架,可快速的進(jìn)行昭平網(wǎng)站開發(fā)網(wǎng)頁(yè)制作和功能擴(kuò)展;專業(yè)做搜索引擎喜愛的網(wǎng)站,專業(yè)的做網(wǎng)站團(tuán)隊(duì),希望更多企業(yè)前來(lái)合作!
據(jù)消息,3月16日華為編程語(yǔ)言實(shí)驗(yàn)室, 面向部分開發(fā)者發(fā)布了華為新語(yǔ)言的試用報(bào)名問(wèn)卷 ,并表示,在問(wèn)卷填寫完成后,將通過(guò)郵件進(jìn)行后續(xù)信息的通知。
倉(cāng)頡,是原始象形文字創(chuàng)造者,根據(jù)記載,倉(cāng)頡見鳥獸的足跡受啟發(fā),分類別異,加以搜集、整理和使用,在漢字創(chuàng)造的過(guò)程中起到了重要作用,被尊為“造字圣人”。
華為自研編程語(yǔ)言,與“造字圣人”不謀而合,用“倉(cāng)頡”來(lái)命名,別具深意,恰到好處,頗有我國(guó) 歷史 文化底蘊(yùn)。
也正因?yàn)槿绱耍簧偃送茰y(cè)這會(huì)是一款純漢字純中文邏輯的編程語(yǔ)言,也就是“讓中國(guó)人用自己的漢字編程”。之所以取名為“倉(cāng)頡”,不僅是因?yàn)閭}(cāng)頡是中國(guó)原始象形文字的創(chuàng)造者,更是華為想用漢字做為基礎(chǔ)重新建立一個(gè)技術(shù)生態(tài)的真實(shí)寫照。
華為倉(cāng)頡 是在華為在2021年開發(fā)者大會(huì)上公布的自研編程語(yǔ)言,從方舟翻譯器到鴻蒙系統(tǒng),華為一直走在自主研發(fā)的道路上。開發(fā)倉(cāng)頡編程語(yǔ)言對(duì)華為本身來(lái)說(shuō)也具有比較重要的意義。
事實(shí)上華為并不是第一家自主研發(fā)編程語(yǔ)言的企業(yè)。
我們都知道,做系統(tǒng)并不容易,最關(guān)鍵的就是要打造生態(tài),而打造了生態(tài)之后如何更加穩(wěn)固,就是要有自己的編譯語(yǔ)言,有語(yǔ)言才能形成閉環(huán)。
目前,成功的系統(tǒng)基本都有自己專門的語(yǔ)言,像 蘋果的Swift、谷歌的DART、微軟的TypeScript等都是企業(yè)自主開發(fā)的編程語(yǔ)言。華為 HarmonyOS自然也要有自己的編程語(yǔ)言。
有了倉(cāng)頡這個(gè)全新自研編程語(yǔ)言,鴻蒙生態(tài)基礎(chǔ)設(shè)施建設(shè)就補(bǔ)上了最后一環(huán)。華為的整個(gè)生態(tài)圈就基本搭建完成了: 硬件+操作系統(tǒng)+方舟編輯器+倉(cāng)頡編程語(yǔ)言。
世界上編程語(yǔ)言多達(dá)600種,但是目前我們熟知的編程語(yǔ)言無(wú)非就這幾大類:C、C++,Java、Python、PHP,但是這些均為國(guó)外企業(yè)研發(fā)。
而華為自研的倉(cāng)頡編程語(yǔ)言,如果成功的話,無(wú)疑可以打破被國(guó)外壟斷的現(xiàn)象,并且創(chuàng)造一種屬于中國(guó)的編程語(yǔ)言,也能建立一種屬于中國(guó)的軟件開發(fā)生態(tài)。
這對(duì)于中國(guó)的計(jì)算機(jī)生態(tài)來(lái)說(shuō)是非常重要的,因?yàn)榻⒁环N能夠被公認(rèn)的生態(tài),意味著能夠在計(jì)算機(jī)領(lǐng)域掌握主動(dòng)權(quán)。 有外媒評(píng)論說(shuō),倉(cāng)頡必將改變 歷史 !
華為鐘愛中華傳統(tǒng)文化
不知道大家有沒(méi)有發(fā)現(xiàn),華為產(chǎn)品的起名都非常有意思,也很有深意。 把古文化運(yùn)用到了極致!
比如:
華為自研操作系統(tǒng),取名“鴻蒙”;
華為的手機(jī)芯片,取名叫“麒麟”;
華為的基帶芯片,取名叫“巴龍”;
華為的服務(wù)器芯片,取名叫“鯤鵬”;
華為的人工智能芯片,取名“升騰”;
華為的服務(wù)器平臺(tái),取名叫“泰山”;
華為的路由器芯片,取名叫“凌霄”;
……
《山海經(jīng)》里的各路神獸,包括朱雀、青鳥、靈犀、鴻雁、紫龍、威鳳、玄機(jī)、白虎、丹雀、海藍(lán)獸、紫薇星等等,都被華為收入麾下。
把古代幻想中的神獸及古文化和最先進(jìn)的 科技 結(jié)合,也展示了華為理工人的浪漫。
華為沒(méi)有公布太多關(guān)于倉(cāng)頡語(yǔ)言的內(nèi)容,雖然此次試用需要執(zhí)行保密流程,但從開發(fā)流程推想,應(yīng)該不需要等待太久了。在未來(lái)的不遠(yuǎn)處,或許將會(huì)是中文編程?
讓我們一起拭目以待吧!
系統(tǒng)如下:
華為鴻蒙系統(tǒng)采用開源的方式,源代碼已經(jīng)在官方公布的網(wǎng)站掛出。根據(jù)其源代碼來(lái)看,內(nèi)核基于C++語(yǔ)言開發(fā),部分功能模塊通過(guò)C語(yǔ)言以及C++混合編寫??傮w上來(lái)看,鴻蒙系統(tǒng)是以C語(yǔ)言為基礎(chǔ),摻雜了部分C++語(yǔ)言共同開發(fā)而來(lái)。
簡(jiǎn)介:
華為鴻蒙系統(tǒng)(HUAWEI HarmonyOS),是華為在2019年8月9日于東莞舉行華為開發(fā)者大會(huì),正式發(fā)布的操作系統(tǒng)鴻蒙OS。
華為鴻蒙系統(tǒng)是一款全新的面向全場(chǎng)景的分布式操作系統(tǒng),創(chuàng)造一個(gè)超級(jí)虛擬終端互聯(lián)的世界,將人、設(shè)備、場(chǎng)景有機(jī)地聯(lián)系在一起,將消費(fèi)者在全場(chǎng)景生活中接觸的多種智能終端實(shí)現(xiàn)極速發(fā)現(xiàn)、極速連接、硬件互助、資源共享,用合適的設(shè)備提供場(chǎng)景體驗(yàn)。
華為的鴻蒙系統(tǒng)3.0開始對(duì)9款手機(jī)的公測(cè),這其中就包括p50系列的3款手機(jī),mate40系列的5款手機(jī),和一款12.6英寸的matepad pro。這讓咱手里拿著的mate30備受冷落。但我自己心里就更加期待華為的倉(cāng)頡編程語(yǔ)言。這么屈指一算,倉(cāng)頡編程語(yǔ)言從4月2號(hào)開始內(nèi)測(cè)以來(lái)已經(jīng)兩個(gè)多月了。因此,我預(yù)判,鴻蒙系統(tǒng)3.0會(huì)跟倉(cāng)頡編程語(yǔ)言一起來(lái)到咱們的身邊。
那么在準(zhǔn)備迎接鴻蒙系統(tǒng)3.0和倉(cāng)頡編程語(yǔ)言之前,我這一期幫大家打一個(gè)堅(jiān)實(shí)的基礎(chǔ)。我相信許多朋友當(dāng)說(shuō)起來(lái)操作系統(tǒng)或者是編程語(yǔ)言的時(shí)候,腦子里其實(shí)是有點(diǎn)支離破碎,或者是一頭霧水。我?guī)椭蠹覐囊粋€(gè)宏觀的角度去鳥瞰,去把握和理解計(jì)算機(jī)科學(xué)體系中的坐標(biāo),讓你獨(dú)具一雙慧眼,單單靠著你的直覺(jué)就能獲得專業(yè)的視角。計(jì)算機(jī)科學(xué)包括六層架構(gòu),操作系統(tǒng)在第四層上,華為倉(cāng)頡編程語(yǔ)言這樣的應(yīng)用級(jí)編程語(yǔ)言則處在第五層上。
咱們先從底部開始,所謂萬(wàn)丈高樓平地起嘛。咱們來(lái)先看基礎(chǔ):信息理論。任何學(xué)科的基礎(chǔ)都是數(shù)學(xué),當(dāng)然計(jì)算機(jī)科學(xué)也不例外。這第一層就是關(guān)于數(shù)學(xué)理論的。咱們?nèi)粘S玫氖鞘M(jìn)制,計(jì)算機(jī)則是由0和1構(gòu)建起來(lái)的是二進(jìn)制。那數(shù)學(xué)也很簡(jiǎn)單,就是關(guān)于0和1的加法。比如1加1,在十進(jìn)制中是等于2,而在二進(jìn)制1加1等于10,這就是所有的數(shù)學(xué)基礎(chǔ),也就是這么簡(jiǎn)單。
但是還有更加往上抽象的一個(gè)層面的基礎(chǔ),就是咱們?cè)诟咧袝r(shí)候?qū)W習(xí)的“布爾代數(shù)”??此撇黄鹧鄣摹安紶柎鷶?shù)”研究的是機(jī)器如何思考,如何讓機(jī)器來(lái)獲得智能這樣的問(wèn)題。
布爾在1854年就解決發(fā)表一篇“研究人類的思考規(guī)律”的論文,提出了“布爾代數(shù)”,為機(jī)器如何思考打下了理論基礎(chǔ)。
布爾當(dāng)時(shí)的想法很簡(jiǎn)單。他認(rèn)為人是理性的,那么人是按照理性邏輯來(lái)思考問(wèn)題的。于是,如果他能把大腦思考問(wèn)題的邏輯,提煉抽象出來(lái)的話,那么是不是就能用這邏輯在大腦之外去思考呢?布爾的這項(xiàng)雄心勃勃的構(gòu)思就是人工智能的雛形。你想呀,如果把這個(gè)邏輯提煉出來(lái)用在機(jī)器機(jī)械零件上,機(jī)械零件就會(huì)開始思考。如果用在電路上,這個(gè)電路是不是也就開始思考了呢。布爾代數(shù)咱們就很熟悉了,我就在這里就不帶展開,我前面有一期就專門來(lái)講述了這個(gè)機(jī)器來(lái)如何用布爾代數(shù)來(lái)思考,大家感興趣可以看下那一期,我在這不展開浪費(fèi)時(shí)間。
再往上第二層就是硬件,布爾他把理論抽象出來(lái),將布爾代數(shù)應(yīng)用到電路上,電路是不是也就能開始思考?哎,到了1938年,香農(nóng)就首次把布爾代數(shù)應(yīng)用到了電路上,于是這個(gè)電路就開始思考了。從最早的真空管到半導(dǎo)體晶體管(我前面那一期也專門講過(guò)“機(jī)器如何用晶體管來(lái)思考”)然后到集成電路,再到現(xiàn)在這個(gè)大型的集成電路芯片。我們知道麒麟9000芯片用的Arm架構(gòu)的指令集,指揮CPU工作的指令又叫機(jī)器碼。比如“加法”就是用一串?dāng)?shù)字機(jī)器碼00000011來(lái)表示。
然而你會(huì)發(fā)現(xiàn),用機(jī)器碼來(lái)指揮這個(gè)cpu或者電腦工作太麻煩了。一般人哪里能記住像前面的6個(gè)0和后面兩個(gè)1來(lái)表示加減乘除的加呢。
正是困擾于此,科學(xué)家就此提出來(lái)編程語(yǔ)言。最早編程語(yǔ)言是匯編語(yǔ)言。比如前面表示加法的機(jī)器碼00000011,匯編語(yǔ)言中將其抽象為add。然而,匯編語(yǔ)言也需要大量的記憶,一個(gè)指令一個(gè)指令的對(duì)應(yīng),也是太機(jī)械了。再往前一步,往上一層抽象就是系統(tǒng)級(jí)的編程語(yǔ)言:面向過(guò)程的C語(yǔ)言。
一門編程語(yǔ)言所要做的一個(gè)主要工作就是在機(jī)器和我們?nèi)祟愃伎贾g建立一座橋梁。我們是人類的思考邏輯,機(jī)器是機(jī)械 式邏輯思考問(wèn)題。越高級(jí)的編程語(yǔ)言越符合我們?nèi)祟惖乃伎歼壿嫞匠跫?jí)的編程語(yǔ)言則越貼近機(jī)器的邏輯。因此,我們用高級(jí)的編程語(yǔ)言比如C語(yǔ)言,將想做的事情表達(dá)出來(lái),它會(huì)自動(dòng)轉(zhuǎn)換成機(jī)器碼。
我喜歡的編程發(fā)展史上的第二大古老的語(yǔ)言:Lisp語(yǔ)言。
就是直接使用我們的抽象思考的語(yǔ)言。比如重復(fù)地來(lái)做一件事,重復(fù)說(shuō)五遍“Hello”這個(gè)單詞。Lisp將重復(fù)抽象為dotimes,do是做, times是多次,dotimes反復(fù)多次做??匆姏](méi),編程語(yǔ)言成了我們抽象的思考工具。
當(dāng)然,華為倉(cāng)頡語(yǔ)言也是在編程語(yǔ)言這里,但不是系統(tǒng)級(jí)的編程語(yǔ)言,咱們后面再說(shuō)
當(dāng)在第二層硬件之上發(fā)展出來(lái)高級(jí)的編程語(yǔ)言,有了系統(tǒng)級(jí)的編程語(yǔ)言比如C語(yǔ)言之后。大家就發(fā)現(xiàn),我需要一個(gè)操作系統(tǒng)來(lái)處理日常的基本任務(wù),比如文件管理,進(jìn)程管理,內(nèi)存管理,設(shè)備管理和用戶管理等等。于是科學(xué)家著手用編程語(yǔ)言寫操作系統(tǒng)。而事實(shí)上C語(yǔ)言在1969年的發(fā)明,也正是為了移植與開發(fā)UNIX操作系統(tǒng)。C語(yǔ)言的設(shè)計(jì)者丹尼斯·里奇同時(shí)也是Unix操作系統(tǒng)的發(fā)明人。到了1991年Linus用C語(yǔ)言寫了Linux內(nèi)核,也是目前安卓和鴻蒙系統(tǒng)的內(nèi)核。
華為的EROFS超級(jí)文件系統(tǒng)并入Linux內(nèi)核之后,無(wú)論是Linux還是安卓都打上了20%的華為烙印。
操作系統(tǒng)再往上一層就是我們?nèi)粘5膽?yīng)用。比如聽歌、看視頻等apps就是在操作系統(tǒng)之上。這也好理解,先有了操作系統(tǒng),才有我們的各種應(yīng)用。由此也能理解,為什么像鴻蒙系統(tǒng)3.0如此重要,因?yàn)閼?yīng)用程序要運(yùn)行在上面。這些應(yīng)用程序就是用華為倉(cāng)頡編程語(yǔ)言等應(yīng)用級(jí)編程語(yǔ)言開發(fā)的。不過(guò),目前咱們手機(jī)上的應(yīng)用程序都是用Java開發(fā)。未來(lái)鴻蒙系統(tǒng)將會(huì)使用自研的倉(cāng)頡語(yǔ)言開發(fā)鴻蒙應(yīng)用。
應(yīng)用程序的主要功能之一是溝通和交流。我們用Email發(fā)郵件,用通訊視頻聊天,而Web應(yīng)用技術(shù)構(gòu)建起來(lái)當(dāng)前的互聯(lián)網(wǎng)信息大廈。
好了,我們總結(jié)一下。計(jì)算機(jī)科學(xué)的六層架構(gòu)。
第1層是信息理論,研究如何在大腦之外實(shí)現(xiàn)思考,布爾代數(shù)是人工智能的雛形。第2層是硬件,布爾代數(shù)應(yīng)用到電路上,晶體管開始思考,將數(shù)以億計(jì)的晶體管雕刻到集成電路CPU中,CPU的機(jī)器碼指揮計(jì)算機(jī)工作。第3層編程語(yǔ)言,從枯燥難記的機(jī)器碼里發(fā)展出來(lái)匯編語(yǔ)言,再到系統(tǒng)級(jí)的C語(yǔ)言,構(gòu)建起來(lái)人類思考與機(jī)器邏輯之間橋梁。第4層操作系統(tǒng),C語(yǔ)言不是憑空而來(lái),是為了開發(fā)Unix操作系統(tǒng)而發(fā)明,而操作系統(tǒng)是計(jì)算機(jī)里最大的軟件。第5層應(yīng)用軟件,日常所有的apps都運(yùn)行在操作系統(tǒng)之上。倉(cāng)頡編程語(yǔ)言是給鴻蒙系統(tǒng)開發(fā)應(yīng)用程序的專屬開發(fā)語(yǔ)言。第六層溝通互聯(lián),就是我們目前的互聯(lián)網(wǎng)技術(shù),在網(wǎng)絡(luò)里看書、聽音樂(lè),點(diǎn)一份外賣等等。
這就是計(jì)算機(jī)科學(xué)六層架構(gòu),鴻蒙操作系統(tǒng)與倉(cāng)頡編程語(yǔ)言各就各位。用架構(gòu)去思考和看問(wèn)題,不僅能心中有數(shù),還能獨(dú)具一雙慧眼。