當前位置:學問君>人在職場>就業指導>

程序員學什麼樣的知識才能賺錢[1]

學問君 人氣:6.42K

如果我們要討論C的學習路徑,恐怕要失望了。因爲C和Java語言並不一樣。並沒有前人規劃好的必然成功之路。

程序員學什麼樣的知識才能賺錢[1]

Java語言由於面向應用面相對狹窄,框架模板衆多,最重要的,其主要工作方向比較確定,就是做基於網絡的`跨平臺數據應用爲主,因此,其發展方向很容易確定,學習路線也比較好規劃。

但C顯然不是這樣,C應用面太廣,可以說,彙編能做的事情,C就能做,甚至做得更好,也就是說,我們能想出來的計算機軟件應用,其實都可以由C來實現,僅僅是成本高低而已。

而不同的應用,除了計算機軟件編程知識之外,還需要很多應用相關的知識,這就造成了C程序員往往也需要成爲自己應用方向上的半個專家,這就比較麻煩了,這麼多的應用方向,寫遊戲的知識儲備,和寫驅動顯然不一樣,與寫操作系統和編譯器的方向又顯然不一樣,因此,很難說一個C程序員需要掌握哪些知識,纔夠用。

以我自己爲例子,我做程序差不多快20年了,做C也超過15年,做過遊戲,工業控制,電子教育,網絡傳輸等各種軟件,我總結自己的知識儲備,也僅僅覺得自己在數據傳輸方面有一點心得,並且對於C和C++語言怎麼實現0Bug程序設計,有點經驗而已,真不敢說自己什麼都會。

另外,C語言之所以難學,並不是說它自己多難,真正的問題在於,C語言偏底層,只要我們一做應用程序,或多或少都需要調用很多操作系統相關的api來完成工作,Windows下,如果我們不懂Win32API,則很難寫出合用的代碼,C語言玩得再熟都不行,Linux下對於各種系統和應用級api,也需要不斷查詢man,否則根本寫不下去。所以,要想成爲C程序員,至少要學習操作系統,通常,至少應該把Windows和Linux常見的api學一遍。MFC是Win32API的C++框架表示,最好也學一點。

其實這已經帶出另外一個話題,現代開發,C和C++一般不分,C++到了函數內部,其實是C,而C呢,有很多特性寫程序不夠方便,也需要使用很多C++的特性,如默認參數,如引用等等。所以,學習C,最好和C++套着學,都看看。呵呵,這已經是兩門語言了。

還有一個問題,不管是C還是C++,總是各個具體的操作系統上開發,Windows和Linux有差異性,很多庫函數,常量定義都不一樣,因此,C和C++一般說來,很難做到程序通用,需要使用大量的編譯宏,這需要了解語言之外的東西,即編譯器的很多特性,不過,很可惜,關於編譯器特性,目前的資料很少,我很多都是摸索的。