为什么要学C语言及C语言存在的意义

来源:互联网 发布:华为手机淘宝 编辑:程序博客网 时间:2024/04/29 09:52

有同学问过我,我们现在为什么还要学习C语言,C语言不是过时了吗?我相信这些同学是属于对计算机比较感兴趣的,他们会从各个途径去关注计算机语言的发展。不错,C语言的的确确有点过时。我相信当你们其中的持C语言过时观点的同学看到这句话时会感到欣慰,因为我也持这个观点。但我可以告诉你,你被我骗了,我恰恰持的是相反的观点!认识到事物的缺点就是对这件事物的最大肯定!

先不忙着说我为什么觉得C语言并不过时,先谈谈你们为什么觉得C语言过时(感觉有点罗嗦,呵呵)。你们认为C语言过时的原因估计是看过某些论坛上的评论,什么时下里JavaC#流行啦,什么C语言程序没有友好的用户界面啦等等,这些评论其实形成了对你们认知的误导作用。(就像我在写这篇稿子时收到的一条短信一样,说“***……,是中国人的就转发”。我是不是中国人又不是这条短信说了算,我就是不转发,不浪费0.1元人民币,这条短信能把我怎么样?难道我就会变成蓝眼的美国佬不成?所以我觉得这类评论毫无意义。)

Now就谈谈我的观点吧,其实就一句话就可以反驳论坛上的观点了。大家都知道,不适应者终究是要被淘汰的。所以我要反问的是,既然C语言过时,那为什么还会存活到现在?想想C语言是在1970s诞生的,现在都三十几岁了,比我们下沙校区任何一个学生的年龄都长,却能在庞大的计算机语言群中生存下来,可见它的不一般了。

以上只是反驳了一个观点而已,没谈到实在上,可能还有人对此怀疑的。所以在此就多废话几句,但并不是说要你们全然相信我的,你也可以把这篇文章当作论坛里的评论一样处理。

我希望你们不要让一种存在的事物失去了它的意义,就像你们不希望社会让你失去了存在的意义一样。说出来会让你吓一跳,现存的计算机语言竟不下百种,针对各种语言开发出的编译器就更多了。这么多的计算机语言,我们还仅只知其中的皮毛,甚至不知它们的名字,就怀疑它们存在的意义,你不觉得我们很可笑吗?各种不同的语言都有它们不同的用途,像JavaC#就更适合于开发网络应用程序,像Fortran就适用于科学计算,Pascal适用于对数据的操作,Basic适用于处理相对简单的问题,而C就是目前用户群最大的一门计算机语言了。我猜想还有些语言就专门用作医疗、机械甚至洗衣机、电冰箱中应用程序的开发的。

还没谈到C语言的优点呢。C语言的优点是其它语言所难及的甚至不可比的,虽然它也有劣势。优势之一就是,目前几乎所有的操作系统均是由C语言编写的(意思就是说,学好了C语言,你也可以编一个像Windows一样的操作系统,然后就坐在办公室里像毕尔盖茨一样细细数你的钱了);第二,它甚至是其它编程语言的母语言,比如Java语言就是用C语言编写的(怎么样?牛吧!);第三,编译出来的程序几乎不浪费空闲的空间(不像VB那样,就一个按钮都要把它所有的方法调用进来);第四,程序运行效率高(你不希望自己的企业运行在一天就只能做一个面包的基础之上吧),等等等等。不过列举C语言的优点也不是去排斥其它语言,我说了,认识一件事物的缺点就是对它最大的肯定。待把C语言掌握了之后再学学其它的语言那也不坏,既有C语言的底又有其它语言的时尚,还怕在这世上无立足之地?

这也就是为什么我们还要学习C语言的原因。

//注:补充几句,现在这么多计算机语言,大体上语法还是相通的。我个人按语法把这些语言分为两大类(就按所谓的高级语言分,不包括低级语言和更高级的如SQL语言),Basic(如VB)、Pascal(如Delphi)、Matlab等为一类,因为它们的语法很相近,且不太严格;C/C++/C#(如Visual系列的),Java等为一类,同样它们的语法很相近,但非常严格。所以要追求流行的JavaC#的话,那你还是选择学好C语言吧,它是基础。