C/c++学习之道程序员

有一种编程语言永远不敢说精通

2018-03-08  本文已影响269人  小辰带你看世界

C语言是面向过程的,而C++是面向对象的

C和C++的区别:

C是一个结构化语言,它的重点在于算法和数据结构。C程序的设计首要考虑的是如何通过一个过程,对输入(或环境条件)进行运算处理得到输出(或实现过程(事务)控制)。

C++,首要考虑的是如何构造一个对象模型,让这个模型能够契合与之对应的问题域,这样就可以通过获取对象的状态信息得到输出或实现过程(事务)控制。 所以C与C++的最大区别在于它们的用于解决问题的思想方法不一样。之所以说C++比C更先进,是因为“ 设计这个概念已经被融入到C++之中 ”。

C与C++的最大区别:在于它们的用于解决问题的思想方法不一样。之所以说C++比C更先进,是因为“ 设计这个概念已经被融入到C++之中 ”,而就语言本身而言,在C中更多的是算法的概念。那么是不是C就不重要了,错!算法是程序设计的基础,好的设计如果没有好的算法,一样不行。而且,“C加上好的设计”也能写出非常好的东西。

如果提到一种语言,可能说这辈子都不敢说精通,有相当数量的人辉选择c++,看看大家如何评述c++,

用了两年的c++,转学别的语言发现从未有过的轻松感。

c++这门语言比较特殊,是大家公认的人类不能精通的一门语言,如果精通了基本确定这人是非人类了。

从大一就开始学,毕业十几年了还是在学,还是有很多不会。

还没毕业写简历写着精通C++,工作了好多年之后,简历中写着熟悉C++

C++到底有多难惹得大家这么惧怕,为啥这么多人觉得学不会C++

记得有人说过这么一句话,要学会C++几乎相当于学会了好几种语言,C语言,OOP,STL等,每一个都够你学上几年。

小编推荐一个学C语言/C++的学习裙【 六九九,四七零,五九六 】,无论你是大牛还是小白,是想转行还是想入行都可以来了解一起进步一起学习!裙内有开发工具,很多干货和技术资料分享!

c++语法细节繁多,特别是编译的过程

c++为了增加运行过程的安全性,严格控制编译的每个技术细节,这下可是苦了,入门的或者技术底子不厚的程序员,每一次重构模块或者大的模块升级,简直就是经历一次噩梦。重构了几百个函数,基本上能产生上万个编译错误,笔者曾经用chromium的javascript的引擎V8代码直接对接网页播放器,为了提高性能用c++层面对接,在一次升级中,发现V8中的基础接口都能大规模的变动,50多个函数需要重构,整整一天一动没动才编译过,晚上做地铁回家直接倒床就睡一觉到天亮。这就是c++经常带来折磨。

每次经历这种事情之后都会觉得C++还需要继续提升,就会拿出c++的泛型编程以及类库的实现重温一遍。还发现一个现象,在开源项目中只要是C++写的代码,重构的概率会特别高,同样是一个代码模块这次拿下代码研究的时候是这么实现的,没过几天梳理代码的时候发现实现方式又有写的变化,看明白了发现功能基本一致,实现的模式却不尽相同。google的工程师这种事情干的太多了,研究过chromiun源码的小伙伴估计会有这种印象。

小编推荐一个学C语言/C++的学习裙【 六九九,四七零,五九六 】,无论你是大牛还是小白,是想转行还是想入行都可以来了解一起进步一起学习!裙内有开发工具,很多干货和技术资料分享!

c++中的编程思想框架组合极多

c++的版本还在不断的更新,每次更新都会带来大量的新鲜玩意,当你还没适应完上一个版本的规则的时候新的版本又会带给你新的冲击。c++中泛型编程变幻无穷,为了防止内存泄露用上的类模板,消耗的心思都快赶上自己去管理内存了。所以造成一种感觉在写代码的时候,永远觉得还会有更好的实现方式,所以在重构次数最多的编程语言中,c++频率是最高的,在这种痛苦的折磨中会产生难以割舍的感情。

做的时间越长,越是觉得这门语言的博大精深,越是觉得自己掌握的浅薄。笔者前几天查看了实际编程语言排行榜,发现c++稳居前三,不能只看到国内的排行榜,放眼全球c++在编码界还是不折不扣的强势语言,更多是在底层搭建框架,我们大家现在使用的安卓手机的框架层很大一部分是c++实现,很多软件的底层框架都是c++来担当。

小编推荐一个学C语言/C++的学习裙【 六九九,四七零,五九六 】,无论你是大牛还是小白,是想转行还是想入行都可以来了解一起进步一起学习!裙内有开发工具,很多干货和技术资料分享!

为什么还是有那么多人喜欢用c++?

目前世面上恐怕没有一种语言,执行效率高同时又具备丰富的编程框架。正是这两种特性,所以大多数的底层框架设计c++是不二人选,其实c++语言本身暗合了优秀程序员自身很多特质,优秀的程序员都喜欢不断尝试更优的程序,会不断的重构自己的代码,而c++自带这么多的组合,不得不在写完代码之后回过头来看看还有没有更好的方法。优秀的程序员还会喜欢迎接挑战,c++提供了最优的平台,在这种相爱相恨中,变得更加紧密。

很多的架构师都对c++语言爱不释手,喜欢拿C++里面的思想来磨练自身的基本功,做的时间越长越觉得神圣。所以很多高手一般都不建议入门语言选择c++,可能直接把很多优秀的编程苗子挡在大门之外。

痛并爱着,可能是最高的编程境界了。

这些是C/C++能做的

服务器开发工程师、人工智能、云计算工程师、信息安全(黑客反黑客)、大数据 、数据平台、嵌入式工程师、流媒体服务器、数据控解、图像处理、音频视频开发工程师、游戏服务器、分布式系统、游戏辅助等

欢迎加入一起玩转编程

上一篇下一篇

猜你喜欢

热点阅读