華為的鴻蒙系統(tǒng)已經(jīng)發(fā)布了有一段時(shí)間,而且華為也即將要將自制的鴻蒙編程語言發(fā)布到平臺(tái)上供大家學(xué)習(xí)和參考,華為的鴻蒙系統(tǒng)可以說是與安卓和iOS系統(tǒng)是可以并駕齊驅(qū)的一個(gè)系統(tǒng),并且這個(gè)系統(tǒng)非常的人性化有許多的語言和設(shè)施都可以讓我們體驗(yàn)到便利,所以說,華為即將發(fā)布的鴻蒙編程語言真的值得許多的計(jì)算機(jī)學(xué)科的人去學(xué)習(xí)。而且世界上現(xiàn)有的編程語言也有非常多,我們所熟知的語言,就是語言和C++以及Java等等這些計(jì)算機(jī)語言,但是總體的計(jì)算機(jī)語言可以分成機(jī)器,語言匯編語言和高級(jí)語言三大類。目前,通用的編程語言有兩種形式一種,是匯編語言一種是高級(jí)語言,匯編語言的實(shí)質(zhì)和機(jī)器語言是相同的,都是直接對(duì)硬件進(jìn)行操作,只不過是通過不同的符號(hào)來進(jìn)行控制。例如我們在編程當(dāng)中的一些細(xì)節(jié)動(dòng)作移動(dòng)和比較復(fù)雜的編程程序,都是基本上使用的是匯編語言。高級(jí)員目前使用的基本上都是大多數(shù)的編程者,可以與許多相關(guān)的機(jī)器指令可以合成復(fù)雜的指令可以省去很多的細(xì)節(jié),而且許多的編程者也不需要有太多的專業(yè)知識(shí),就可以使用這種語言。所以說,華為的鴻蒙系統(tǒng)編程語言可能就是一個(gè)非常復(fù)雜的組合型的語言,能夠讓大家在日常使用設(shè)備的時(shí)候非常的方便,但是這也是許多的編程者在編程的過程當(dāng)中非常困難的一件事情。所以說,對(duì)于這些編程語言和我們世界上現(xiàn)有的編程語言相對(duì)比話可能一些高科技的編程語言都是自己創(chuàng)作出來的。所以說我們了解一下世界上現(xiàn)有的編程語言,可以讓我們有更多的方法和組合,對(duì)于一些編程系統(tǒng)以及我們想要更加方便的一些編程語言。
為源城等地區(qū)用戶提供了全套網(wǎng)頁設(shè)計(jì)制作服務(wù),及源城網(wǎng)站建設(shè)行業(yè)解決方案。主營業(yè)務(wù)為網(wǎng)站建設(shè)、做網(wǎng)站、源城網(wǎng)站設(shè)計(jì),以傳統(tǒng)方式定制建設(shè)網(wǎng)站,并提供域名空間備案等一條龍服務(wù),秉承以專業(yè)、用心的態(tài)度為用戶提供真誠的服務(wù)。我們深信只要達(dá)到每一位用戶的要求,就會(huì)得到認(rèn)可,從而選擇與我們長期合作。這樣,我們也可以走得更遠(yuǎn)!
1、鴻蒙系統(tǒng)是用C、C++語言編寫。
2、鴻蒙系統(tǒng)和方舟編譯器的思路是一樣:直接使用機(jī)器語言編寫app,取消安卓系統(tǒng)的ART虛擬機(jī),直接編譯為二進(jìn)制機(jī)器碼。
3、這樣的好處是:不需要中轉(zhuǎn),執(zhí)行速度快;劣勢是:必須要有大量的靜態(tài)方案、內(nèi)存空間要求更高。
不用,因?yàn)閷?duì)于大多數(shù)的程序員來講都是屬于應(yīng)用開發(fā),根據(jù)的介紹,華為即將推出的鴻蒙操作系統(tǒng)兼容了安卓所有應(yīng)用,所以對(duì)于目前市面上主要的應(yīng)用開發(fā)人員來講,其實(shí)是沒有特別大的影響的,更不用說去學(xué)習(xí)新的開發(fā)預(yù)言了。
不過也有另外一種情況,那就是對(duì)于系統(tǒng)安全領(lǐng)域的應(yīng)用,比如各種安全衛(wèi)士、殺毒類的應(yīng)用來講,那是必然需要對(duì)華為的鴻蒙操心系統(tǒng)進(jìn)行適配的,5月25日360就宣布會(huì)積極適配華為的鴻蒙操作系統(tǒng),不過整合中適配的難度應(yīng)該也不會(huì)太大,畢竟鴻蒙系統(tǒng)跟IOS不一樣,它不是拋開安卓系統(tǒng)外另起了一套,而是跟安卓系統(tǒng)一樣都是基于Linux開發(fā)而言,因此在應(yīng)用適配方面,估計(jì)跟當(dāng)前的安卓應(yīng)用開發(fā)也有一定的相似性。
安卓是基于Linux的,是宏內(nèi)核,由一堆底層特權(quán)模式的核心代碼緊密組合在一起。這個(gè)架構(gòu)的靈活性是不夠的。面對(duì)各種硬件配置的手機(jī),或者平板、電視之類的系統(tǒng),它都是這一個(gè)架構(gòu),怎么適應(yīng)?于是就搞出一個(gè)叫“虛擬機(jī)”的東西,假設(shè)大家都是在虛擬機(jī)上運(yùn)行,代碼是跨平臺(tái)的。每一個(gè)安卓應(yīng)用,都在操作系統(tǒng)底層對(duì)應(yīng)著一個(gè)虛擬機(jī)實(shí)例,由這個(gè)虛擬機(jī)來伺候運(yùn)行應(yīng)用程序的代碼。
而且對(duì)于操作系統(tǒng)生態(tài)的搭建來講,其實(shí)系統(tǒng)開發(fā)一家企業(yè)都能搞定,但是應(yīng)用生態(tài)開發(fā)確是需要整合產(chǎn)業(yè)鏈上的很多參與者才行,這也是非常考驗(yàn)企業(yè)的資源整合能力的,而華為目前選擇兼容安卓應(yīng)用,也是考慮到疾風(fēng)驟雨的打擊的前提下,所做出的決定,因?yàn)樽园讶A為列入"實(shí)體名單"之后,谷歌很快就宣布暫停了跟華為在硬件、軟件及技術(shù)服務(wù)方面的合作,因此華為就不得不在安卓系統(tǒng)之前另謀方法。
系統(tǒng)如下:
華為鴻蒙系統(tǒng)采用開源的方式,源代碼已經(jīng)在官方公布的網(wǎng)站掛出。根據(jù)其源代碼來看,內(nèi)核基于C++語言開發(fā),部分功能模塊通過C語言以及C++混合編寫。總體上來看,鴻蒙系統(tǒng)是以C語言為基礎(chǔ),摻雜了部分C++語言共同開發(fā)而來。
簡介:
華為鴻蒙系統(tǒng)(HUAWEI HarmonyOS),是華為在2019年8月9日于東莞舉行華為開發(fā)者大會(huì),正式發(fā)布的操作系統(tǒng)鴻蒙OS。
華為鴻蒙系統(tǒng)是一款全新的面向全場景的分布式操作系統(tǒng),創(chuàng)造一個(gè)超級(jí)虛擬終端互聯(lián)的世界,將人、設(shè)備、場景有機(jī)地聯(lián)系在一起,將消費(fèi)者在全場景生活中接觸的多種智能終端實(shí)現(xiàn)極速發(fā)現(xiàn)、極速連接、硬件互助、資源共享,用合適的設(shè)備提供場景體驗(yàn)。
華為的鴻蒙系統(tǒng)3.0開始對(duì)9款手機(jī)的公測,這其中就包括p50系列的3款手機(jī),mate40系列的5款手機(jī),和一款12.6英寸的matepad pro。這讓咱手里拿著的mate30備受冷落。但我自己心里就更加期待華為的倉頡編程語言。這么屈指一算,倉頡編程語言從4月2號(hào)開始內(nèi)測以來已經(jīng)兩個(gè)多月了。因此,我預(yù)判,鴻蒙系統(tǒng)3.0會(huì)跟倉頡編程語言一起來到咱們的身邊。
那么在準(zhǔn)備迎接鴻蒙系統(tǒng)3.0和倉頡編程語言之前,我這一期幫大家打一個(gè)堅(jiān)實(shí)的基礎(chǔ)。我相信許多朋友當(dāng)說起來操作系統(tǒng)或者是編程語言的時(shí)候,腦子里其實(shí)是有點(diǎn)支離破碎,或者是一頭霧水。我?guī)椭蠹覐囊粋€(gè)宏觀的角度去鳥瞰,去把握和理解計(jì)算機(jī)科學(xué)體系中的坐標(biāo),讓你獨(dú)具一雙慧眼,單單靠著你的直覺就能獲得專業(yè)的視角。計(jì)算機(jī)科學(xué)包括六層架構(gòu),操作系統(tǒng)在第四層上,華為倉頡編程語言這樣的應(yīng)用級(jí)編程語言則處在第五層上。
咱們先從底部開始,所謂萬丈高樓平地起嘛。咱們來先看基礎(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)建起來的是二進(jìn)制。那數(shù)學(xué)也很簡單,就是關(guān)于0和1的加法。比如1加1,在十進(jìn)制中是等于2,而在二進(jìn)制1加1等于10,這就是所有的數(shù)學(xué)基礎(chǔ),也就是這么簡單。
但是還有更加往上抽象的一個(gè)層面的基礎(chǔ),就是咱們在高中時(shí)候?qū)W習(xí)的“布爾代數(shù)”。看似不起眼的“布爾代數(shù)”研究的是機(jī)器如何思考,如何讓機(jī)器來獲得智能這樣的問題。
布爾在1854年就解決發(fā)表一篇“研究人類的思考規(guī)律”的論文,提出了“布爾代數(shù)”,為機(jī)器如何思考打下了理論基礎(chǔ)。
布爾當(dāng)時(shí)的想法很簡單。他認(rèn)為人是理性的,那么人是按照理性邏輯來思考問題的。于是,如果他能把大腦思考問題的邏輯,提煉抽象出來的話,那么是不是就能用這邏輯在大腦之外去思考呢?布爾的這項(xiàng)雄心勃勃的構(gòu)思就是人工智能的雛形。你想呀,如果把這個(gè)邏輯提煉出來用在機(jī)器機(jī)械零件上,機(jī)械零件就會(huì)開始思考。如果用在電路上,這個(gè)電路是不是也就開始思考了呢。布爾代數(shù)咱們就很熟悉了,我就在這里就不帶展開,我前面有一期就專門來講述了這個(gè)機(jī)器來如何用布爾代數(shù)來思考,大家感興趣可以看下那一期,我在這不展開浪費(fèi)時(shí)間。
再往上第二層就是硬件,布爾他把理論抽象出來,將布爾代數(shù)應(yīng)用到電路上,電路是不是也就能開始思考?哎,到了1938年,香農(nóng)就首次把布爾代數(shù)應(yīng)用到了電路上,于是這個(gè)電路就開始思考了。從最早的真空管到半導(dǎo)體晶體管(我前面那一期也專門講過“機(jī)器如何用晶體管來思考”)然后到集成電路,再到現(xiàn)在這個(gè)大型的集成電路芯片。我們知道麒麟9000芯片用的Arm架構(gòu)的指令集,指揮CPU工作的指令又叫機(jī)器碼。比如“加法”就是用一串?dāng)?shù)字機(jī)器碼00000011來表示。
然而你會(huì)發(fā)現(xiàn),用機(jī)器碼來指揮這個(gè)cpu或者電腦工作太麻煩了。一般人哪里能記住像前面的6個(gè)0和后面兩個(gè)1來表示加減乘除的加呢。
正是困擾于此,科學(xué)家就此提出來編程語言。最早編程語言是匯編語言。比如前面表示加法的機(jī)器碼00000011,匯編語言中將其抽象為add。然而,匯編語言也需要大量的記憶,一個(gè)指令一個(gè)指令的對(duì)應(yīng),也是太機(jī)械了。再往前一步,往上一層抽象就是系統(tǒng)級(jí)的編程語言:面向過程的C語言。
一門編程語言所要做的一個(gè)主要工作就是在機(jī)器和我們?nèi)祟愃伎贾g建立一座橋梁。我們是人類的思考邏輯,機(jī)器是機(jī)械 式邏輯思考問題。越高級(jí)的編程語言越符合我們?nèi)祟惖乃伎歼壿嫞匠跫?jí)的編程語言則越貼近機(jī)器的邏輯。因此,我們用高級(jí)的編程語言比如C語言,將想做的事情表達(dá)出來,它會(huì)自動(dòng)轉(zhuǎn)換成機(jī)器碼。
我喜歡的編程發(fā)展史上的第二大古老的語言:Lisp語言。
就是直接使用我們的抽象思考的語言。比如重復(fù)地來做一件事,重復(fù)說五遍“Hello”這個(gè)單詞。Lisp將重復(fù)抽象為dotimes,do是做, times是多次,dotimes反復(fù)多次做。看見沒,編程語言成了我們抽象的思考工具。
當(dāng)然,華為倉頡語言也是在編程語言這里,但不是系統(tǒng)級(jí)的編程語言,咱們后面再說
當(dāng)在第二層硬件之上發(fā)展出來高級(jí)的編程語言,有了系統(tǒng)級(jí)的編程語言比如C語言之后。大家就發(fā)現(xiàn),我需要一個(gè)操作系統(tǒng)來處理日常的基本任務(wù),比如文件管理,進(jìn)程管理,內(nèi)存管理,設(shè)備管理和用戶管理等等。于是科學(xué)家著手用編程語言寫操作系統(tǒng)。而事實(shí)上C語言在1969年的發(fā)明,也正是為了移植與開發(fā)UNIX操作系統(tǒng)。C語言的設(shè)計(jì)者丹尼斯·里奇同時(shí)也是Unix操作系統(tǒng)的發(fā)明人。到了1991年Linus用C語言寫了Linux內(nèi)核,也是目前安卓和鴻蒙系統(tǒng)的內(nèi)核。
華為的EROFS超級(jí)文件系統(tǒng)并入Linux內(nèi)核之后,無論是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)用程序就是用華為倉頡編程語言等應(yīng)用級(jí)編程語言開發(fā)的。不過,目前咱們手機(jī)上的應(yīng)用程序都是用Java開發(fā)。未來鴻蒙系統(tǒng)將會(huì)使用自研的倉頡語言開發(fā)鴻蒙應(yīng)用。
應(yīng)用程序的主要功能之一是溝通和交流。我們用Email發(fā)郵件,用通訊視頻聊天,而Web應(yīng)用技術(shù)構(gòu)建起來當(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層編程語言,從枯燥難記的機(jī)器碼里發(fā)展出來匯編語言,再到系統(tǒng)級(jí)的C語言,構(gòu)建起來人類思考與機(jī)器邏輯之間橋梁。第4層操作系統(tǒng),C語言不是憑空而來,是為了開發(fā)Unix操作系統(tǒng)而發(fā)明,而操作系統(tǒng)是計(jì)算機(jī)里最大的軟件。第5層應(yīng)用軟件,日常所有的apps都運(yùn)行在操作系統(tǒng)之上。倉頡編程語言是給鴻蒙系統(tǒng)開發(fā)應(yīng)用程序的專屬開發(fā)語言。第六層溝通互聯(lián),就是我們目前的互聯(lián)網(wǎng)技術(shù),在網(wǎng)絡(luò)里看書、聽音樂,點(diǎn)一份外賣等等。
這就是計(jì)算機(jī)科學(xué)六層架構(gòu),鴻蒙操作系統(tǒng)與倉頡編程語言各就各位。用架構(gòu)去思考和看問題,不僅能心中有數(shù),還能獨(dú)具一雙慧眼。
分享題目:鴻蒙開發(fā)語言學(xué)習(xí),鴻蒙應(yīng)用開發(fā)的語言
網(wǎng)頁URL:http://chinadenli.net/article8/dsdseop.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站設(shè)計(jì)、品牌網(wǎng)站制作、軟件開發(fā)、域名注冊、服務(wù)器托管、營銷型網(wǎng)站建設(shè)
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)