难到C++语言真的要推出了吗

开发 后端
C++语言应该退出舞台,这既是万事万物的自然规律,也是IT良好发展的征兆。下面对这个问题进行学习研究。。

我想作者的“C++语言已死”的“死”并不是指“消失”的意思,而是指“退出舞台”或“风光不再”的意思。且不从技术的角度进行周密的分析,只从事物的发展规律来看,也应该如此,事实上的确如此。

C++语言发展历史是:ALGOL60->CPL->BCPL->B->C,在这个发展链条中,“操作硬件的方便性”是主要驱动力。可以理解,在那个连操作系统都还刚刚出现的年代,与硬件直接打交道是一门语言是否成功的、非常重要的因素。

不可否认,C在此方面的确有一些长处,比汇编更好理解,对硬件的编程非常直接方便。我是90年开始接触C++语言的,老师(东北大学计算机专业本科生,因89学潮分配到我们那里的一个工厂当推销员,我在读的湖南岳阳一中将他请过来教我们计算机)说,C++语言是目前世界上最好用的语言,我认为“最好用”三字说得很好。

“最好用”是指对当时的编程环境和编程需求而言,IT发展到今天,已经不再是PC的时代,而是浏览器时代(起码有这个明确的方向了)。软件产业的发展就象人类的工业发展一样,已经到了大规模自动化生产的时代,试问当今还有几人在用C++语言写Web应用?C++语言就好象一把锉刀,看似简单,但功能强大,可以锉出你所需要的任何形式的模具,但除了“劳斯莱斯”这样的上千万的车外,谁还会用锉刀手工制作一辆汽车?如果世界都还停留在手工操作年代,工业能够发展现在的水平?已经发展到现在的水平的今天,谁还会用锉刀生产工业产品呢?

其实是有的,锉刀做为人类的生产工具之一在很长一段时间内都不会消失,就象C++语言一样,C++语言还是有其用武之地,但C发挥优势的地方不多,得符合以下条件:定制、开发成本预算高、产品销量大(以减小每个产品的平均软件开发成本)。捻着指头一手,C最好发挥的扬所就在嵌入式了。

再来看看嵌入式这块C的桥头堡。做嵌入式,成本无外乎两方面:平均硬件成本、总体软件开发成本。在目前来看,这两方面是矛盾的。如果采用J2ME或是Windwos CE之类的平台做开发,由于从业门槛的降低使得软件开发成本会大大降低,开发效率会提高很快,但对芯片的性能就提出较高的要求,使得硬件成本大大增加,这种芯片用在现在的微波炉、洗衣机等电器上是很浪费的;#t#

第二种做法当然是降低芯片的成本,但对芯片的编程就要更苛刻,JVM、CLR之类的东西显然是不能整个搬了,只能从硬件驱动写起,自己来完成所需要的所有功能(非常象用锉刀进行手工制作),硬件成本是大大除低了,但开发成本就提高了。就目前相对廉价的中国人才市场来看,许多开发商都会选用第二种方案,于是C++语言依然保持在这个领域的龙头老大。但这是暂时的,硬件发展速度用日新月异来形容是不过份的,当硬件的成本足够低廉的时候,你是用JVM、CLR,还是用C呢?

C++语言的另一大功能是“教学语言”,这点不错,我现在从事教学工作,C++语言是我经常讲授的一门课,的确很不错,不仅让初学编程的人培养一种严谨的思维,也能通过对针指的学习领悟其他编程语言的语法实质。

但我个人认为Java或C#也应该是一门不错的教学语言,这两门语言比C复杂,这是做为教学语言的缺点,但最大的优点在于其是完全OOP的,而C是面向过程,在这个OO的年代,以C做为入门的编程者常常需要几年的时间来转换思维到OO上来。我的感觉是,C++语言做为入门教学语言在很长一段时间内不可改变,也不能改变,但学时数应该减少,而Java或C#语言应该做为C++语言的后继必修课应该增加学时。

责任编辑:chenqingxiang 来源: 网易
相关推荐

2010-01-14 10:34:02

C++语言

2010-01-26 09:24:53

C++语言

2010-01-15 16:45:35

C++语言

2010-01-22 15:14:37

学习C++

2010-01-20 17:23:03

C++编程语言

2010-01-18 11:12:36

2023-03-16 15:00:31

CarbonC++编程语言

2010-01-14 13:24:49

CC++语言

2023-03-03 08:13:35

2022-08-22 15:32:59

C++C代码

2010-01-21 10:23:53

C++代码

2022-11-28 09:58:58

C++开发

2010-01-15 17:38:37

C++语言

2021-08-18 15:23:42

SDNSD-WAN软件定义网络

2010-01-20 10:14:53

C++程序

2010-01-14 10:06:30

C++模板

2010-01-26 10:27:43

C++语言

2010-01-13 17:04:36

C++语言

2010-01-14 10:23:08

C++语言

2010-01-20 14:03:12

C++程序
点赞
收藏

51CTO技术栈公众号