欢迎光临散文网 会员登陆 & 注册

六星云课堂:C++ 20发布后,又重获程序员青睐了!

2022-06-17 09:14 作者:六星云课堂  | 我要投稿

1979年,C++之父 Bjarne Stroustrup 在偶然的机会中发现:要想开发大型软件且它能够高效运行,需要一个具有灵活和可拓展类型系统的编程语言。在当时,Simula语言的类、类层次结构和强静态类型检查是组织代码和管理复杂性的主要手段,而BCPL(C语言的祖先)的跨平台移植性很好。于是,Bjarne Stroustrup 产生了把二者特性结合起来的想法,因此C++在贝尔实验室诞生了。

C++是一门集面向过程、面向对象、函数式、泛型和元编程等多种编程范式于一身的复杂编程语言。青出于蓝而胜于蓝,除了具有C语言的所有特性之外,C++还有包括类、基本继承、内联、默认函数参数和强类型检查等重要功能。

1998年,已经广泛应用于软件开发行业的C++终于发布了第一个国际标准ISO/IEC 14882:1998,从此C++在编程领域势如破竹。

— 01 —

桌面时代的王者

20世纪80年代,计算机行业和硬件密不可分,整个编程界几乎被C和C++占据。C++既有面向对象的优势,又有与C语言不相上下的效率,因此在很多高性能的系统级软件、图形图像软件、桌面应用中都有它的身影。

在当时,编程语言并不多,C++凭着运行效率高的优势与C语言一起成为服务端软件。但C++并不仅限于底层的开发,因为有面向对象的优势,C++在图形视觉领域也颇受欢迎。同时,随着操作系统的广泛应用,基于桌面级别的软件基本都是采用C/C++开发的。

— 02 —后生可畏

到了20世纪90年代初,工业领域的开发进入成熟期,计算机行业进入了互联网的Web时代,C++在编程语言领域中的领土逐渐被其他新兴的语言侵占。

首先是电子商务和社交网站的兴起,让Java迅速成为编程界的新秀,直至今日依旧常居编程语言排行榜第一位。

看到Java发展势头迅猛,微软也不甘落后,开发的.NET开发出来后,背靠Windows系统而稳步发展。那个时候的计算机行业就像一方沃土,即便有C/C++和Java无比强悍的编程语言存在,占据着很大的市场份额,但是像PHP、C#等这样的新兴编程语言依旧可以在这个行业中找到一席之地。

Web时代要求更高的灵活性,C++没有跟上。而伴随着互联网和移动互联网的“春雨”,一系列优秀的编程语言春笋般不断涌现,诸如PHP、C#、Ruby、Python等编程语言也逐渐成为程序员们的首选语言。C语言和C++的市场份额被这些新秀语言逐步挤压。

— 03 —复兴之路

近年来,局势有所扭转。在大型游戏、工业机器人、智能装备等领域高速发展的时代,C++语言凭借着强大的设计能力和稳定的运行性能,在这些领域拥有了不可替代的优势。

从最近的编程语言排行榜来看,C++的排名正在不断提高,仅次于Java、C和Python。这个已经40多岁的老牌编程语言又将迎来新的转机。

2020年9月份,C++20国际标准草案获得一致通过,ISO C++20新标准在翘首期待中终于尘埃落定。

C++之父 Bjarne Stroustrup 表示:“C++ 20是自C++11以来最大的发行版,它将是C++发展史上的里程碑。”业界都相信C++ 20必将为系统级软件的开发、构建、设计带来深远的影响。

— 04 —C++的学习之道

和C语言相比,C++继承了C语言所有的语法和库函数,同时为了提高语言的封装、继承和多态,C++引入了类的概念。

从应用角度来看,C++多用于开发各种后台使用的算法和逻辑库。而C语言则更底层,主要用于开发更核心的算法、驱动程序和控制程序等。

不过,C和C++的学习路径大体相同,可以简单分为五大类:算法和数据结构、面向对象思想、基本语言知识、产品开发、与其他语言混合开发。在这个分类之下还有一些更细致的内容,如图所示:

C/C++是更快、更底层的语言,要想高效使用C/C++语言,还需要掌握更多的算法和数据结构的知识,以及操作系统和多线程的知识。尤其是操作系统的知识,因为程序最终要运行在操作系统上。例如,如何读取一个文件的时间属性,如何读取键盘的特定键,如何建立一个目录等,这些都与程序运行的平台(操作系统) 有紧密的关系。

对这些知识了解得越多,就越能编写出高效、简洁的C/C++语言程序。如果要编写一个大规模的程序,还需要具备设计模式的知识。

除此之外,大中型的程序一般都是混合利用多种语言来开发的。这样就可以充分发挥各种语言的优点。例如,为了得到更好的界面,一般都会采用C#和Java进行开发,而核心的算法和靠近硬件的部分则需要采用C/C++语言编写。

要想真正融会贯通,一定要知道一些C++与其他语言混合开发的知识,例如C++/CLI, 或者是COM组件的知识。

C++的强大是众所周知的,但也是出了名的难学。能够给开发者极高自由度的编程语言,学习门槛往往也不低。

以上就是本次分享的全部内容,想学习更多C++技巧,欢迎持续关注六星云课堂!


六星云课堂:C++ 20发布后,又重获程序员青睐了!的评论 (共 条)

分享到微博请遵守国家法律