最垃圾的编程语言
为什么很多人觉得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++98,C++03等。而且变动很大,这就导致你好不容易对一个标准熟悉了,当新的标准出来时你不得不重新再学一遍。这在一定程度上增加了学习的成本。
第四依然与C++开发的场景有关。对于C++而言,由于更偏近底层,因此大多数开发场景都是对程序的性能有着极致追求的,这就要求开发者对数据结构和算法有着比较高的造诣,这样才能将性能不断优化。
中国人编程多数是用别人写好了的架构或类库,底层的一概不知,快速完成老板交代的任务就行。优秀的程序员都是用或会用C/C++编写自己的代码,像TensorFlow,PyTorch等库那个不是用C++写的?
从事嵌入式开发多年,有三种语言玩的比较多C/C++ java,从编程语言的难度来讲C++是最难得,而且也是最难入门的编程语言,很多编程老手都是这个结论,为什么C++是最难学的编程语言,虽然难学但还是很多编程老手喜欢研究它,更是很多架构师的最爱。
现在以个人的观点讲述为什么C++是最难的编程语言,其实在C++基础语法部门看不出这门编程语言有多难,难在泛型编程和面向对象的特性展示,几乎每个知识点都附带着很多细节点,而且更加要命的是C++语法规则还在不停的延伸,几乎长期玩C++都有一种通病总是觉得这门语言学不完,就连C++的创始人都说自己有时候都看不懂这门编程语言了,linux的创始人对于这门编程语言成见也非常大,有点故弄玄虚的感觉。
如果单纯从学校的理论角度去学习这门编程语言其实看不出有多难,因为基础语法的学习掺杂的东西就比较少,很多在学校学过这种语言的大学生觉得自己的基础应该还可以结果真正开始做项目的时候傻眼了,原来还有这么多自己不懂的语法[_a***_],只靠那点皮毛根本解决不了问题,所以要想学好这门编程语言首先要做好充分的心理准备,起码几个月的时间在迷糊期度过。至于具备什么条件才能学好C++,这种没有定论很多大学生在学校自学了C++,还没毕业就通过网络途径找到工作了,所以编程语言的学习从来都不是固定的。
在网络上认识一个大学生,本身对编程很感兴趣,特别是对C++感兴趣,完全靠着一腔热血把这门语言给学好了,并且不断拓展知识面,有关C++的书籍研究了不下五本,并且借着这种势头还不断通过看书拓展自己编程基本功,还没毕业去找工作就成了抢手货,所以不要给自己设置界限,不一定非要参加培训通过自身的努力也一定可以。由于经常在网上写点东西,遇到一些大学生经常写技术文章,开始的时候不会写,后来坚持的时间长了越写越有感觉,再加上网络信息非常发达,有一些猎头或者技术高手在网络上发现有可塑的人才也会主动联系,所以很多大学生还没出校门就把自己的工作给搞定了,不要轻易否定自己。
学好了C++能够做点什么?
游戏开发,大数据和服务器方面开发,网络开发,嵌入式开发等,现在很多主流的客户端都是用C++完成的,安卓内核框架和谷歌浏览器绝大部分代码都是C++完成,不用担心这门编程语言不行了之类的鬼话,由于这门语言相对比较难入门起来相对费劲。
难也只是相对的,只要觉得感兴趣就去全力去学,学的时候不要考虑是不是能找到合适的工作,编程要能学好必须能下功夫,软件开发讲究的水到渠成,功夫到位了自然就能做项目了。
希望能帮到你。
[免责声明]本文来源于网络,不代表本站立场,如转载内容涉及版权等问题,请联系邮箱:83115484@qq.com,我们会予以删除相关文章,保证您的权利。转载请注明出处:http://www.wnpsw.com/post/15380.html