编程小新
至于为什么要学习C++,本菜不想卷入各大派别的纷争,只是简单地来聊聊学对于C++的看法,首先来看看2017年3月份计算机语言的排行榜,可以看到C++在前三占有一席,如果心细的朋友会发现,C/C++语言这几年,基本都会位列前三,而且各大企业的招聘需求,基本都会要求熟练使用C++,这个随便查查招聘网站就知道了。业内广为流传的一句话说的好:"汇编生C,C生C++,C++生万物"!
现在来聊聊软件开发的古今,很久之前,工程师都是用汇编语言去开发项目,那个时候的软件产品相对于现在的产品来说,功能结构等会比当今的软件产品要单一的多,但是随着技术的革新,人们对生活的追求不断发展(咳咳,扯远了。。),用户对产品的需求,也变得越来越多元化,而不单单是功能的实现,那么,这样就会导致代码量越来越大,而使用汇编语言,无论是开发还是后期维护,难度都会越来越大,于是慢慢的慢慢的,C语言就诞生了(也可以说是被迫诞生的吧,哈哈哈),可想而知,C语言诞生到成熟的过程,是不断实践改进的过程,所以多少会有些残缺,相信很多C开发者踩过不少C语言的坑!
那么C语言在开发中存在哪些缺陷?我们知道C语言是面向过程的语言,这就确定了用C语言解决问题是按步骤来的,具体来说就是各个处理问题的步骤封装成函数,然后调用函数去解决问题。那么这样就导致了C开发的软件代码,可重用性与可维护性比较差。
艺术来源于生活,同样,程序设计也会朝着我们的生活的方向而慢慢演变,会变得更加贴近人生活习性,这就促使面向对象编程语言的诞生,面向对象程序设计的特点很明显:
1、直接分析用户需求中涉及的各个实体
2、在代码中描述现实世界中的实体
3、在代码中关联各个实体协同工作解决问题
优势相对于面向过程的设计方法,也很明显:
1、构建的软件能够适应用户需求的不断变化
2、直接利用面向过程方法的优势而避开其劣势
既然面向对象的程序设计方法能如此优美的解决面向过程的缺陷,那么就急需要开发一门面向对象的编程语言,这门新的面向对象又要能同时兼容已经存在的代码,如此一来,C++应运而生!C++的诞生是为了解决C语言的缺陷,同时兼容C语言,可以说是加强版的C语言,所以,C++与C并不存在竞争关系,反而在弥补C语言的不足并兼容C语言之外,还能是我们的开发工作变得很愉快,同时能学到更多的软件设计方法,何乐而不为!
从上图,你应该能体会到"汇编生C,C生C++,C++生万物"这句话所表达的意思了吧!没错,我们所熟知的java、C#等热门编程语言,本质上来说,可以归为"类C++语言",都是基于C++语言的基础上提炼出更简洁、更纯粹的面向对象编程语言。
让我们来看一张现代软件产品的架构图:
总结:
1、C++是一种更强大的C,通过学习C++能够掌握更多的软件设计方法
2、C++是Java/C#/D等现代开发语言的基础,学习C++后能够快速的学习并掌握这些语言
3、C++是各大知名软件企业挑选人才的标准之一
来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/4822/viewspace-3170854/ ,如需转载,请注明出处,否则将追究法律责任。