感覺當今市場上直接跟C語言掛鉤的工作越來越少,C語言真的過時了嗎?

合浦仔林哥


可以很負責任的說,C語言不會過時的。

我們來具體分析一下:

截止2019,C語言仍位列編程排行榜前三

大家可以看一下2019年編程語言排行榜。

在這張圖中,我們可以清楚的看到,C語言僅次於JAVA,位列第二。

其實不知去年,C語言“霸榜”前三差不多有十多年了,對於一個幾乎有半個世紀壽命的編程語言來說,這可以稱得上是奇蹟了,那麼,為什麼C語言會這麼受歡迎呢?

C語言的優點

我們來看看C語言的優點:

  • 語言簡潔、緊湊、使用靈活,這在單片機控制中獨領風騷。

  • 運算符豐富,是C語言強大的根源,這要在編程實踐中獲得感受。

  • 語言生成的代碼質量高,編譯過程更穩定,硬件程序設計都用它。

  • 可移植性好。

總的來說,C 語言在很多領域的應用是其他高級語言無法相比的,尤其在單片機和嵌入式領域中,是根本不可能離開C語言的。現在流行的C++,JAVA,C++、Objective-C、Java、C#等等,其實都或多或少受到了C語言的影響,甚至將C語言稱之為“編程之王”一點也不為過。

當然了,C語言也存在缺點,比如在語法限制上不夠嚴格,指針相關的內容比較複雜。初學者的確會因此招罪,不過,只要學好了C語言,在學習其他語言時都會起到事半功倍的效果。



愛思考的奧特曼


我就是搞嵌入式c的,我來解釋下為何有這種誤解。

編程語言排名中c持續保持上十年前三的位置,但大家感覺不到,是因為跟我交互的除了網頁就是各種APP,而這些東西都是java之類的開發的,就好比我們覺得美國什麼都牛逼,因為我們天天交互的電腦,芯片大部分都來自美國,但並不能代表美國啥都強,如果要你舉例5個行業美國最強,基建?運輸?互聯網?製造?農業?電力?除了軟件和微電子估計第3個都要仔細考慮一會兒。

c語言處境就類似,我們不經意的,電動牙刷,智能馬桶,高鐵檢票口,各種交通燈,攝像頭,路燈,智能水錶,電錶,智能鎖,家裡路由器,空調,洗衣機,這些都是c語言做的,如果沒有這些,

估計整個世界都停止運行了。

再來解釋為什麼認為從事這塊比較少,可能這些人都分佈在各個小公司吧,這些生活方方面面的產品公司沒啥巨頭,而我們天天看新聞的都是互聯網大企業,所以忽略了他們的純在,就好比我們覺得到處都是收入上萬的,但在中國收入上萬的確實不到15%,到處看到本科生,但也只有中國人口的7%

再來說一下c這個行業普遍情況吧吧,不像app開發,起薪就是5k上萬。入門工資極低,可能只有2k左右,努力學,但是前三年工資還是會漲得快,可能會到1萬月薪左右,再往後,就看個人造化。可能你是做linux底層驅動,也可能繼續在做電飯煲,所以差別很大,5到7年後,到最終年薪基本上卡死在30萬左右。再往後,到到了這個階段,其實自己可以外接項目了,因為他適合行業特別多,幾本啥小東西都能做,所以也還算容易賺錢,基本上一年50萬左右,也好還是有可能。


liubinkaixin


從事嵌入式開發多年,用C語言編程至少十幾個年頭,到現在也沒覺得這門編程語言已經過時了,只是從明面上講不如以前光鮮,現在JAVA,Python等集成度比較高的編程語言慢慢佔據了主流市場顯得C語言過時的感覺,現在回到三線城市做個程序員,想開發個嵌入式產品,招聘C語言程序員基本上很難,大部分都是JAVA後端開發或者前端的,最後索性直接自己培養人才。

這肯定不是C語言落伍的標記,C語言現在還是在一些關鍵職位上發揮著極其重要的作用,涉及操作底層硬件的程序基本上都離不開C語言的影子,現在通訊領域, 嵌入式驅動開發,影響性能的底層模塊或者算法結構都離不開C語言,包括現在很多編程語言的底層實戰都離不開C語言的影子,只不過現在C語言的門檻提升了可能剛畢業的學生髮現學了C語言招收的公司也不多,而且短時間內也達不到公司的要求,於是很多初學者就放棄了C語言作為入門編程語言。

放在十幾年前C語言是標準的入門編程語言,很多計算機專業的學生有關編程的第一門課程就是C語言,用的老譚的C語言教材,雖然裡面很多人提出了好多瑕疵,但在那個年代能有一本入門的書籍就算不錯了,不像現在C語言的書籍太多了,都不知道選擇那個入手學習,在那個時代就沒有這麼多幸福的煩惱,編程語言的入門書籍能有一本就可以,關鍵是耐住性子看到最後,很多初學者看的時候覺得不行,再換一本學習狀態提升不高換再經典的入門書籍也都是做樣子,人要想做好一件事情拿出魄力和勇氣誰都擋不住,關鍵還是看學習的勇氣。



從編程體系上講構建上講,或者有志於成為架構師還是建議從底層的編程語言入手,這樣在設計框架的時候能知道底層如何實現的,這樣在功能實現上或者性能上會更加合理,很多人覺得學習JAVA精通一樣可以做出色的架構師,如果在掌握這些的情況下再去研究下C語言是不是效果會更好,優秀的編程習慣就是不斷拓展知識體系的過程,積累多了時間長了就會讓自己領悟到更高的層面。


現在還在說著C語言過時的人要麼壓根不懂編程,要麼是剛入行不久還沒有對編程有個整體的認識,編程語言本身就是工具,工具無所謂過時不過時只有合適不合適的概念,不一定最先進的編程語言就是最合適的,現在很多企業還在用著VB,VC腳本,後續也不需要很重大的升級,也不需要追蹤時髦換成Python等高級編程語言,在適當的場景下選擇最合適的編程語言也是一種能力的表現,往往過份關注語言本身反而讓自己的格局變得很小,編程的最終目的就是提升生產效率,解決實際問題,解決實際問題的能力才是編程高手的唯一衡量標準。

希望能幫到你。


大學生編程指南


C是一門最為古老的編程語言之一,但確實最活躍應用最廣的語言,沒有之一。之所以樓主會覺得C語言崗位很少,是因為現在C語言做的工作稍微底層,但是難度卻不小。tiobe每個月都會對世界編程語言進行排名,C語言幾乎就沒有迭出前三的排名,從中可見其活力是多麼旺盛。嵌入式開發幾乎都是使用C語言的,C語言能做什麼,我在圖片上已經說明了其中部分應用。在OSI七層模型中除了物理層都有C語言的身影,大多數人接觸的只有應用層,物理層和應用層之間可以說都是C語言乾的,應用層有些C語言也幹。





Andy001847


c語言工作很多啊,關鍵看是做什麼,比如嵌入式開發,只有彙編和c語言能做,且多數是c語言,現在很多機器,電器裡都有芯片,就是嵌入式程序。還有現在最流行的python語言可以調用很多庫,這些庫有大部分是c語言寫的,c語言寫的庫效率高,彌補了python效率的不足。


隼222


現在說到編程,大家提得更多的似乎永遠是前端、後端、小程序、Android App、iOS App,但奇怪的是,在編程語言排行榜上, C語言卻永遠是前一、前二,那C語言現在有哪些應用場景呢?

首先,大家都知道近些年智能家居比較火,而智能家居是屬於嵌入式的範疇,現在嵌入式大部分都是使用C語言來進行開發的(當然,新興的Lua也能代替部分開發工作),比如我之前就參與過兩三個嵌入式項目的開發,使用的全是C語言;

其實,操作系統、驅動的編寫都是使用C語言進行;

最後,開發其他編程語言需要C語言。


光聊科技


這是一個好問題,我們從如下幾個方面來分析一下。首先是c語言的特點,其次是c語言能幹什麼?再次, 為什麼看上去現在c語言的工作少了?最後我們來說一下c語言究竟還有沒有前途。

*c語言的特點:

c語言簡單明瞭。效率非常高,可以直接操作內存地址,硬件地址。屬於高級計算機語言中的底層語言。要想學習計算機專業,c語言是一個必選項。

c語言裡面還可以直接嵌套匯編語言。c語言雖然屬於高級語言中的底層語言,它可以支持圖形界面的開發,也可以支持共享庫的開發。它是一種適用性和實用性都很強的語言。

*c語言能幹什麼?

由於c語言的高效率特性。它被廣泛應用在嵌入式編程,操作系統內核編程,驅動程序編寫等等需要高效率的技術項目上。除了這些高效特性,c語言也能用來編寫其他常用語言,能夠編寫的東西。c語言還是書寫其他語言的基礎語言。比如說c++就是用c語言來寫的。

c++作為一個非常典型的面向對象編程語言,它又是其他面向對象編程語言的基礎,比如c sharp, Java等等。

那麼c語言的用途是非常廣泛的,這一點是顯而易見且毋庸置疑的。

*為什麼看上去c語言的工作少了?

實際上不是因為c語言的工作少了,是因為其他語言相關的工作多了。當今的技術發展日新月異,不斷的出現一些很好的高級語言,所以相應的也產生了大量的工作崗位。

所以相對的,在工作市場上,看上去好像c語言的職位少了。這只是一個相對的概念。在絕對數上,c語言的編程職位,並沒有減少,反而不斷的增加。那是因為有幾個行業,尤其需要c語言。

第1個,通信行業一般都使用嵌入式編程,而通訊行業這幾年一直處於發展的狀態當中。由於通訊業的繁榮,所以對c語言程序員的需求依然不斷的增加,而且這樣的工作崗位比較穩定。

第2個,智能設備領域,也是使用嵌入式編程,尤其是一些簡單的控制領域,比如說空調,智能設備,冰箱類智能設備,汽車類智能設備。

第3個, 教育領域也在使用c語言,尤其是數據結構。因為c語言的簡潔特性,在教育領域,很容易形成統一的標準。這樣,對於老師和學生,都非常容易從事教學和學習工作。

*c語言究竟還有沒有前途了?

c語言的前途是非常光明的。

除了上述傳統行業仍然在使用c語言以外,現在發展的如火如荼的物聯網行業也會大量的使用c語言。

此外,由於c語言一直以來在信息產業領域廣泛的使用,它有很多傳統的遺產性代碼需要有高級程序員來維護。一般來說,這些傳統的代碼,運行效率都很高,並且很穩定,只有在少數情況下,需要一些修改或者功能的添加。處於這種情況的企業,一般會招聘一些懂c語言的高級程序員坐鎮,以備不時之需。

c語言作為一種底層語言,對於一個程序員來說,卻是一種高大上的語言。因為如果一個程序員懂c語言的話,對於他的專業形象,以及他的編程素質來說,都是一個很好的證明。

從以上種種分析,我認為,c語言的前途依然是光明的。

好了,我們先說到這裡吧,感謝訂閱丁哥開講,謝謝。






丁哥開講


本人電子信息工程出身做過信息系統現在做機器學習。C屬於結構化程序設計語法不復雜但是可以涵蓋程序設計的基礎知識要素。所以是最好的專業入門學習語言。但是沒有面向對象和使用指針的緣故不被管理系統開發看好。所以C/C++現在都做底層操作系統層面和底層算法的開發。應用領域更為集中,不像過去那麼寬泛。過時?絕對不會!


DOS4204053888


說一點我接觸到的吧,服務器領域百分之九十是LINUX不誇張吧,LINUX的爸爸託瓦斯絕對的C擁護者,因為當年試圖用C++寫內核失敗,改用C寫Linux內核,所以在服務器系統內核這裡C有絕對統治地位


佳禮764


除了彙編,就是C最接近底層了:因此說,凡是要底層(硬件和Firmware)上做到多快好省的,都離不開C,比如通信、軍工、嵌入式。當然,在願意接受一點效率損失的前提下,C現有的領地也可能會被C++侵蝕。


分享到:


相關文章: