cc++程序员的技术栈
在当今的互联⽹时代, 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等),熟悉源代码,能做定制开发
高级java程序员掌握技能6  关系型数据库(mysql , oracle, 等)
7  nosql(redis, mongdb等)
8  掌握⼀门或多门脚本语⾔(shell, lua. python)
9  常见⽹络协议(tcp/ udp,  http,  ⾳视频相关p, rtmp等)
10 Go语⾔(如果⽤c/c++开发服务器程序,常见的⼀般是异步+回调的⽅式,但是这种编程模型对编程⼈员要求较⾼,且程序可读性较差。现在⼜有了协程的概念,c也有⼀些协程库如开源的libco等;⽽go在语⾔层⾯就天然⽀持协程,这是⼀个巨⼤的优势)
这是⾃⼰⼯作中的⼀些总结,也许这些对⼀个合格的c/c++的程序员来说还不够。我想既然当了c/c++程序员,注定是要与底层原理这些东西打交道,这注定是枯燥的。但是能够揭开这许多技术最终的⾯纱,⼜何尝不是⼀种乐趣呢

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。