c/c++程序员的技术栈
在当今的互联网时代, 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++程序员, 注定是要与底层 原理这些东西打交道,这注定是枯燥的。但是能够揭开这许多技术最终的面纱, 又何尝不是一种乐趣呢
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
· 没有源码,如何修改代码逻辑?
· 全程不用写代码,我用AI程序员写了一个飞机大战
· DeepSeek 开源周回顾「GitHub 热点速览」
· 记一次.NET内存居高不下排查解决与启示
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· .NET10 - 预览版1新功能体验(一)