您现在的位置: 首页 > 网站导航收录 > 百科知识百科知识
学C语言好,还是学C++好呢?这两个专业在哪些领域用得最多?
语言,编程语言,都是学C语言好,还是学C++好呢?这两个专业在哪些领域用得最多?
发布时间:2020-12-06加入收藏来源:互联网点击:
问题补充: 想专精一门语言,首选C/C++,到底是学C好,还是学C++好呢?前景更好呢?最好是分开来说。
回答于 2019-09-11 08:43:50
回答于 2019-09-11 08:43:50
首先要明确一点,C和C++是不同的东西,很多回答都认为它们是一体的,是严重误导初学者。它们遵循不同的标准体系,运用领域不同,编程思想不同,仅仅是部分语法相似而已。
一些回答说C++比C更高端,更有前途的,那更加是是胡说八道,误人子弟了,这两种语言应用领域不同,不存在谁更高端,谁更有前途的说法,要讲高端,前途,开发效率,一些新兴的语言更合适。
C语言适用于嵌入式,操作系统,硬件驱动,高性能网络服务器(nginx,Redis等)等软件的编写,相对C++而言更加偏向底层,适用于变化不大,稳定性要求高的场合。C语言语法简单,入门相对容易,学好C语言有助于对计算机体系的理解。C语言本身缺乏类似C++的STL的标准库,每个项目,不同数据类型要单独实现一套数据结构和算法,这方面不如C++灵活,高效。但一些人说C语言不适合开发大型软件,开发效率不如C++,这些都是严重误导新人的,C语言在积累了通用数据结构和算法或直接采用优秀的第三方库之后,开发效率和C++差别不大。像操作系统,数据库这种大型基础软件用C语言开发的不在少数,C语言怎么就不适合大型软件了?影响大型软件开发主要是管理,而非语言,设计不合理的C++代码的腐败速度会比C语言慢么?
C++适合游戏,界面,数据库的编写,偏向应用层。C++是程序员两级分化最严重的语言,也是从入门到放弃人数最多的语言。优秀的C++程序员可以写出很漂亮的代码,普通的很容易写出狗屎,滥用语言特性,尤其那些认为C语言和C++差不多的人,C++标准更新得比C语言快很多,引入的新特性也很多,有C语言基础对学C++唯一的好处就是会一些非常基础的语法,其他高级语言特性,设计模式,标准库,统统要从头学起。C语言有师傅带,三年成材,C++有师傅带,五年未必成得了材。自学?两种语言都必须自己有天赋和悟性才行,两种语言都比较难。都是属于学习难,做东西更难,精通难上加难的典型。
人生苦短,C++我是不推荐的(除非工作不得不用),C语言可以学习下,但别指望短时间内做出有用的东西,语言了解的语法之后,还要掌握编程环境,熟悉这种语言编程思想,大量阅读优秀的源代码。
建议了解下新兴的语言,golang,rust,swift等,有余力就多学几门,挑选下适合自己语言和方向。
回答于 2019-09-11 08:43:50
c语言和c++这两种语言虽说看着差不多,但实际上应用领域还是差别比较大的,也不能简单的说哪个更好。
编程语言有很多种,目的就是要让机器或者是设备“理解”我们的意图,执行相应的动作。最底层的是机器语言,就是二进制编码,机器只能读懂二进制编码。在上一层就是汇编语言,c语言等,属于低级语言。再上一层就是c,c++,c#,java等,都属于高级语言。低级语言是可以转成二进制编码的,而高级语言只能通过低级语言才能变成二进制编码。高级语言编写的都是应用程序,而低级语言编写的是底层程序。
这样对比后,我们了解到c语言既可以编应用程序,也可以编写底层程序。而c++只能编写应用程序。并且c语言编写应用程序明显不如c++方便,所以基本上没有人用c语言编写应用程序。
目前c语言主要应用于嵌入式开发,各种单片机的底层程序都是c语言编写的,并且c语言的跨平台非常好用,兼容性很好。学好c语言之后,主流单片机的编程都不成问题。并且verliog和c语言相似度很高,之后学习会变的很轻松,fpga开发会容易很多。
c++语言主要编写应用程序,上位机软件。和c语言的侧重领域不同。
所以这两种语言不能说哪个更好,只能说哪个更适合你。如果是做嵌入式底层开发,那就必须是c语言了。如果是做程序设计,可以选择c++学习。如果说还没有方向,那就先学习c语言。相对于c++,c语言更容易一些,并且目前有很多语言和c语言的相似度很高,之后学习其他语言也比较容易。
学习c语言推荐这本书
回答于 2019-09-11 08:43:50
从事嵌入式开发十几年,基本上围绕着这两种编程语言展开,都可以直接操作底层的编程语言,用的越熟练越是感觉工具属性越强。虽然两种编程语言分属于不同的编程思想,用的时间长了觉得差异也不是很大,现在就个人的从业经历,讲述下两种编程语言的差异和共同之处。
现在已经很多人觉得c语言过时了,因为从招聘的需求看要求JAVA的明显居多,Python现在基本上雷声大雨点小还成不了气候,现在很多主流的客户端框架还是C语言和C++的天下,毕竟性能是谁也绕不过去的事情,从就业的绝对数量上两种的数量并不低,但是入门的门槛提升了,简单学点很难找到工作,而且一旦找到合适的工作,工资水平并不低,所以很多人觉得这两种编程语言过时了主要是初学者喊出来的,初学的人总想找个好学编程语言,由于入门难度高加上相对就业机会少,少并不是代表着不重要,但凡有点编程经验的人都会觉得这两种编程语言极其重要。
这两种编程语言有什么区别,相对来讲C语言简单一点,C语言属于面向过程的语言,非常符合编程的思想,基本上功能可以直线化陈述,C语言语法细节不是很多但组合非常灵活,曾经在刚学C语言的时候学了一个月就膨胀了觉得什么C语言的代码都能搞定了,结果去图书馆借了一本Linux内核的书籍去学习看了100多页就彻底放弃了,理论和实践差异太大了,所以不要觉得C语言好学但在实际使用过程中,不真实做过项目永远不要轻易下结论是不是真的掌握了。
C++属于比较难得编程语言,也是个人觉得最难得编程语言,主要是语法细节繁多而且还在不停的更新,所以很多人在学习之初觉得能够编译通过就是一件非常幸福的事情,这门编程语言的设计理念是尽量在编译环节排除语法细节错误,所以很多人觉得C语言编译就会简单许多,带着警告照样可以编译通过,程序也可以继续执行。这门编程属于面向对象理念,什么事情都离不开对象和类,核心思想是多态,继承,封装,看着很简单真要在实践中掌握明白,不经过项目的洗礼基本不可能的事情。
上一篇:动车站过安检火机已经被没收了,为什么过了安检还有人吸烟?
下一篇:返回列表
相关链接 |
||
网友回复(共有 0 条回复) |