Java是一門較為成熟的拍改談?wù)Z言,相對(duì)于C++要簡(jiǎn)單的多,C++里沒有內(nèi)存回收,所以比較麻煩,Java加入了內(nèi)存自動(dòng)回收,簡(jiǎn)單是簡(jiǎn)單,卻變慢了,go語(yǔ)言是一門新興的語(yǔ)言,現(xiàn)在版本是1.9 ? go語(yǔ)言的性能比Java要好,但由于出現(xiàn)晚,資料較Java少,有些Java的功能go也沒襲碰有,并且有許多的軟件是支持Java但支持go的很少.所以在短期內(nèi)Java是比go通用的

創(chuàng)新互聯(lián)云計(jì)算的互聯(lián)網(wǎng)服務(wù)提供商,擁有超過13年的服務(wù)器租用、達(dá)州主機(jī)托管、云服務(wù)器、網(wǎng)絡(luò)空間、網(wǎng)站系統(tǒng)開發(fā)經(jīng)驗(yàn),已先后獲得國(guó)家工業(yè)和信息化部頒發(fā)的互聯(lián)網(wǎng)數(shù)據(jù)中心業(yè)務(wù)許可證。專業(yè)提供云主機(jī)、網(wǎng)絡(luò)空間、主機(jī)域名、VPS主機(jī)、云服務(wù)器、香港云服務(wù)器、免備案服務(wù)器等。
C語(yǔ)言的最大的優(yōu)勢(shì)是時(shí)間性能好,只比匯編慢20%~30%,C++最大的殲扮優(yōu)勢(shì)是快且面向?qū)ο?Java最大的優(yōu)勢(shì)是垃圾回收機(jī)制,GO語(yǔ)言的目標(biāo)是具備以上三者的優(yōu)勢(shì)
好多人都是做WEB這塊的,可能棗激會(huì)忽略和巖物一些特殊領(lǐng)域,比如我們這些做智能終端設(shè)備相關(guān)項(xiàng)目的。現(xiàn)在很多智能終端系統(tǒng),例如我們常用的快遞柜、取票機(jī)等。基本上操作系統(tǒng)都采用了Android或者Linux系統(tǒng),硬件采用ARM主板和一堆的控制板。基本上甲方都需要加一些系統(tǒng)定制的內(nèi)容,比如狀態(tài)欄隱藏、外喚液設(shè)驅(qū)動(dòng)適配等,這些都是系統(tǒng)級(jí),采用C/C++/Java完成內(nèi)核和系統(tǒng)的定制,這個(gè)沒什么說的。重點(diǎn)是對(duì)這一堆控制板的底層接口、邏輯控制和上層接口的實(shí)現(xiàn)。以前我們都是采用APP里的NDK來實(shí)現(xiàn),大量代碼耗費(fèi)在Java和C++的相互調(diào)用上。后來直接采用C/C++直接編譯為可執(zhí)行文件通過遠(yuǎn)程調(diào)用提供給上層,開發(fā)效率有所提升。
Go 生態(tài)系統(tǒng)
學(xué)習(xí)基本上相當(dāng)直接的。我們之前在 C/C++/Java/Objective-C/PHP 的經(jīng)驗(yàn)讓我們學(xué)習(xí) Go 相當(dāng)快,并且在幾天內(nèi)就開始開發(fā)了。當(dāng)然會(huì)有一些新的和不常見的東西需要學(xué)習(xí),包括 GOPATH 還有如何處理包,但這在我們衡旅殲的預(yù)期之內(nèi)。
幾天之內(nèi),我們意識(shí)到即使是一個(gè)以簡(jiǎn)化為設(shè)計(jì)目的的語(yǔ)言,Go 也是非鎮(zhèn)櫻常強(qiáng)大的。它能夠做任何現(xiàn)代編程語(yǔ)言應(yīng)該能做的事:能夠處理 JSON、服務(wù)器之間通訊甚至訪問數(shù)據(jù)庫(kù)也沒問題(并且只需要幾行代碼)。
在構(gòu)建一個(gè)服務(wù)器時(shí),你應(yīng)該首先決定是咐沖否使用任何第三方庫(kù)或者框架。對(duì)于 Bugfender,我們決定使用:
Martini
Martini 是一個(gè)強(qiáng)大的 Go 的 web 框架。我們開始這個(gè)實(shí)驗(yàn)時(shí),它是一個(gè)很棒的解決方案,至今也是,我們還沒遇到任何問題。然而如果我們今天再次開始這個(gè)實(shí)驗(yàn)的話,我們會(huì)選擇一個(gè)不同的框架,因?yàn)?Martini 不在維護(hù)了。
Gorm
有些人喜歡 ORM,而有些人則不喜歡。我們決定使用 ORM,更確切地說是 GORM。我們的實(shí)現(xiàn)只針對(duì) web 前端,對(duì)于日志提取 API 仍然繼續(xù)使用手工優(yōu)化的 SQL。在一開始,我們確實(shí)很喜歡它,但是隨著時(shí)間的推移,我們開始發(fā)現(xiàn)問題,并且我們很快將它從代碼中完全移除,并且使用 sqlx 這個(gè)標(biāo)準(zhǔn) SQL 庫(kù)。
GORM 的一個(gè)主要問題是 Go 的生態(tài)系統(tǒng)。作為一個(gè)新語(yǔ)言,自我們開始開發(fā)產(chǎn)品以來 Go 已經(jīng)有很多新版本。在這些新版本中的一些改變并不向后兼容,因此要使用最新的庫(kù)版本,我們要經(jīng)常重寫已有代碼并檢查我們?yōu)榻鉀Q版本問題所做的 hack。
C++適合本地程序的開發(fā)。Go語(yǔ)言適合網(wǎng)絡(luò)程序和本地程序的開發(fā)。Go的優(yōu)點(diǎn):垃圾回收,語(yǔ)意明確,格式統(tǒng)一。?Go的缺點(diǎn):效率目前沒有C++高,但對(duì)于隱銷桌面程序而言,效率問題不大,因?yàn)橛布呀?jīng)很快了。c++過頃核于復(fù)雜了,加入很多炫技的內(nèi)容。這些內(nèi)容脫離了事情的本質(zhì)。
最明顯的就是所謂的面向?qū)ο蟆;诿嫦驅(qū)ο蟮墓こ倘绻銐虼蟮那闆r下,會(huì)帶來很大的耦合度,如果再加上內(nèi)存管理,多線程等等。項(xiàng)目后期基本上沒辦法維護(hù)和增加功能。
關(guān)于c++的語(yǔ)言復(fù)雜性,你可以問知乎上的雀攜掘任何一位高手。沒一個(gè)敢說自己精通c++。你也可以去看一下所有的c++編繹器,沒有任何一個(gè)敢說自己完全實(shí)現(xiàn)了c++的標(biāo)準(zhǔn)。不同的編繹器之間實(shí)現(xiàn)細(xì)節(jié)又不同。所以功能再?gòu)?qiáng)大沒有實(shí)用性,就失去了意義,只會(huì)制造更多的問題。
分享標(biāo)題:go語(yǔ)言對(duì)硬件的要求 go語(yǔ)言主要用在哪方面
網(wǎng)站網(wǎng)址:http://www.chinadenli.net/article46/ddpedhg.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供建站公司、Google、品牌網(wǎng)站設(shè)計(jì)、品牌網(wǎng)站制作、移動(dòng)網(wǎng)站建設(shè)、定制開發(fā)
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)