时间:2022-10-09 18:01:55 | 浏览:335
C++在诞生之处,赢得了很多了口碑,但是随着编程大众化,以及编程语言的简单化趋势的发展,这门语言很多的弊端表现的越来越明显,特别让初学者选择c++作为初级入门语言,整体来说还是偏难。里面涉及到的语法规则太繁琐了,严格意义来说c++不适合做入门语言,但是目前大型的客户端软件框架使用c++作为基础开发语言还不在少数,根本原因又是啥?
是什么导致让c++让这么多程序员用起来不爽,不停的吐糟?
(1).先看历史方面的原因,c++是在c语言基础上面拓展出来的,另外的一套的不同的编程思想(面向对象)但是c++里面为了兼容C语言做了大量怪异的语法,使用的适合陷阱的确优点大,其实java的诞生也c++也是起到了一定的助推作用,c++语言虽然实现了面向对象的概念,但是保留了c语言里面太多的东西,还没有摆脱底层语言的痕迹,使用者还是需要关心指针的释放以及申请,开发者付出的成本还是偏高。
(2).繁杂的语法点,而且新的标准还在变化延伸,举个简单的例子隐式的转化,以及编译错误的处理,让很多初学者都晕菜,太多的语法细节让初学者在学习的时候,产生太多的疑惑,想差不多掌握这门语言,必须经历几次真正的项目的考验,才会对这个语言有点相对透彻的认识,基本要搞懂一个知识点需要付出比别的高级语言花费更多点的精力。
(3).类库的不完善,很多人都说,觉得c语言用的不舒服可以用高手写的类库,但是目前c++开源体系里面类库使用的适合参差不齐,给使用者带来了太多的使用成本,举个简单的例子很多stl模板里面的库函数的实现不支持多线程,就这一点让很多使用c++的编码者觉得使用起来相当的不方便。
列举了以上的几条是不是,难道c++即将被淘汰了?不推荐大家来使用了?
任何一个语言都有其存在的现实意义,一方面存在缺点,也会在另一个方向打开另外一扇门。
(1).c++保留了指针的概念,是最接近c语言的面向对象的语言,所以在执行效率方面比别的面向对象的语言更加高效,同时在兼容c语言,对于已经习惯于c语言开发的小伙伴切入到c++费力气会稍微少一些,而且在保证遵守面向对象概念的同时,还能通过指针直接操作底层的硬件,这就是为什么很多大型的软件框架使用c++的一个根本原因所在,在满足面向对象框架的同时在执行效率或者操作底层硬件方面也有其自身的优势。
(2).都在批判c++语言繁琐,语法混乱,但是同时造就另一个方面,熟悉了这套体系能打造出灵活性极强的框架,这也是为什么很多有经验的c++高手,还是愿意选择c++作为底层框架设计语言,规则再多掌握熟练了,解决问题的速度一样惊人,不建议小白直接选择c++作为入门语言,但是如果具备一定的编程基础了,再去学习使用c++,一样能做出不错的框架。目前流行的安卓底层框架很多都是基于c++搭建而成。
任何语言都有其自身不可替代的优势,不能简单的说行或者不行,只不过出发的角度不一样而已。
如果对编程感兴趣,想了解更多的编程知识,解决编程问题,以及入门指导,帮你解决编程中遇到的困惑,我们这里有java高手,C++/C高手,windows/Linux高手,android/ios高手,请大家关注微信公众号:程序员互动联盟或者coder_online,关注后输入关键字 zx获取编程自学手册
本文属原创,禁止转载,谢谢
汇编语言,在我看来,汇编绝对是最难学习的一门语言。汇编语言为什么难,得从它的特点说起,汇编是一门直接操纵处理器的低级语言,这里说它低级,是相对于高级语言(如C++/Python/Kotlin)之类编程语言而言。学习汇编可以让人更加清楚的了解
首先必须明确:C语言是面向过程的,而C++是面向对象的!C和C++的区别C是一个结构化语言,它的重点在于算法和数据结构。C程序的设计首要考虑的是如何通过一个过程,对输入(或环境条件)进行运算处理得到输出(或实现过程(事务)控制)。C++,首
在大多数开发或者准开发人员的认识中,C/C++ 是一门非常难的编程语言,很多人知道它的强大,但因为认为“难”造成的恐惧让很多人放弃。很多人因为大学的原因接触C语言,却也是为了学习其他编程语言而打下基础,至于C++更是不用说,很多人不会去刻意
先来看看本节知识的结构图吧!接下来我们就逐步来看一下所有的知识点:结构的演化C++中的类是从结构演变而来的, 所以我们可以称C++为”带类的C”.结构发生质的演变C++结构中可以定义函数, 称之为成员函数结构定义格式, 像这样:struct
记者 | 陈晓珍编辑 | 9月7日,猎聘发布的《短视频领域中高端人才招聘解析》(以下简称“报告”)显示,短视频领域新发职位的招聘年薪呈持续增长态势。2021年1-8月短视频新发职位平均招聘年薪为27.02万元,相比于2020年(21.05万
提到我国交通道路中出现的一种“特产”,那就不得不提到“老头乐”。而在与我们隔海相望的“东瀛”,却也推出了类似的产品,而更令人意外的是,这款产品居然来自丰田。这是怎么一回事呢?快和玩车弟一起去看看吧!丰田C+pod,三门双座微型纯电车没错,玩
作者 | Herb Sutter译者 | 弯月,责编 | 屠敏出品 | CSDN(ID:CSDNnews)C++20已全票通过,有望于今年晚些时候发布9月4日,C++ 20的国际标准草案投票结束,而且获得了全票通过。这意味着C++ 20已完
这篇内容是接上篇《借鉴B端思维做用户增长》而写的,之前那篇文章是针对用户生命周期沉默用户阶段来谈用户增长,这篇文章主要针对成长期/成熟期的用户,谈如何用C+B的运营思维搭建积分体系,此外,引入广义积分概念看积分未来的发展趋势。源起首先,要从
C++是C语言的继承,它既可以进行C语言的过程化程序设计,又可以进行以抽象数据类型为特点的基于对象的程序设计,还可以进行以继承和多态为特点的面向对象的程序设计。C++擅长面向对象程序设计的同时,还可以进行基于过程的程序设计,因而C++就适应
如果提到一种语言,可能说这辈子都不敢说精通,有相当数量的人辉选择c++,看看大家如何评述c++,用了两年的c++,转学别的语言发现从未有过的轻松感。c++这门语言比较特殊,是大家公认的人类不能精通的一门语言,如果精通了基本确定这人是非人类了