c++是在c语言的基础上演变来的,那为何c++没有代替c语言呢?不同的专业有的学c++有的学c语言,为什么不都学c++呢?:为何C++没有替代C语言?C++和C语言的关系C++
为何C++没有替代C语言?
C++确实是在C语言的基础上演变而来。确切说,是在原始的C,即K&R C的基础上演变而来的。和现代的C99,C11,C18之间是分支关系。
要明确一点:C++并非C语言的继承者。
从C语言演变出许多其它语言,关系很近的除了C++,还有Objective C(就是苹果大力使用的那种语言)。其它的如D,Go等语言也深受C的影响。
需要说明的是:即使C语言需要继承者,C++并非唯一候选人。
C++是在OOP理念流行时,针对C不能原生支持OOP的问题而推出的改良品种,刚开始只是一套预处理标准,后来则发展成了另一种语言。
C++并不孤单,Objective C几乎与其同时诞生(80年代初期)。
由于性能优势(相对于Objective C),C++在竞争中压倒了Objective C,流行了起来。
C语言是为操作系统级底层开发而设计的。在实践中,C语言在这一领域长期处于统治地位。
相对于C++,C语言不包含那些针对大型应用级程序所增加的复杂性,这也带来了一些优势,比如:
其实C语言从来就不是功能特别多的一种语言。比C语言更古老的ALGOL系列语言功能和语法特性都远超C语言。C语言本身就是精简功能的产物。是做减法、而不是做加法的产物。
如果有一种语言能完全替代C,那这种语言一定要在C语言的主场,即操作系统级底层开发领域超越C语言。这种语言一定是减法做得好的语言。C++不是这种语言,至于哪种语言能达成此目标?且让我们拭目以待吧。
C++发展历史简单介绍
C语言之所以要起名为“C”,是因为它是主要参考那个时候的一门叫B的语言,它的设计者认为C语言是B语言的进步,所以就起名为C语言;但是B语言并不是因为之前还有个A语言,而是B语言的作者为了纪念他的妻子,他的妻子名字的第一个字母是B; 当C语言发展到顶峰的时刻,出现了一个版本叫C with Class,那就是C++最早的版本,在C语言中增加class关键字和类,那个时候有很多版本的C都希望在C语言中增加类的概念;后来C标准委员会决定为这个版本的C起个新的名字,那个时候征集了很多种名字,最后采纳了其中一个人的意见,以C语言中的++运算符来体现它是C语言的进步,所以就叫C++,也成立了C++标准委员会;
美国AT&T贝尔实验室的本贾尼·斯特劳斯特卢普(Bjarne Stroustrup)博士在20世纪80年代初期发明并实现了C++(最初这种语言被称作“C with Classes”)。一开始C++是作为C语言的增强版出现的,从给C语言增加类开始,不断的增加新特性。虚函数(virtual function)、运算符重载(operator overloading)、多重继承(multiple inheritance)、模板(template)、异常(exception)、RTTI、命名空间(name space)逐渐被加入标准。1998年国际标准组织(ISO)颁布了C++程序设计语言的国际标准ISO/IEC 1488-1998。C++是具有国际标准的编程语言,通常称作ANSI/ISO C++。1998年是C++标准委员会成立的第一年,以后每5年视实际需要更新一次标准,下一次标准更新将是在2009年,目前我们一般称该标准C++0x。遗憾的是,由于C++语言过于复杂,以及他经历了长年的演变,直到现在(2009年)只有Visual C++ 2010 CTP开发环境的编译器完全符合这个标准。
另外,就目前学习C++而言,可以认为他是一门独立的语言;他并不依赖C语言,我们可以完全不学C语言,而直接学习C++。根据《C++编程思想》(Thinking in C++)一书所评述的,C++与C的效率往往相差在正负5%之间。所以有人认为在大多数场合C++ 完全可以取代C语言(然而我们在单片机等需要谨慎利用空间、直接操作硬件的地方还是要使用C语言)。
你好,我是比特币二师兄。
1、首先,大学肯定教的都是大众性,即普遍程度很高的东西,C语言相对C++而言,就比较普遍,因为大家基本上都会一些C语言相关的基础。
2、大学只是给你打了一个基础,为了让你在进入社会公司之后,有一个逻辑上的思维,好进行培训,以及打磨,适合本公司的研发方向的人才。
3、C++是面向对象思维的,一般而言,初学者学习时,对于面向对象而言还是比较难理解的,因此大部分学校都会教C语言,而不是C++。
4、C++语言来说,相对复杂一些,类的继承,封装、多态等都是比较复杂的概念,这些对初学者来说并不友好。
5、相较于C++语言而言,C语言具有更强的灵活性,更快的运行速度,并且适用于底层编程,比如嵌入式开发等等。像Linux系统,基本上都是纯C语言开发完成的。
对于编程功底强大的人,C语言就是其首选的编程语言。
各有各的用处。不能说因为有了??,??就没用了。电灯蜡烛各有所爱。
比如嵌入开发,C语言就轻便灵活。
另外,Cpp也不是C基础上发展起来的,只是部分语法延续,它们是两种语言体系。
虽然说C++是在C语言的基础上演变而来的,C++是面向对象的,C语言是面向过程的,每个语言都有各自适用的场景,可以这么说,无论用什么语言来开发,都只是我们实现功能的一个工具而已,关键是掌握他,并且学精了;
c++更多的是一些游戏,服务器端的开发,C语言呢更多的是底层操作系统的开发;
以前学习C语言的时候看的是如鹏网的视频教程——《C语言也能干大事》系列,蛮有意思的,通过开发超级玛丽,飞机大战等经典小游戏,开发网站的方式来讲解C语言的知识点,挺好玩的,没想到C语言还可以这么学,没想到C语言还可以写出这么漂亮的界面程序,蛮有成就感的,具体的可以到如鹏网官网上去了解一下;
C++ 是 C 的超集,C只有少量功能 C++是 不支持。C一般都用于嵌入式还有一些精简的库,而C++一般都用来写大型的项目,从底层到用户界面,它都可以写。
其实并不是取代和不取代的问题,因为这两种语言目前都有适用的地方和平台。
用法也是因人而异,一般来说你会C++那么肯定也就会C了,其实C++的很多语法特性基本是用不到的,但是你如果学会了,会觉得没有什么语言可以难得倒你。
现在最热门的rust和python,这两个将被用来构建下一层次的计算机编程哦。
1、以编程语言发展历程上讲,是先有C语言,后才有C++语言。基于C语言的语法,最大的好处是让广大C语言程序员过渡到C++语言。这点在当时是取得很大成功的。实例是当时也出现过多种面向对象的编程语言,但现在大家熟悉的只有C++。
2、从使用C++语言的角度讲,精通C++语言的前提是精通C语言。C++语言的强大之处是进行大型程序的构架,即框架类与类之间的关系,对象与对象之间的关系。但具体落实到功能的实现,还是体现在C语言上,即一个一个函数的实现细节上。因此,说精通C++而不会C语言的人,是从来没有真正做的实际项目的人吹吹而以。
3、C++语言比Java和C#语言难学的原因在于:学习C++语言,要尽可能的了解C++编译器相关的知识。因为在当时的硬件条件下,为了尽可能的提高程序的运行效率,将一些本来可以放在运行时解决的功能,全部放在编译过程中解决了。因此,在了解编程语言本身的情况下,要多了解C++编程器相关的知识,才能更好地理解C++编程语言。
同学,作为一个工科毕业生,我在学习C语言的时候就感觉要比C++好学一点,虽然C++=C+1,C++是在C基础之上发展而来,增加许多C没有的语句,但绝对不是简单的堆叠,我觉得应该是分道扬镳,自立一派了,应运在别的方向了。打个比方HUAWEI mate 30 和HUAWEI mate 30 Pro,是不是有了mate 30 Pro就不卖mate 30 了,显然不是嘛,mate 30还有很大的市场份额,我也会买。所以说:
1、C语言是面向过程的,而C++是面向对象的。
2、C语言有标准的函数库,它们松散的,只是把功能相同的函数放在一个头文件中;而C++对于大多数的函数都是有集成的很紧密,特别是C语言中没有的C++中的API是对Window系统的大多数API有机的组合,是一个集体。
3、C语言中的图形处理函数基本上不能用在C++中的。C语言标准中不包括图形处理。
呃,C语言可以应运在单片机、Linux底层编程,C++不能,我知道的就这么多了,所以不能取代,承让承让,谢谢。
c++是完全包含c的,谈什么替换。c++语法细节太多,上手较难。如果只用c语法写c++代码,那效率基本是一致的。但没人这么干,毕竟c++最重要的是面向对象和模板编程
c是面向过程
c++是面向对象
华裔女赌王就此没落,生前让所有 浓情端午粽飘香,青浦邀你“云体 上海:“云端”展现端午节文化内 “甜咸大战”!明星艺人们喜欢什 如何做一个男人喜欢的情人(如何 当你和你同时出现在同一个场景中 如何在昏暗的光线下设置快门速度 教育在生活中的价值是什么? 世上做坏事的人死后会面临什么因 拜登就任总统后的第一步是什么? 同意/不同意:人生最重要的目标 二战后,德国在调和分歧方面做得 亚伯·林肯恨白人吗? 一个编辑能把你的故事毁得有多严 现在的iPhone6还能坚持再用一年 曹操为什么不杀司马懿? 现在买房是不是最便宜的时候,现 我身边的农业银行营业厅关了,AT 欧洲媒体评选CBA最有实力球员, 荣耀play的6+128和荣耀8X的6+128 蚂蚁集团是科技公司还是金融公司 请问机友华为mate30P与华为mate3 听说老詹修剪一次指甲需要5小时 为什么说宝宝“一月睡二月哭三月 戴笠人称戴老板,这个是怎么叫出 没有工作能一次性补缴社保么? 我想知道定向师范生和免费师范生 肺癌引起的咳嗽是怎样的呢? 5000mAh电池的5G手机推荐吗?要 恒大亚冠表现“差强人意”,你觉