編程須知:C/C++語言能做什么?企業(yè)需要什么樣的C/C++程序員?
C/C++語言能做什么?C/C++程序員在做什么?企業(yè)需要什么樣的C/C++程序員?對初學者來說,要搞清楚這些問題并不容易。
一個農(nóng)民種菜之前,會考慮菜的行情(包括銷量和價錢),如果您打算學習C/C++語言,也應該先了解C/C++程序員的行情。

了解菜的行情要去菜市場,了解C/C++程序員的行情去人才市場,中國最大的IT人才市是前程無憂。
我們先來查一些資料。
一、中國編程語言的排名情況
登錄前程無憂的官網(wǎng),分別輸入java、C++、python、javascript、.net、C#、PHP、SQL、IOS關鍵字,城市選擇北京、上海、廣州和深圳,查詢到的招聘職位分別是31032、22842、19274、14091、6956、8018、5284、21302、6014個。(這是2022年3月查到的數(shù)據(jù),不同時期的查詢結(jié)果略有不同)


數(shù)據(jù)顯示企業(yè)的JAVA和C++職位比例約6:4,培訓機構(gòu)的主流課程是JAVA和Python等,進一步導致了C/C++程序員的缺乏。
培訓機構(gòu)不愿意開設C/C++課程,C/C++語言的教學對老師的能力要求非常高。
編程語言的選擇是人生大事,必須慎重,誰都不希望在工作幾年后被迫從一種編程語言轉(zhuǎn)向另一種編程語言。
JAVA和C/C++是程序員可選的兩個方向(其它編程語言根本不在考慮范圍),無所謂哪一種更好,我個人偏向C/C++,因為JAVA程序員的工作太累了。
更多的人選擇學習JAVA,在較短的時間內(nèi)就可以上手,從簡單的WEB頁面做起,所見即所得,容易有成就感,但是C/C++不一樣,學生在學完基礎知識后還是不知道它能做什么,離企業(yè)需求仍然差得很遠,堅持下去的人很少,“從入門到放棄”是多數(shù)人的無奈的選擇。
二、企業(yè)對C/C++程序員的技能要求
從前程無憂的招聘數(shù)據(jù)看,中國企業(yè)對C/C++的技能要求主要有網(wǎng)絡通信、硬件驅(qū)動(嵌入式)、數(shù)據(jù)庫、視頻音頻、網(wǎng)絡游戲、桌面圖形、機器學習、大數(shù)據(jù)、物聯(lián)網(wǎng),如下圖。

以上數(shù)據(jù)可以從前程無憂的官網(wǎng)查詢,分別輸入“C++ 網(wǎng)絡”、“C++ 嵌入式”、“C++ 數(shù)據(jù)庫”、“C++ 游戲”等關鍵字,范圍選北京、上海、廣州和深圳。
值得注意的是,近年來被媒體反復炒作的人工智能、大數(shù)據(jù)、物聯(lián)網(wǎng)、區(qū)塊鏈等高大上的概念,企業(yè)需求其實很少,現(xiàn)在股票也不抄這個概念了。
輸入“ C++ Linux”關鍵字搜索,結(jié)果有9767條記錄,輸入“C++ Windows”關鍵字搜索,只有2500條記錄。這說明windows作為服務器的操作系統(tǒng),正在被淘汰中。
目前,大部分的學校和培訓機構(gòu)讓學生windows平臺下學習C/C++語言,而企業(yè)要求的卻是linux。
我們應該學習主流技術(shù),不能成為非主流,否則有被淘汰的風險。
三、數(shù)據(jù)比石油更珍貴
在我們的生活中,數(shù)據(jù)無處不在,但是,常人對它不敏感。
人口戶藉數(shù)據(jù)在公安局。
駕照數(shù)據(jù)和車輛數(shù)據(jù)也在公安局的交警支隊。
醫(yī)院保存了每個病人的基本資料和就診數(shù)據(jù)。每個產(chǎn)婦在醫(yī)院生了小孩子,計劃生育部門也會知道,它們與公安局和醫(yī)院有聯(lián)網(wǎng)交換數(shù)據(jù)。
銀行有開戶數(shù)據(jù),轉(zhuǎn)帳記錄。
證券公司有行情數(shù)據(jù)、股東基本數(shù)據(jù)、持股數(shù)據(jù)和交易日志。
電信公司有開戶數(shù)據(jù)、通話清單、帳單。
電力局有居民的基本數(shù)據(jù)和用電帳單。
火車票、機票都是數(shù)據(jù)。
騰訊公司有QQ帳戶數(shù)據(jù)、微信帳戶數(shù)據(jù)、聊天日志、轉(zhuǎn)帳日志等。
阿里公司有淘寶帳戶數(shù)據(jù),商戶數(shù)據(jù),商品數(shù)據(jù)、交易日志等。
煤氣公司、自來水公司……
一個人的身高、體重、學歷、年齡是數(shù)據(jù)。
圖片、視頻、音頻、文章也是數(shù)據(jù)。
……
四、C/C++程序員在做什么
用C/C++做桌面程序的比例約11%,其它的C/C++程序都運行在后臺Linux服務器上,普通用戶看不見。
在很多培訓機構(gòu)的教程中,把貪吃蛇、俄羅斯方塊、打地鼠、球球大作戰(zhàn)等程序當成項目實戰(zhàn),太過兒戲,這些程序的源代碼網(wǎng)上到處都是,真正的程序員不玩這個。
真正的C/C++程序員在工作,掌握的是謀生的技能,不是在玩過家家。
我們每天都在用微信軟件聊天、付款、轉(zhuǎn)帳等,對普通用戶來說,只看到微信軟件的操作界面,不清楚有后臺系統(tǒng)的存在,以轉(zhuǎn)帳功能為例。

1)付款人在手機微信中輸入轉(zhuǎn)帳金額和支付密碼;
2)手機微信軟件把轉(zhuǎn)帳金額和密碼發(fā)送給騰訊公司的微信服務器;
3)微信服務器核對用戶的密碼和轉(zhuǎn)帳金額,向中國銀聯(lián)發(fā)起轉(zhuǎn)帳請求,中國銀聯(lián)把轉(zhuǎn)帳請求轉(zhuǎn)發(fā)給付款方的開戶行銀行,開戶銀行從付款人的帳戶中扣除金額。
4)微信服務器把扣款成功信息返回給手機微信軟件,顯示轉(zhuǎn)帳成功。
5)微信服務器向收款人的手機微信軟件發(fā)送收錢提醒,收款人點擊收款后,微信服務器把金額存入收款人的微信帳戶中。
在上述轉(zhuǎn)帳流程中,蘋果手機的微信軟件采用Objective-C語言開發(fā),其它品牌手機的微信軟件采用JAVA開發(fā);微信服務器、中國銀聯(lián)和開戶銀行都是非常龐大的系統(tǒng),系統(tǒng)之間進行了多次數(shù)據(jù)傳輸,對數(shù)據(jù)庫進行了查詢、修改和插入操作,都是采用C/C++語言開發(fā),系統(tǒng)運行在UNIX系統(tǒng)上,效率極高、穩(wěn)定性極強,工程量巨大,是精英程序員們的心血之作。
對騰訊的開發(fā)團隊來說,手機上安裝的微信APP軟件,開發(fā)的工作量不會超過整個微信項目的5%。

五、總結(jié)一下
1)網(wǎng)絡通信和數(shù)據(jù)處理以C/C++語言為主,數(shù)據(jù)輸入、數(shù)據(jù)展示以java為主。
2)作為服務器的操作系統(tǒng),必選Linux,Windows已被淘汰,以VC、QT等作為C程序的開發(fā)環(huán)境極不明智。
3)網(wǎng)絡通信是C/C++程序員的必備技能。
4)數(shù)據(jù)處理是C/C++程序員的必備技能。
5)嵌入式開發(fā)的職位比較多,技術(shù)上偏硬件(通信、電子等專業(yè)),軟件為輔,無硬件基礎者要慎重考慮。
6)放棄幻想,不要追逐那些高大上的潮流(區(qū)塊鏈、大數(shù)據(jù)、人工智能等),也不要聽那些從入門到精通的鬼話,踏實一點,先成為一個普通程序員,這個世界上從來就沒有捷徑。
來源:C語言技術(shù)網(wǎng)(www.freecplus.net)
作者:碼農(nóng)有道
___________
寫在最后:對于準備學習C/C++編程的小伙伴,如果你想更好的提升你的編程核心能力(內(nèi)功)不妨從現(xiàn)在開始!
微信公眾號:C語言編程學習基地
整理分享(多年學習的源碼、項目實戰(zhàn)視頻、項目筆記,基礎入門教程)
歡迎轉(zhuǎn)行和學習編程的伙伴,利用更多的資料學習成長比自己琢磨更快哦!
編程學習書籍分享:
