原创 有感于“C语言已死”收藏

新一篇: 我的程序之路 | 旧一篇: 随笔

昨天在 CSDN 上面看到一篇以“ C 语言已经死掉了”为标题的文章。作者列举了五大理由具体说明了 C 语言已经“死掉”的现状。

    C 语言到底有没有“死掉”呢?语言之争何时可以真正的“寿终正寝”呢?

    一种计算机语言的诞生必有其单纯的目的。作为一个程序员应该明白最好的不一定是最适合自己的,最适合自己的才是最好的。如果你做桌面应用开发,Basic 语言可以帮你很大的忙,除此之外你有很多的选择。如果你在开发嵌入式软件,那么就没有这么幸运了,除了 C 和汇编语言,你几乎没有什么选择的余地。

     C 语言和汇编语言一起构筑了许多 PC 操作系统、嵌入式系统、应用平台的“地基”。由于它们的底层性,大多数用户包括部分程序员都不可能经常接触到它们。在 Windows 平台上书写程序就会与 Windows API 打交道,其对外的所有接口都是 C 、C++ 形式;在所有你能够知道的操作系统上,也许没有一款 Java 虚拟机,但一定有一款 C、C++ 编译器;在国际上,C、C++ 语言是描述 ISO 众多协议的标准语言。那么如果 C 语言真的“死亡”,会有什么影响呢?

     如果没有 C 语言:

     我们将等待下一种可以用来与汇编语言匹配书写操作系统底层的语言,而在此之前,我们是不可能使用 PC 了;

     我们的电冰箱和洗衣机不能使用了,没想到吧,但这是事实,因为 C 语言在嵌入式开发中担当着非常重要的角色;

     微软、Sun、IBM 的多数软件系统可能不会再升级了,因为构筑它们的底层协议和标准消失了;

     C 语言诞生在一个特定的环境和年代,有着强大的功能,在可以预见的未来,它的角色是无可替代的。C++ 语言曾一直以替代 C 语言为自己的重要历史使命之一,但历经多年之后,C++ 之父公开承认这一点已不能完成了。仅在嵌入式设备领域内,由于使用 C++ 语言的某些功能需要较大的运行时开销,所以迄今为止 C++ 语言依然不能占据到嵌入式程序开发中 50% 以上的份额。

     过分的追捧亦或贬低某种语言都是不对的,它们各自有着存在着的理由,有着各自适应的领域。只有 C 、C++ 语言的开发世界是不完美的,在它们不适合的领域,其它语言已经成功的介入。而且,一种语言是否适合存在、何时“死亡”是由很多因素决定的,并不可能因一个人、一个公司来决定“废立”的。也有某些语言虽然有着自己的国际标准,但实际的标准确掌握在某个公司的手里,亦同样为大众所接受。

     不要过分去追求语言的不到之处,或动辄就将其“消亡”,努力改正我们自己的错误视角,不断进步,提高自己才是硬道理。

 

发表于 @ 2007年01月08日 14:14:00|评论(loading...)|编辑

新一篇: 我的程序之路 | 旧一篇: 随笔

评论

#lyanry 发表于2007-01-08 21:29:14  IP:
王进宝道:“韦大人的马,自然是好的。大宛出好马,卑职也听到过。卑职在甘肃、陕西时,曾骑过不少大宛名驹,短途冲刺是极快的,甚么马也比不上。赵良栋道:“那么赛长途呢?难道大宛马还及不上滇马?”王进宝道:“云南马本来并不好,只不过胜在刻苦耐劳,有长力。这些年来卑职在滇北养马,将川马、滇马交配,这新种倒是很不错。”赵良栋道:“老兄,你这就外行了。马匹向来讲纯种,种越纯越好,没听说杂种马反而更好的。”王进宝胀红了脸,说道:“赵总兵,我不是说杂种马一切都好。马匹用途不同,有的用以冲锋陷阵,有的用以负载辎重,就算是军马,也大有分别啊。有的是百里马,有的是千里马,长途短途,全然不同。”赵良栋道:“哼,居然有人说还是杂种好。”王进宝大怒,霍地站起,喝道:“你骂谁是杂种?这般不干不净的乱说!”赵良栋冷笑道:“我是说马,又不是说人。谁的种不纯,作贼心虚,何必乱发脾气。”王进宝更加怒了,说道:“这是额驸公的府上,不然的话,哼哼!”赵良栋道:“哼哼怎样?你还想跟我动手打架不成?”张勇劝道:“两位初次相识,何必为了牲口的事生这闲气?来来来,我陪两位喝一杯,大家别争了。”他是提督,官阶比赵良栋、王进宝都高,两人不敢不卖他面子,只得都喝了酒。两人你瞪着眼瞧我,我瞪着眼瞧你,若不是上官在座,两个火爆霹雳的人当场就要打将起来了。
#lyanry 发表于2007-01-08 21:30:05  IP:
呵呵,刚好看到关于评马的一段。把“马”换成“计算机语言”,也能看出点意思。
#tangl_99 发表于2007-01-08 23:44:48  IP:
楼上的,你想说什么观点就明说嘛,中国人最爱拐弯抹角了。。。
#zjh222 发表于2007-01-09 12:09:08  IP: 222.212.113.*
当CPU计算能力没有PC的CPU强大的时候,如工控、自动化、智能家电、数码产品等等的时候,你用什么语言开发?
做板级的信号信息处理你用什么?
你所用的种种高级语言又是建立在何种语言做的平台基础之上?
#layerr 发表于2007-01-09 12:22:35  IP: 222.183.196.*
本人不太同意此观点,详见:
http://blog.csdn.net/layerr/archive/2007/01/09/1477754.aspx
#jemyzhang 发表于2007-01-09 14:01:16  IP: 218.88.103.*
楼主的看法比较公正客观。c现在仍然具有很强的生命力。
#YidingHe 发表于2007-01-09 14:02:40  IP:
人家老外干了20多年的C语言,发了点牢骚而已。想在C语言上混出点名堂,是要吃很多苦的。比别的语言多。
#luxu001207 发表于2007-01-09 20:47:32  IP:
王进宝道:“韦大人的马,自然是好的。大宛出好马,卑职也听到过。卑职在甘肃、陕西时,曾骑过不少大宛名驹,短途冲刺是极快的,甚么马也比不上。赵良栋道:“那么赛长途呢?难道大宛马还及不上滇马?”王进宝道:“云南马本来并不好,只不过胜在刻苦耐劳,有长力。这些年来卑职在滇北养马,将川马、滇马交配,这新种倒是很不错。”赵良栋道:“老兄,你这就外行了。马匹向来讲纯种,种越纯越好,没听说杂种马反而更好的。”王进宝胀红了脸,说道:“赵总兵,我不是说杂种马一切都好。马匹用途不同,有的用以冲锋陷阵,有的用以负载辎重,就算是军马,也大有分别啊。有的是百里马,有的是千里马,长途短途,全然不同。”赵良栋道:“哼,居然有人说还是杂种好。”王进宝大怒,霍地站起,喝道:“你骂谁是杂种?这般不干不净的乱说!”赵良栋冷笑道:“我是说马,又不是说人。谁的种不纯,作贼心虚,何必乱发脾气。”王进宝更加怒了,说道:“这是额驸公的府上,不然的话,哼哼!”赵良栋道:“哼哼怎样?你还想跟我动手打架不成?”张勇劝道:“两位初次相识,何必为了牲口的事生这闲气?来来来,我陪两位喝一杯,大家别争了。”他是提督,官阶比赵良栋、王进宝都高,两人不敢不卖他面子,只得都喝了酒。两人你瞪着眼瞧我,我瞪着眼瞧你,若不是上官在座,两个火爆霹雳的人当场就要打将起来了。
======================
这个有点意思,嘿嘿~
#mbmseason 发表于2007-01-10 01:53:56  IP:
楼主的部分说法有失偏颇。
比如,LZ说
“如果没有 C 语言:
我们将等待下一种可以用来与汇编语言匹配书写操作系统底层的语言,而在此之前,我们是不可能使用 PC 了;
我们的电冰箱和洗衣机不能使用了,没想到吧,但这是事实,因为 C 语言在嵌入式开发中担当着非常重要的角色;
微软、Sun、IBM 的多数软件系统可能不会再升级了,因为构筑它们的底层协议和标准消失了;”
1、每种语言其实都能在一定程度上与汇编匹配,而C也并不是完全与汇编匹配;
2、“C语言在嵌入式开发中担当着非常重要的角色”,并不代表没有C语言就不能做嵌入式开发,何来“电冰箱和洗衣机不能使用了”的说法?
3、协议与语言是无关的。
但我还是赞同各种语言“各自有着存在着的理由,有着各自适应的领域”的说法
#vcnewer 发表于2007-01-10 16:54:43  IP: 221.222.168.*
王进宝道:“韦大人的马,自然是好的。大宛出好马,卑职也听到过。卑职在甘肃、陕西时,曾骑过不少大宛名驹,短途冲刺是极快的,甚么马也比不上。赵良栋道:“那么赛长途呢?难道大宛马还及不上滇马?”王进宝道:“云南马本来并不好,只不过胜在刻苦耐劳,有长力。这些年来卑职在滇北养马,将川马、滇马交配,这新种倒是很不错。”赵良栋道:“老兄,你这就外行了。马匹向来讲纯种,种越纯越好,没听说杂种马反而更好的。”王进宝胀红了脸,说道:“赵总兵,我不是说杂种马一切都好。马匹用途不同,有的用以冲锋陷阵,有的用以负载辎重,就算是军马,也大有分别啊。有的是百里马,有的是千里马,长途短途,全然不同。”赵良栋道:“哼,居然有人说还是杂种好。”王进宝大怒,霍地站起,喝道:“你骂谁是杂种?这般不干不净的乱说!”赵良栋冷笑道:“我是说马,又不是说人。谁的种不纯,作贼心虚,何必乱发脾气。”王进宝更加怒了,说道:“这是额驸公的府上,不然的话,哼哼!”赵良栋道:“哼哼怎样?你还想跟我动手打架不成?”张勇劝道:“两位初次相识,何必为了牲口的事生这闲气?来来来,我陪两位喝一杯,大家别争了。”他是提督,官阶比赵良栋、王进宝都高,两人不敢不卖他面子,只得都喝了酒。两人你瞪着眼瞧我,我瞪着眼瞧你,若不是上官在座,两个火爆霹雳的人当场就要打将起来了。
--------------------------
呵呵,好
#zhouhongyun 发表于2007-01-10 17:07:47  IP: 219.140.59.*
想在C语言上混出点名堂,是要吃很多苦的。比别的语言多。
--------这你就错了,用 C只是开发效率不高,但学东西是相当快的,用C开发的时候重复的工作比用其他语言要少,在世界上有名气的程序员可以说个个都是C程序员,C#和java也出来不少年了,你们听说过有哪个C#,JAVA程序员混出名堂了??倒是那些用C的越练越厉害,都快成妖精了,可以说,现在由于java,c#的出现,程序员已经出现了断层,最厉害的那些C程序员已经把其他人远远甩到后面去了,国内还没什么C大师,但确实很有一些C高手,还是很有点水平的,其他语言的程序员大概delphi也还有些高手,java,dotnet程序员不说了,半调子起码占百分之八十,最厉害的也就那回事
#shendl 发表于2007-01-11 10:13:49  IP: 211.144.96.*
# zhouhongyun 发表于2007-01-10 17:07:47 IP: 219.140.59.*
想在C语言上混出点名堂,是要吃很多苦的。比别的语言多。
--------这你就错了,用 C只是开发效率不高,但学东西是相当快的,用C开发的时候重复的工作比用其他语言要少,在世界上有名气的程序员可以说个个都是C程序员,C#和java也出来不少年了,你们听说过有哪个C#,JAVA程序员混出名堂了??倒是那些用C的越练越厉害,都快成妖精了,可以说,现在由于java,c#的出现,程序员已经出现了断层,最厉害的那些C程序员已经把其他人远远甩到后面去了,国内还没什么C大师,但确实很有一些C高手,还是很有点水平的,其他语言的程序员大概delphi也还有些高手,java,dotnet程序员不说了,半调子起码占百分之八十,最厉害的也就那回事
====================================
你太孤陋寡闻了!Java高手数不甚数。倒是C/C++没什么高手。不稳定的软件倒是到处都是。
今天遇见了你,我才知道什么叫作“井底之蛙”!
#zhouhongyun 发表于2007-01-12 22:53:02  IP:
你太孤陋寡闻了!Java高手数不甚数。
-------那我就举例子让你没话可说,linux,delphi,java,quake的发明人都是用的什么,C吧,你举个在IT界能和他们相提并论的java高手出来
#miyimei 发表于2007-01-13 13:09:07  IP: 222.125.197.*
就是只有c才有高手,现在学英语的人都没有学c语言的人高手,你看过有谁用英语写出过linux的,只能写些帮助文档罢了。
学汉语的人就更差了,都是小学生的水平,不然怎么没人用汉语写出linux来
#comanche 发表于2007-01-23 15:38:48  IP:
如今都说到老祖宗这来了, c 有不可代替性, c++ 都无法代替 c, 所以 java 就更不值得提, 各有各有应用, 有语言 fans 说什么代替什么的, 那也就是一说, 十几年下来真正被代替的语言, 说实话, 不多, 多的总是在解析语言上, 编译型的还没听过

楼上又说起高手概念, 也就是一说, 高手都有领域性的, 还是那一说, 该干什么的干什么去, 网络通信, 操作系统, 数据库....都有高手, 能两三个都精的就是毕生精力了, 不是那种学校出来两三年就说高手的, 这行业没天才
#comanche 发表于2007-01-23 15:51:31  IP: 218.18.141.*
java 这种在国内才流行几年的语言, 学习使用在 5 年以上的人好像不多吧, 怎么高手这么多? 就像2个疯子在街边大声说, 你看你看街上的人全疯了, 要知道用 c++/delphi 在 8 年以上的人大把, 用 c 在 10 年以上的人也是大把, 嗯, 这些人都是低手吧.

现在的问题是, 不是没高手, 而是高手没人要, 开公司的要那么多高手干嘛, 人家要的是产品, 只要一代的产品, 根本没考虑升级, 至少, 国内大多公司是如此, 真正的产品我所知不少还在用工具很低的版本, 像oracle 5/6, delphi3/4, vc5, trubo c 2.0, borland c++4.51, 为的就是稳定性和开发人员的一个认知度, java 的产品可不多, java fans 也不要吵, 手上有5 年生存期的, 现在在用的产品的出来骂我, 嗯, 估计能骂到我的人, 不多
#zjh222 发表于2007-01-23 17:41:03  IP: 222.212.121.*
这些问题应问一下微软,如果它们不用C就语明C 死了,如果在用说明C没有死三.................................
不用说那么多特性对比了
#netpit 发表于2007-01-23 18:05:42  IP: 218.17.0.*
C语言是一种伟大的语言.怎么可能会死呢,不要为表现上的现象所惑,至少现在咱们做用的大型操作系统UNIX,LINUX,还有WINDWS的底层多数都是C写的哦.
没有C, 哪里有今天的信息时代.
#netpit 发表于2007-01-23 18:06:01  IP: 218.17.0.*
C语言是一种伟大的语言.怎么可能会死呢,不要为表现上的现象所惑,至少现在咱们做用的大型操作系统UNIX,LINUX,还有WINDWS的底层多数都是C写的哦.
没有C, 哪里有今天的信息时代.
#netpit 发表于2007-01-23 18:06:54  IP: 218.17.0.*
C语言是一种伟大的语言.怎么可能会死呢,不要为表现上的现象所惑,至少现在咱们做用的大型操作系统UNIX,LINUX,还有WINDWS的底层多数都是C写的哦.
没有C, 哪里有今天的信息时代.
#tongshou 发表于2007-01-23 22:42:37  IP: 202.156.164.*
看来很多人是“身在福中不知福”!太不懂得珍惜已经拥有的珍贵的东西。C语言 是计算机语言界的奇迹和魁宝!大家现在使用的千姿百态的各类语言,表面上看好象与C无关,事实上基本上都是 C/C++语言的延伸!没有了C/C++,这些语言根本不可能存在!说C死的人,要么是 闷着良心说黑话,要么就是 C 究竟为何物根本没有搞清楚!

好的语言,并不仅仅在于它能提供多少好的、便利的功能,而是在于它具备提供“包罗万象”功能的潜能! C/C++正是这样一类难得的语言,人们不该指责它 开发效率不高、内存处理不方便等等,事实上,这些根本是程序员本身的问题,况且C/C++强而有力的潜能能够解决这些问题,不是吗? 用C/C++设计出来的许多"语言",不就是很多人称道的 便利开发的吗? 不要只看到这些设计出来的“语言”的好,更应该想想其中 C/C++语言所起的核心、骨干作用。

很多人都懂得 “千军易得,一将难求”的道理,战场上很需要“冲锋陷阵”的士兵,更需要“运筹帷幄”的将军。C/C++就好比“将军”,它的优势不在于“冲锋陷阵”,凡事都用 C/C++开发,是“大材小用”。你用对了 C/C++ 吗?

#luckysym 发表于2007-01-24 09:03:06  IP: 60.176.177.*
任何事情的发生都是有条件的,包括C语言的死。

很多人都忘记了一件事,C语言的死只是在某些软件领域比如所谓的MIS系统、WEB应用等,而这些软件设计领域,在C语言诞生的时候几乎就不存在,也就是说C语言并不是为他们而存在的,C的诞生时也不可能考虑到要为30年后的企业应用、WEB应用做准备。

尽管C语言在新兴的软件领域并不擅长,但是C语言诞生时就已经存在的那类软件如系统软件,到目前C语言仍旧时这类软件开发的绝对主力。只要这类软件不消亡,C语言就不会死。
#toxyboy 发表于2007-01-24 09:05:13  IP: 60.191.55.*
存在即使道理,有用java写编解码,os,数据库,驱动的吗?善射者,非弓也。楼上说的,你用对c/c++了没,什么年代了,还在怀疑语言的存在理由。这关系到水准问题,我都不惜说你们了。。。
#toxyboy 发表于2007-01-24 09:06:00  IP: 60.191.55.*
楼上说的对。。别造成误解!!
#mooniscrazy 发表于2007-01-24 09:20:33  IP: 222.190.116.*
都他妈的只会一种语言,瞎吵什么!全部学会了再吵不迟!到处瞎吵,这个语言好,那个语言好.有什么好吵的。中国软件对世界软件业的影响可以忽略不计。你们没有吵的资格。
#szc21 发表于2007-01-24 09:35:27  IP: 220.184.160.*
就是只有c才有高手,现在学英语的人都没有学c语言的人高手,你看过有谁用英语写出过linux的,只能写些帮助文档罢了。
学汉语的人就更差了,都是小学生的水平,不然怎么没人用汉语写出linux来
-----------------------------------------------------------------
不错,支持
#tsyljw2007 发表于2007-01-24 10:00:47  IP: 218.104.96.*
没有C高手,没有C++高手,没有C#和java高手,没有其它程序设计语言高手!只有计算机组成及结构原理高手,只有数据结构高手,只有算法高手,只有数学高手,只有操作系统和编译原理高手!高手哪里?
#lovesinox 发表于2007-01-24 10:19:13  IP: 125.254.133.*
如果sepl能重写sinox内核并获得成功!C语言就可以死了
#lovesinox 发表于2007-01-24 10:19:18  IP: 125.254.133.*
如果sepl能重写sinox内核并获得成功!C语言就可以死了
#borisauschina 发表于2007-01-30 22:11:25  IP:
系统结构没学好的原因
#pp_tokyo 发表于2007-01-31 16:34:38  IP:
本人很看好c,从它学起的
它的思想影响深远,包括
对后起之秀的渗透也是那么深!
#UMU 发表于2007-01-31 20:10:27  IP:
我用 C 写过好多个 COM DLL 了,那个说 C 写不出来的人被我吓傻了!我讨厌 Java,不喜欢 C++,只喜欢 C \ ASM \ VBS
发表评论  


当前用户设置只有注册用户才能发表评论。如果你没有登录,请点击登录
Csdn Blog version 3.1a
Copyright © Terony