優(yōu)秀的程序員應該精通多少門語言?對于這個問題每個人的理解都不一樣,但是從職場上來分析只精通一門C語言的人遠遠算不上程序員,別說一個C語言了,就算你只精通Java,精通C++,都算不上程序員,為啥?請繼續(xù)往下看: 一、程序員要懂業(yè)務 會一門C語言意味著你可以按照C語言的語法寫出一段代碼來,但也僅僅是一段簡單的代碼。想讓代碼有靈魂,也就是能夠解決實際中的一個問題或者滿足客戶實際的一個需求。試想,客戶要求你做一個網(wǎng)絡視頻傳輸?shù)哪K,需要你理解視頻從客戶服務器到終端整個的交互流程才能寫出這個系統(tǒng),而你只會用scanf函數(shù)從鍵盤讀取一個數(shù)據(jù),再用printf函數(shù)把數(shù)據(jù)輸出,這只能說明你C語言語法學的好,但是有什么用?幫助客戶解決了什么問題? 二、程序員要懂算法 算法是程序的靈魂,程序員在寫每一個C語言代碼時都不知不覺用到了某種算法。最常見的一個就是人間識別算法。 也許你用C語言指針很溜,用C語言鏈表很順手,用C語言二維數(shù)組更是不在話下,但是光會寫這些就能識別出一張人臉嗎?顯然不可能。 算法就像一個印有規(guī)則的一張紙,你看著這張紙上的規(guī)則,利用你學到的C語言語法按照規(guī)則寫代碼,算法的靈魂就在代碼中。 三、程序員要懂多個編程語言 給客戶做業(yè)務,光懂一門編程語言遠遠不夠。比如你懂Java,安卓開發(fā)很溜。但是你要在安卓手機上實現(xiàn)對視頻截圖,此時僅懂Java是不夠的,這種涉及到視頻處理的底層功能得借助于native方法,而native方法往往是通過C語言實現(xiàn)的。 如果要現(xiàn)身說法,小編作為一名程序員,中間學過C++,C和Java。唯一可以稱得上精通的就是C語言了。之所以如此,當然也是有著鮮明的現(xiàn)實背景的。最主要的原因就在于我是一枚嵌入式軟件工程師,是在MCU上寫代碼的,而C語言基本上就是嵌入式軟件開發(fā)領(lǐng)域的王者,在MCU上很難看到其它編程語言的用武之地。 如果一個精通C語言的人都不能被稱之為程序員,那么稱職的程序員真就不多了,不是所有的程序員都是對某種編程語言都是精通的,能精通編程語言的人在編碼界也是稀有動物般的存在。要精通一種編程語言,除了非常雄厚的編程基礎(chǔ)之外,還需要現(xiàn)場實際解決問題的能力,一個問題普通的程序員也能解決,高手一樣能夠解決,但實際產(chǎn)生的效果是不一樣的,高手解決問題想到的是框架方面東西,一旦解決可能類似的一個體系的問題都會得到解決。 很多時候做項目都是多個編程語言相輔相成,共同完成一個目標的。上面所說的還僅僅是程序員要學的很小的一部分,程序員要學的實在是太多,而且技術(shù)更新日新月異,要時刻保持一顆學習的心! |
|