找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 82830|回复: 0

她,号称世上最难的编程语言,没有之一,猜猜是什么语言? ...

[复制链接]

该用户从未签到

发表于 2020-9-20 10:47:55 | 显示全部楼层 |阅读模式

您需要 登录 才可以下载或查看,没有账号?立即注册

×
本文是【计算机语言故事的系列文章】的第2篇,共计内容2504字,阅读完本文章大概需要3分钟。

                               
登录/注册后可看大图

在前面文章中提到“从创始人头发浓密度来定编程语言难易程度!”,文章内容虽更多的是有娱乐嫌疑。也是从创始人头发浓密度来编排计算机语言排名第2位的是:

                               
登录/注册后可看大图

通过上述简要提示,相信你能很快得出答案,号称世上最难的编程语言就是C++。是的,你没猜错!那么这个计算机语言的背后有哪些故事呢?首先,必须美女来此镇楼:

                               
登录/注册后可看大图

(1)C++语言目前排名
截止发布本文章时间,C++在计算机语言排行榜中排名为第4,如下:

                               
登录/注册后可看大图

不仅如此,其实C++自诞生起,就长期霸占语言排行榜!以下是近些年计算机语言排名变化情况,如下:

                               
登录/注册后可看大图

如果你在程序界问某程序员:“哪个编程语言你觉得最难??”那么,你会得到同一个答案:当然是C++。那么,最难的C++为何能长期霸占计算机语言排行榜呢?下面一起来了解C++背后的故事吧!!
(2)C++难,到底难在哪?
对于“C++难”的问题,我们从两个角度简要分析。

                               
登录/注册后可看大图

其一:从普通语法使用上来说,C++确实难。此处我们通过C语言、Java、Python、C++在使用上的几个例子来说明。
①在普通使用上,定义常量时:

                               
登录/注册后可看大图

②在普通使用上,指针 vs 引用时:

                               
登录/注册后可看大图

③在普通使用上,多态:

                               
登录/注册后可看大图

综上所述,C++是最难自学的。相比较而言,C语言好比一个普通人在世界里探险,一旦遇到坑掉下去就没救了;而Java语言相当于给人插上翅膀后让人可以在更安全的天空上飞翔,且为了保障安全,会限制翅膀飞行速度,同时还把一些阻碍飞行的细枝末节都剔除掉,用以防止人往危险的地方降落落;C++语言不仅插了翅膀,还是好几对高性能的翅膀,也没有任何保护措施,也不阻止你继续在地上走,然后还在不断往你身上加一些起落架、火箭喷射器、立体机动装置等等之类的意义不明的东西……难度可想而知。
其二:从硬件角度上来说,C++简直太难了。
相对其他语言,C++语言简直是难了好几个量级,首先在于语言的目标:①足够的接近底层,从而追求极致的性能操控;②支持多范式编程,来管理不同维度的复杂性。
C++语言对硬件操控的追求,也是其他语言所不能及的。其他绝大多数编程语言(比如Java、C#、Swift……)设计目标都是通过足够的抽象方式让程序员集中精力在业务上,而不用依赖机器硬件。因此,对于大多数非C++程序员而言,程序写多了,就忘了电脑操作系统是啥了。但C++语言,程序员写完程序后必须回到操作系统层面进行深入理解,例如内存、CPU、GPU、缓存、硬盘、IO输入输出……不一而足,这也是我们常常说C++是一门系统级别的编程语言,这确实不为过。
到底C++难不难,我相信可以从开发者薪资来进行侧面反映,几乎可以看到C++开发工程师薪资普遍在1.5W/月起,待遇这一块还是非常可观的。以下是截取至某招聘网的C++岗位招聘信息:

                               
登录/注册后可看大图

(3)发展历史
“C++语言之父”本贾尼·斯特劳斯特卢普(Bjarne Stroustrup,1950年6月11日-),是丹麦人,计算机科学家,在德克萨斯A&M大学担任计算机科学的主席教授。他最著名的贡献就是开发了C++程序设计语言,C++也称为类C语言。

                               
登录/注册后可看大图

1982年,美国AT&T公司贝尔实验室的本贾尼博士在C语言的基础上引入并扩充了面向对象的概念,发明了—种新的程序语言。为了表达该语言与C语言的渊源关系,它被命名为C++。
自C++诞生后,C++语言历经了不断地完善,并于1998年,成为了国际标准(ISO)。目前,C++语言已成为使用最广泛的面向对象程序设计语言之一。
C++语言是以C语言为基础的,支持C语言的所有语法和几乎所有的技术,因此也有人把C++语言看作是C语言的超集。同时C++语言支持面向对象程序设计方法的所有概念,它是一种非常实用的、功能极为强大的程序语言,相对而言较难掌握。
C++语言在计算机语言占有量上一直处于较为稳定的存在,如下是C++近年来市场份额变化情况:

                               
登录/注册后可看大图

(4)应用场景
许多初学者在粗略了解了C++语言后,就对其产生了极大的学习兴趣,可即便学习了,也并不是非常清晰地知道学习C++后可以从事的哪些行业,以及C++软件主要集中在哪些领域,其实,C++大体有下面这些应用领域:
①服务器端开发:很多游戏、科技或互联网公司的后台服务器程序都是基于C++语言开发的,而且大部分是在Linux操作系统上运行的,所以说,如果想从事这方面的工作,则要熟悉Linux操作系统及其在上面的开发等。

                               
登录/注册后可看大图

②游戏:目前,很多游戏客户端都是基于C++开发的,除了一些网页游戏可能不是,这个领域需要学习的东西就比较多,例如计算机图形、多媒体处理等。

                               
登录/注册后可看大图

③虚拟现实:这个领域一直在向前发展,目前VR眼镜比较火,所以这个虚拟现实应用领域需要大量基于C++开发的研发人员。
④数字图像处理:这个领域侧重于图像处理,比如像AutoCAD的系统开发、OpenCV的计算机及其视觉识别等等,都需要深入学习C++。
⑤科学计算:在科学计算领域,FORTRAN是使用最多的语言之一,当然随着这些年Python的超级热门,已经有批量Python程序员从事科学计算工作。但是近年来,C++凭借先进的数值计算库、泛型编程等优势在这一领域也应用颇多。
⑥网络软件:C++拥有很多成熟的用于网络通信的库,其中最具有代表性的是跨平台的、重量级的ACE库,该库可以说是C++语言最重要的成果之一,在许多重要的企业、部门甚至是军方都有应用。比如Google的Chrome浏览器,就是使用C++开发。
⑦操作系统、嵌入式系统:在该领域,C语言是主要使用的编程语言,但是C++凭借其对C语言的良好兼容性,以及面向对象性质,因此,C++也开始在该领域崭露头角。
此外,分布式应用、设备驱动程序、移动(手持)设备等等与硬件相关的领域,几乎都离不开C++。

                               
登录/注册后可看大图

又到文末咯!!在此说明,C++那么难,小编认为,也就只有图片中的美女才能配得上C++开发工程师了吧。
C++开发者们,你们觉得C++难吗?或者说,你们女票或老婆有那么漂亮吗?欢迎留言评论。同时,给我点个关注呗,不要钱的那种!
回复

使用道具 举报

网站地图|页面地图|Archiver|手机版|小黑屋|找资源 |网站地图

GMT+8, 2025-3-13 05:06

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

快速回复 返回顶部 返回列表