我感覺還是python+c比較好。

湖北ssl適用于網(wǎng)站、小程序/APP、API接口等需要進(jìn)行數(shù)據(jù)傳輸應(yīng)用場景,ssl證書未來市場廣闊!成為成都創(chuàng)新互聯(lián)的ssl證書銷售渠道,可以享受市場價格4-6折優(yōu)惠!如果有意向歡迎電話聯(lián)系或者加微信:18982081108(備注:SSL證書合作)期待與您的合作!
就我身邊的人來看,得出如下觀點:
c++:學(xué)一樣可以解決任何問題,就是學(xué)習(xí)的成本太高,時間腦力不夠?qū)W不好啊。。。
python+c:拿來一個項目,先用python做個試用版(不考慮執(zhí)行效率、內(nèi)存等),開發(fā)速度是其他語言開發(fā)時間的十倍,然后測試,發(fā)現(xiàn)執(zhí)行中出現(xiàn)瓶頸的話,要不就多開幾個進(jìn)程,要不就用c語言寫小的功能,再用python調(diào)用,幾乎可以又快又好的解決任何問題。(要提高速度試試pypy)
go:一直有人強(qiáng)調(diào)go對多線程多cpu執(zhí)行時的效率有多塊多好,那是因為他和python比,python根本不支持多線程(因為GIL的存在),go各方面都很平庸(比效率比不過c,比庫的支持比不過python(python也可以用c庫?。皇呛蚿ython瘸腿的一方面比當(dāng)然強(qiáng)了。。。
c#、java之類:轉(zhuǎn)別人的話說,用起來感覺像開著一輛裝滿石頭的拖拉機(jī)。。。
總的感覺:天才去學(xué)c++,能解決任何問題,又賺大錢;我這種不聰明的人python+c就能解決幾乎所有問題了。。。
部署簡單。Go編譯生成的是一個靜態(tài)可執(zhí)行文件,除了glibc外沒有其他外部依賴。這讓部署變得異常方便:目標(biāo)機(jī)器上只需要一個基礎(chǔ)的系統(tǒng)和必要的管理、監(jiān)控工具,完全不需要操心應(yīng)用所需的各種包、庫的依賴關(guān)系,大大減輕了維護(hù)的負(fù)擔(dān)。這和Python有著巨大的區(qū)別。由于歷史的原因,Python的部署工具生態(tài)相當(dāng)混亂【比如setuptools,distutils,pip,
buildout的不同適用場合以及兼容性問題】。官方PyPI源又經(jīng)常出問題,需要搭建私有鏡像,而維護(hù)這個鏡像又要花費不少時間和精力。
并發(fā)性好。Goroutine和channel使得編寫高并發(fā)的服務(wù)端軟件變得相當(dāng)容易,很多情況下完全不需要考慮鎖機(jī)制以及由此帶來的各種問題。單個Go應(yīng)用也能有效的利用多個CPU核,并行執(zhí)行的性能好。這和Python也是天壤之比。多線程和多進(jìn)程的服務(wù)端程序編寫起來并不簡單,而且由于全局鎖GIL的原因,多線程的Python程序并不能有效利用多核,只能用多進(jìn)程的方式部署;如果用標(biāo)準(zhǔn)庫里的multiprocessing包又會對監(jiān)控和管理造成不少的挑戰(zhàn)【我們用的supervisor管理進(jìn)程,對fork支持不好】。部署Python應(yīng)用的時候通常是每個CPU核部署一個應(yīng)用,這會造成不少資源的浪費,比如假設(shè)某個Python應(yīng)用啟動后需要占用100MB內(nèi)存,而服務(wù)器有32個CPU核,那么留一個核給系統(tǒng)、運(yùn)行31個應(yīng)用副本就要浪費3GB的內(nèi)存資源。
良好的語言設(shè)計。從學(xué)術(shù)的角度講Go語言其實非常平庸,不支持許多高級的語言特性;但從工程的角度講,Go的設(shè)計是非常優(yōu)秀的:規(guī)范足夠簡單靈活,有其他語言基礎(chǔ)的程序員都能迅速上手。更重要的是Go自帶完善的工具鏈,大大提高了團(tuán)隊協(xié)作的一致性。比如gofmt自動排版Go代碼,很大程度上杜絕了不同人寫的代碼排版風(fēng)格不一致的問題。把編輯器配置成在編輯存檔的時候自動運(yùn)行g(shù)ofmt,這樣在編寫代碼的時候可以隨意擺放位置,存檔的時候自動變成正確排版的代碼。此外還有g(shù)ofix,
govet等非常有用的工具。
執(zhí)行性能好。雖然不如C和Java,但通常比原生Python應(yīng)用還是高一個數(shù)量級的,適合編寫一些瓶頸業(yè)務(wù)。內(nèi)存占用也非常省。
是。go語言屬于c語言軟件中的編程語言,該編程語言是單線程的。c語言是一種通用程序設(shè)計語言類的程序軟件。
思想都不一樣,go的關(guān)鍵字本身就相當(dāng)于多線程,想怎么開都可以,每會話每連接對應(yīng)一個虛擬線程都無所謂,runtime層根據(jù)需求和cpu處理能力動態(tài)調(diào)度,這可比多線程網(wǎng)絡(luò)庫強(qiáng)大多了
網(wǎng)站欄目:go語言不支持多線程 go 多線程
標(biāo)題來源:http://www.js-pz168.com/article2/ddighoc.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站設(shè)計公司、品牌網(wǎng)站建設(shè)、網(wǎng)站導(dǎo)航、網(wǎng)站改版、品牌網(wǎng)站制作、網(wǎng)站營銷
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)