為什么C和C++牛人多?

2021-02-10    分類: 網(wǎng)站建設(shè)

1、C和C++夠笨,逼的程序員自己做很多事。


小編是一個有著6年工作經(jīng)驗的工程師,關(guān)于C++編程,自己有做材料的整合,一個完整的C++編程學(xué)習(xí)路線,學(xué)習(xí)資料和工具,能夠進(jìn)我的群10048,-83029收取,免費(fèi)送給大家,希望你也能憑著自己的努力,成為下一個優(yōu)秀的程序員



C其實大家都知道,是一門中低級語言,保留了指針等匯編特征,與系統(tǒng)底層結(jié)合密切。C++呢,更多的向個Object C,即面向?qū)ο蟮腃。但這些,其實并不能夠讓程序員顯得很牛。

個人的理解,之所以C和C++程序員顯得很牛,其實原因和大家想像的正好相反,不是因為C和C++太強(qiáng)大,而是這兩門語言太弱智了。

C和C++,由于設(shè)計時,主要針對系統(tǒng)底層,操作系統(tǒng)層面的應(yīng)用,因此,其提供的核心基本庫相對比較簡陋,沒有提供很多華麗的框架,VC的MFC不算啊,那是針對Windows的,不是C++的基本特性。

這直接導(dǎo)致了C和C++程序員,在進(jìn)行大型開發(fā)時,缺乏現(xiàn)成的框架模板可以使用,也沒有太多的工具庫可以使用,像Java等其他語言,基本都提供了常見的幾乎所有數(shù)據(jù)結(jié)構(gòu)類,或者工具模塊,不過,C和C++沒有,搞得C和C++程序員,這群可憐的娃,啥事都喜歡自己做。


2、C和C++夠通用,逼的程序員廣種薄收。


這個通用,分兩層意思。

一個是從應(yīng)用角度,C和C++是目前我見到唯一的可以適應(yīng)任何應(yīng)用場合的語言,它對應(yīng)用通用。起碼,除了匯編語言,C和C++大概是唯一用來寫操作系統(tǒng)的語言了,很多底層的驅(qū)動程序,操作系統(tǒng)內(nèi)核級模塊,只能用C和C++來開發(fā),因此,一個C和C++程序員,他唯一不知道的,可能就是不知道自己以后會去寫什么平臺的什么程序,這要求他必須努力學(xué)習(xí)很多語言之外的知識,為下一份工作做好知識儲備。

第二個是從跨平臺來說,C和C++又不是很通用,雖然從第一天開始,C就吹噓自己很牛叉,是跨平臺語言,但是,就我個人的經(jīng)驗,可以很負(fù)責(zé)任地告訴大家,它在吹牛。

沒錯,作為基本語句,C和C++程序可以到大多數(shù)平臺的編譯器下開發(fā),不過,稍微涉及應(yīng)用一點的庫,差異就很大,比如同樣的socket編程,Windows下和Linux下就有很大差異,什么線程庫啦,很多,差異都很大。不過,日常工程開發(fā),離了這堆庫,程序員估計也不用做什么事了,因此,很多C和C++程序員自從被騙得上了賊船,沒辦法,就得面對無窮無盡的學(xué)習(xí),操作系統(tǒng),任務(wù)調(diào)度,內(nèi)存管理,資源管理,很多都得自己來,去理解各個操作系統(tǒng)的差異性,然后自己寫程序來適應(yīng)。

這么弄下來,搞得C和C++的程序員,無形中對于很多語言之外的知識,掌握得就多一點了。


3、C和C++不是一門應(yīng)用級的語言,其程序員的要求也不是應(yīng)用程序員的要求


應(yīng)該說,這已經(jīng)是很大的市場了,足以讓一個程序員吃一輩子的飯,因此,學(xué)會了這類語言以及應(yīng)用開發(fā),一般已經(jīng)可以再80%~90%的開發(fā)市場找到飯碗了。

這種事情想多了,不用說大家也知道,對自己的水平無形中,有一點點促進(jìn),因此,C和C++程序員往往看問題會深入一點,善于思考。


4、C和C++是高性能應(yīng)用的唯一選擇,這造成程序員必須學(xué)習(xí)優(yōu)化


我們知道,雖然很多語言都可以寫游戲,不過,作為大型游戲系統(tǒng),比如暗黑破壞神吧,還有很多網(wǎng)游,出于高性能圖形動畫的需求,必須使用C和C++來實現(xiàn),才能保證效率。

很多大型網(wǎng)站的后臺數(shù)據(jù)庫,為了響應(yīng)高吞吐量,高并發(fā)量的客戶請求,也需要使用C和C++進(jìn)行優(yōu)化。

這就造成了,C和C++程序員一玩就是大的,必須對優(yōu)化非常熟悉才行。我們知道,優(yōu)化,有兩個要求,一是對各類算法必須很熟悉,可以進(jìn)行算法比較,另外,也是需求分析的專家,可以根據(jù)需求特性,做量身定做的優(yōu)化。

這就要求C和C++程序員,經(jīng)常陷入算法比對之類的任務(wù),而且,也不能僅僅做一個程序員,還必須時刻思考客戶需求,對需求做不斷的再分析,才能找出優(yōu)化之路。

我們知道,任何事情,做多了,就成熟練工了,自然也就來得快,C和C++程序員就是這個樣子。

可能還有很多其他理由,不過,我匆忙間,也就想出這幾條。不過,大家可以看到,日久天長,C和C++程序員,不管是否自愿,但工作和學(xué)習(xí)中,確實比別語言的程序員在多想,多看,多學(xué),自然而然,就顯得很牛叉了。

但大家注意到?jīng)]有,其實我上面分析的幾點,與C和C++其實沒有太多的關(guān)系,任何一門語言的程序員,只要堅持上面幾點,不斷修煉自己,其實都可以達(dá)到牛叉的地步。

所謂功夫在詩外,又所謂窮人孩子早當(dāng)家,C和C++之所以顯得牛人多,并不是這兩門語言有多好,其實恰恰相反,是這兩門語言沒有給程序員提供太多幫助,而其應(yīng)用環(huán)境又太多太廣太深,逼的程序員在自我不斷的學(xué)習(xí),幾年,十幾年下來,自然顯得比小日子過的還算不錯的其他語言程序員,要深入一點。

但是,我們還是要看到,每一門語言,都有其存在的價值,起碼程序語言排行榜前十的語言,都是偉大的語言,都可以產(chǎn)生大師,我覺得大家完全沒有必要人云亦云,都一窩蜂跑來做C和C++,在很多應(yīng)用市場上,Java、PHP等腳本語言,都以開發(fā)周期短,開發(fā)時間快,成為優(yōu)選語言,C和C++完全沒有辦法和這些語言比較。

計算機(jī)軟件開發(fā),發(fā)展到現(xiàn)在,其實已經(jīng)是很細(xì)分的市場,有專門的應(yīng)用軟件市場,也有系統(tǒng)軟件市場,C/C++和Java等,各自應(yīng)對的是不同的市場,因此,二者其實沒有可比性的。

建議已經(jīng)選擇其他語言方向的同學(xué),不要跟風(fēng),在自己的領(lǐng)域深入進(jìn)去,你們也能成為牛人的

分享文章:為什么C和C++牛人多?
本文鏈接:http://www.bm7419.com/news/100136.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站維護(hù)、Google、網(wǎng)站收錄、微信公眾號、虛擬主機(jī)、網(wǎng)站設(shè)計公司

廣告

聲明:本網(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)

成都定制網(wǎng)站網(wǎng)頁設(shè)計