C语言的确死了
前两天看了一篇文章“ C语言已经死了,5个需要忘却它的理由”,于我心有戚戚焉。 我想作者的“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之类的平台做开发,由于从业门槛的降低使得软件开发成本会大大降低,开发效率会提高很快,但对芯片的性能就提出较高的要求,使得硬件成本大大增加,这种芯片用在现在的微波炉、洗衣机等电器上是很浪费的;第二种做法当然是降低芯片的成本,但对芯片的编程就要更苛刻,JVM、CLR之类的东西显然是不能整个搬了,只能从硬件驱动写起,自己来完成所需要的所有功能(非常象用锉刀进行手工制作),硬件成本是大大除低了,但开发成本就提高了。就目前相对廉价的中国人才市场来看,许多开发商都会选用第二种方案,于是C语言依然保持在这个领域的龙头老大。但这是暂时的,硬件发展速度用日新月异来形容是不过份的,当硬件的成本足够低廉的时候,你是用JVM、CLR,还是用C呢? C语言的另一大功能是“教学语言”,这点不错,我现在从事教学工作,C语言是我经常讲授的一门课,的确很不错,不仅让初学编程的人培养一种严谨的思维,也能通过对针指的学习领悟其他编程语言的语法实质。但我个人认为Java或C#也应该是一门不错的教学语言,这两门语言比C复杂,这是做为教学语言的缺点,但最大的优点在于其是完全OOP的,而C是面向过程,在这个OO的年代,以C做为入门的编程者常常需要几年的时间来转换思维到OO上来。我的感觉是,C语言做为入门教学语言在很长一段时间内不可改变,也不能改变,但学时数应该减少,而Java或C#语言应该做为C语言的后继必修课应该增加学时。 C语言应该退出舞台,这既是万事万物的自然规律,也是IT良好发展的征兆。 |
凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢! |