日本免费全黄少妇一区二区三区-高清无码一区二区三区四区-欧美中文字幕日韩在线观看-国产福利诱惑在线网站-国产中文字幕一区在线-亚洲欧美精品日韩一区-久久国产精品国产精品国产-国产精久久久久久一区二区三区-欧美亚洲国产精品久久久久

app開發(fā)工程師崗位職責(zé),安卓app開發(fā)工程師( 二 )


而采用C語(yǔ)言則就像兩個(gè)語(yǔ)言相通的人在對(duì)話,一個(gè)人說(shuō)的話可以直接被另外一個(gè)人聽懂,交流效率大大提升 。所以,雖然在安卓5.0時(shí)代,谷歌雖然給安卓系統(tǒng)做了一次大手術(shù),更換了一個(gè)全新的效率更高的ART虛擬機(jī),但是很可惜,就像上文所舉得例子那樣,谷歌只是換了一個(gè)翻譯能力更強(qiáng)的翻譯官而已,并沒有解決最本質(zhì)的問題 。
看到這,肯定會(huì)有人要問了,谷歌為什么要選擇Java而不去選擇執(zhí)行效率更高的C呢?難道谷歌的工程師不知道Java存在執(zhí)行效率低的問題么?當(dāng)然不是,谷歌這么做也是迫不得已 。谷歌的算盤 。在2005年,谷歌將安卓團(tuán)隊(duì)一行人收入囊中之后(也就是安卓之父安迪·魯賓團(tuán)隊(duì)),本來(lái)實(shí)際上也沒有打算完全開源,而是閉門造車了很長(zhǎng)時(shí)間,不過(guò)始終沒有什么大的進(jìn)展 。
然而在2007年1月,蘋果公司率先發(fā)布了人類歷史上第一款具備象征意義的新一代移動(dòng)操作系統(tǒng)——iPhone runs OS X(也就是后來(lái)的IOS),并且還基于這個(gè)系統(tǒng)發(fā)布了第一代iPhone 。這個(gè)時(shí)候,谷歌也嗅到了移動(dòng)互聯(lián)網(wǎng)時(shí)代即將來(lái)臨的氣息,但是谷歌同時(shí)也意識(shí)到,單靠自己是不足以和蘋果對(duì)抗的,因?yàn)楣雀璞旧碇皇且粋€(gè)互聯(lián)網(wǎng)企業(yè)并不具備像蘋果那么強(qiáng)大的硬件基因(蘋果本身就是一家硬件公司),他不具備制造硬件設(shè)備并且大規(guī)模向外推廣的能力(沒有渠道) 。
于是,谷歌想了一個(gè)方法——“開源共建”,把已經(jīng)開發(fā)的基本可用的安卓系統(tǒng)完全開源,供其他有興趣進(jìn)入智能手機(jī)市場(chǎng)的企業(yè)進(jìn)行二次開發(fā) 。這個(gè)操作也吸引了世界上絕大多數(shù)除了蘋果之外的硬件廠商,畢竟這可是當(dāng)時(shí)第一款完全開源的系統(tǒng),而且谷歌還邀請(qǐng)了眾多業(yè)界大拿站臺(tái)(開放手機(jī)聯(lián)盟) 。系統(tǒng)有了,那么怎么才能吸引開發(fā)者去開發(fā)安卓應(yīng)用呢?谷歌的辦法很簡(jiǎn)單——“盡可能地降低開發(fā)安卓應(yīng)用的門檻”,于是,谷歌最終選擇了Java作為安卓應(yīng)用層的開發(fā)語(yǔ)言,至于原因主要有兩個(gè):原因一:Java的從業(yè)者眾多是一片沃土 。
Java由于其具備良好的跨平臺(tái)特性,使得其一直以來(lái)都是開發(fā)行業(yè)最炙手可熱的一門語(yǔ)言之一,如下圖所示,這是目前開發(fā)語(yǔ)言的熱度排行榜,Java毫無(wú)疑問的排在第一位 。開發(fā)人數(shù)眾多,這也就意味著很多原本做Java的開發(fā)者可以幾乎毫不費(fèi)力地轉(zhuǎn)行成為安卓應(yīng)用的開發(fā)者,原本只能開發(fā)一些后臺(tái)程序的Java工程師,突然發(fā)現(xiàn)自己也可以利用自己的能力面向C端開發(fā)應(yīng)用程序掙錢了,這確實(shí)是一個(gè)很好的出路,因?yàn)檐浖こ處煴旧砭褪且粋€(gè)對(duì)新平臺(tái),新事物保持比較高關(guān)注度的群體 。
就這樣,安卓的應(yīng)用體系就在這樣的環(huán)境下迅速發(fā)揚(yáng)光大 。而反觀C,C是一門基于C語(yǔ)言構(gòu)建而來(lái)的語(yǔ)言,而C語(yǔ)言是一門非常古老的語(yǔ)言,更偏向于底層,其整體的開發(fā)難度較高,從業(yè)者相對(duì)比較少,不如Java那么具備活力 。原因二:Java的開發(fā)效率極高,入手難度低 。Java是一個(gè)面向數(shù)據(jù)結(jié)構(gòu)的語(yǔ)言,能操作的都是設(shè)計(jì)好的數(shù)據(jù)結(jié)構(gòu),每一個(gè)都是安全的,在內(nèi)存和程序員之間,還隔著一個(gè)JVM虛擬機(jī),程序員可以肆意地發(fā)揮,容錯(cuò)率比較高,對(duì)于程序員素質(zhì)的要求也比較低,所以大家可以看到,很多Java工程師只需要培訓(xùn)兩三個(gè)月就能自己寫東西了,而且就算編程思想再怎么差也無(wú)所謂,Java本身就是一個(gè)沒那么低,上線也沒那么高的語(yǔ)言 。
【app開發(fā)工程師崗位職責(zé),安卓app開發(fā)工程師】而C不一樣,C是一個(gè)面向內(nèi)存的編程,它就要求開發(fā)者擁有比較扎實(shí)的計(jì)算機(jī)基礎(chǔ),并且還需要擁有比較強(qiáng)大的邏輯設(shè)計(jì)能力,需要考慮到方方面面的細(xì)節(jié),如果一個(gè)C工程師的能力太差,他所編出的程序的執(zhí)行效率還不一定比用Java開發(fā)出得更好,這也就在一定程度上限制了C這門語(yǔ)言的發(fā)展,畢竟想要學(xué)好C,上兩三個(gè)月培訓(xùn)班可是不行的,所以C實(shí)際上是一個(gè)下線非常低,上線非常高的開發(fā)語(yǔ)言,上手難度更低 。

推薦閱讀