前世今生
在38年前(1979年),一名刚获得博士学位的研究员,为了开发一个软件项目发明了一门新编程语言,该研究员名为Bjarne Stroustrup,该门语言则命名为——C with classes,四年后改称为C++。C++是一门通用编程语言,支持多种编程范式,包括过程式、面向对象(object-oriented programming, OP)、泛型(generic programming, GP),后来为泛型而设计的模版,被发现及证明是图灵完备的,因此使C++亦可支持模版元编程范式(template metaprogramming, TMP)。C++继承了C的特色,既为高级语言,又含低级语言功能,可同时作为系统和应用编程语言。
开发语言市场占比
TIOBE 最近公布了 2017 年 5 月编程语言指数排行榜,排名前三的是 Java、C、C++。
注意* : 这将直接影响你的就业空间以及在你入门时获得帮助的资源。也同时反映了一门语言的生命力。
C++就业前景
在国内目前最火的还是C++软件工程师和JAVA软件工程师,但是C++人才需求有别与JAVA正面临着“有人没活干,有活没人干”的局面。而造成这个尴尬局面的原因可能是:
- 市面C++的系统化培训机构比较少,基本靠自学。
- C++入门较难。
反映在薪资上C/C++软件工程师的年薪与JAVA软件工程师和.NET软件工程师的年薪相比一般平均要高。
行业
C++在很多行业应用广泛:网络、通讯、图像、游戏、桌面等,它也是目前唯一适应多方面需求的编程语言。
业内也流程这么一句话:没有学过C++就不是真正的程序员,没有掌握C++编程技术就等于没有抓住通向国际一流企业
优点缺点
每一门语言的产生都有它历史存在的意义。同时也会伴随着局限性。
C++的优点是灵活,但同时也是缺点,因为灵活而缺乏强制性标准,对从业者自身的素质要求提供了。
相关资源
Herb Sutter的演讲why c++
帮助
我会陆续更新C++相关文章,可以关注我的微博。