文章出處

在當今的互聯網時代, java,  安卓, ios, 大行其道,而c/c++卻顯得越來越落寞。 其實這并不是c/c++程序員本身的問題,而是這是一個產品快速響應市場的年代。用過c/c++的人都知道, 使用c/c++直接去開發一款產品是多么的痛苦。而像java這樣的高級語言,擁有各種框架 各種庫,這是c/c++望塵莫及的地方。那么c/c++存在的意義是什么呢?那就是在其他語言不能做或者不適合做的地方。像那些可用或者可不用c/c++的地方, c/c++基本都退出了。 而在這幾個領域c/c++依然是不可替代的, 分別是: 服務端,游戲, 音視頻, 圖像圖像 以及嵌入式與驅動等。 那么作為一個c/c++程序員應該具備哪些技能, 才能顯示出自己的價值呢?

1  c/c++語言,面向對象, stl等

2  linux操作系統

3  數據結構與算法

4  網絡編程(包括socket, i/o模型,多線程 多進程等)

5  常用的開源服務器(nginx, redis, memcache等),熟悉源代碼,能做定制開發

6  關系型數據庫(mysql , oracle, 等)

7  nosql(redis, mongdb等)

8  掌握一門或多門腳本語言(shell, lua. python)

9  常見網絡協議(tcp/ udp,   http,  音視頻相關rtsp,rtp.rtcp, rtmp等)

10 Go語言(如果用c/c++開發服務器程序, 常見的一般是異步+回調的方式,但是這種編程模型對編程人員要求較高,且程序可讀性較差。現在又有了協程的概念,c也有一些協程庫如微信開源的libco等;而go在語言層面就天然支持協程,這是一個巨大的優勢)

這是自己工作中的一些總結, 也許這些對一個合格的c/c++的程序員來說還不夠。我想既然當了c/c++程序員, 注定是要與底層 原理這些東西打交道,這注定是枯燥的。但是能夠揭開這許多技術最終的面紗, 又何嘗不是一種樂趣呢

 


文章列表


不含病毒。www.avast.com
arrow
arrow
    全站熱搜
    創作者介紹
    創作者 大師兄 的頭像
    大師兄

    IT工程師數位筆記本

    大師兄 發表在 痞客邦 留言(0) 人氣()