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++程序员, 注定是要与底层 原理这些东西打交道,这注定是枯燥的。但是能够揭开这许多技术最终的面纱, 又何尝不是一种乐趣呢
- 商业级别Fortify白盒神器介绍与使用分析
- [WCF安全系列]消息的保护等级[上篇]
- QEMU 1: 使用QEMU创建虚拟机
- [WCF安全系列]绑定、安全模式与客户端凭证类型:NetNamedPipeBinding、NetTcpBinding与NetMsmqBinding
- 操作系统级虚拟化概述
- 让javascript中的异步请求同步起来
- [WCF REST] WebHttpBinding与消息编码
- React 概要
- [WCF REST] UriTemplate、UriTemplateTable与WebHttpDispatchOperationSelector
- [WCF REST] WebServiceHost有何特别之处?
- OSX SIP机制的“那些事”
- [WCF REST] 帮助页面与自动消息格式(JSON/XML)选择
- WCF服务端运行时架构体系详解[下篇]
- python和C语言混编的几种方式
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法
- 一个简单的Angular search UI实现
- (译)SDL编程入门(2)在屏幕上显示图像
- 【Vue进阶】手把手教你在 Vue 中使用 JSX
- (译)SDL编程入门(1)Hello SDL
- Django使用Channels实现websocket
- (译)SDL编程入门(6)扩展库SDL_image
- 牛客网剑指offer-2
- 牛客网剑指offer-1
- (译)SDL编程入门(5)Surface 优化和软拉伸
- (译)SDL编程入门(4)按键操作
- webpack实战——生产环境配置【中】
- MongoDB权威指南学习笔记(1)--基础知识与对文档的增删改查
- 利用 Shell 脚本实现邮件监控 Linux 系统的内存
- MongoDB权威指南学习笔记(4)--应用管理和服务器管理
- MongoDB权威指南学习笔记(3)--复制和分片