为什么要学C语言及C语言存在的意义
2005-04-16 02:07
281 查看
有同学问过我,我们现在为什么还要学习C语言,C语言不是过时了吗?我相信这些同学是属于对计算机比较感兴趣的,他们会从各个途径去关注计算机语言的发展。不错,C语言的的确确有点过时。我相信当你们其中的持C语言过时观点的同学看到这句话时会感到欣慰,因为我也持这个观点。但我可以告诉你,你被我骗了,我恰恰持的是相反的观点!认识到事物的缺点就是对这件事物的最大肯定!
先不忙着说我为什么觉得C语言并不过时,先谈谈你们为什么觉得C语言过时(感觉有点罗嗦,呵呵)。你们认为C语言过时的原因估计是看过某些论坛上的评论,什么时下里Java和C#流行啦,什么C语言程序没有友好的用户界面啦等等,这些评论其实形成了对你们认知的误导作用。(就像我在写这篇稿子时收到的一条短信一样,说“***……,是中国人的就转发”。我是不是中国人又不是这条短信说了算,我就是不转发,不浪费0.1元人民币,这条短信能把我怎么样?难道我就会变成蓝眼的美国佬不成?所以我觉得这类评论毫无意义。)
Now就谈谈我的观点吧,其实就一句话就可以反驳论坛上的观点了。大家都知道,不适应者终究是要被淘汰的。所以我要反问的是,既然C语言过时,那为什么还会存活到现在?想想C语言是在1970s诞生的,现在都三十几岁了,比我们下沙校区任何一个学生的年龄都长,却能在庞大的计算机语言群中生存下来,可见它的不一般了。
以上只是反驳了一个观点而已,没谈到实在上,可能还有人对此怀疑的。所以在此就多废话几句,但并不是说要你们全然相信我的,你也可以把这篇文章当作论坛里的评论一样处理。
我希望你们不要让一种存在的事物失去了它的意义,就像你们不希望社会让你失去了存在的意义一样。说出来会让你吓一跳,现存的计算机语言竟不下百种,针对各种语言开发出的编译器就更多了。这么多的计算机语言,我们还仅只知其中的皮毛,甚至不知它们的名字,就怀疑它们存在的意义,你不觉得我们很可笑吗?各种不同的语言都有它们不同的用途,像Java和C#就更适合于开发网络应用程序,像Fortran就适用于科学计算,Pascal适用于对数据的操作,Basic适用于处理相对简单的问题,而C就是目前用户群最大的一门计算机语言了。我猜想还有些语言就专门用作医疗、机械甚至洗衣机、电冰箱中应
4000
用程序的开发的。
还没谈到C语言的优点呢。C语言的优点是其它语言所难及的甚至不可比的,虽然它也有劣势。优势之一就是,目前几乎所有的操作系统均是由C语言编写的(意思就是说,学好了C语言,你也可以编一个像Windows一样的操作系统,然后就坐在办公室里像毕尔•盖茨一样细细数你的钱了);第二,它甚至是其它编程语言的母语言,比如Java语言就是用C语言编写的(怎么样?牛吧!);第三,编译出来的程序几乎不浪费空闲的空间(不像VB那样,就一个按钮都要把它所有的方法调用进来);第四,程序运行效率高(你不希望自己的企业运行在一天就只能做一个面包的基础之上吧),等等等等。不过列举C语言的优点也不是去排斥其它语言,我说了,认识一件事物的缺点就是对它最大的肯定。待把C语言掌握了之后再学学其它的语言那也不坏,既有C语言的底又有其它语言的时尚,还怕在这世上无立足之地?
这也就是为什么我们还要学习C语言的原因。
//注:补充几句,现在这么多计算机语言,大体上语法还是相通的。我个人按语法把这些语言分为两大类(就按所谓的高级语言分,不包括低级语言和更高级的如SQL语言),Basic(如VB)、Pascal(如Delphi)、Matlab等为一类,因为它们的语法很相近,且不太严格;C/C++/C#(如Visual系列的),Java等为一类,同样它们的语法很相近,但非常严格。所以要追求流行的Java和C#的话,那你还是选择学好C语言吧,它是基础。
先不忙着说我为什么觉得C语言并不过时,先谈谈你们为什么觉得C语言过时(感觉有点罗嗦,呵呵)。你们认为C语言过时的原因估计是看过某些论坛上的评论,什么时下里Java和C#流行啦,什么C语言程序没有友好的用户界面啦等等,这些评论其实形成了对你们认知的误导作用。(就像我在写这篇稿子时收到的一条短信一样,说“***……,是中国人的就转发”。我是不是中国人又不是这条短信说了算,我就是不转发,不浪费0.1元人民币,这条短信能把我怎么样?难道我就会变成蓝眼的美国佬不成?所以我觉得这类评论毫无意义。)
Now就谈谈我的观点吧,其实就一句话就可以反驳论坛上的观点了。大家都知道,不适应者终究是要被淘汰的。所以我要反问的是,既然C语言过时,那为什么还会存活到现在?想想C语言是在1970s诞生的,现在都三十几岁了,比我们下沙校区任何一个学生的年龄都长,却能在庞大的计算机语言群中生存下来,可见它的不一般了。
以上只是反驳了一个观点而已,没谈到实在上,可能还有人对此怀疑的。所以在此就多废话几句,但并不是说要你们全然相信我的,你也可以把这篇文章当作论坛里的评论一样处理。
我希望你们不要让一种存在的事物失去了它的意义,就像你们不希望社会让你失去了存在的意义一样。说出来会让你吓一跳,现存的计算机语言竟不下百种,针对各种语言开发出的编译器就更多了。这么多的计算机语言,我们还仅只知其中的皮毛,甚至不知它们的名字,就怀疑它们存在的意义,你不觉得我们很可笑吗?各种不同的语言都有它们不同的用途,像Java和C#就更适合于开发网络应用程序,像Fortran就适用于科学计算,Pascal适用于对数据的操作,Basic适用于处理相对简单的问题,而C就是目前用户群最大的一门计算机语言了。我猜想还有些语言就专门用作医疗、机械甚至洗衣机、电冰箱中应
4000
用程序的开发的。
还没谈到C语言的优点呢。C语言的优点是其它语言所难及的甚至不可比的,虽然它也有劣势。优势之一就是,目前几乎所有的操作系统均是由C语言编写的(意思就是说,学好了C语言,你也可以编一个像Windows一样的操作系统,然后就坐在办公室里像毕尔•盖茨一样细细数你的钱了);第二,它甚至是其它编程语言的母语言,比如Java语言就是用C语言编写的(怎么样?牛吧!);第三,编译出来的程序几乎不浪费空闲的空间(不像VB那样,就一个按钮都要把它所有的方法调用进来);第四,程序运行效率高(你不希望自己的企业运行在一天就只能做一个面包的基础之上吧),等等等等。不过列举C语言的优点也不是去排斥其它语言,我说了,认识一件事物的缺点就是对它最大的肯定。待把C语言掌握了之后再学学其它的语言那也不坏,既有C语言的底又有其它语言的时尚,还怕在这世上无立足之地?
这也就是为什么我们还要学习C语言的原因。
//注:补充几句,现在这么多计算机语言,大体上语法还是相通的。我个人按语法把这些语言分为两大类(就按所谓的高级语言分,不包括低级语言和更高级的如SQL语言),Basic(如VB)、Pascal(如Delphi)、Matlab等为一类,因为它们的语法很相近,且不太严格;C/C++/C#(如Visual系列的),Java等为一类,同样它们的语法很相近,但非常严格。所以要追求流行的Java和C#的话,那你还是选择学好C语言吧,它是基础。
相关文章推荐
- 对linux .so文件的思考,动态共享库存在的意义,为什么需要动态共享库的存在?
- 大小端字节序存在的意义,为什么不用一个标准呢?
- 使用引用计数扩展c语言实现内存自动管理的思考 -- 为什么存在内存泄露
- 【C语言提高08】【指针铁律】铁律2:间接赋值(*p)是指针存在的最大意义
- C语言中‘,’运算符存在的意义
- 再谈C语言的学习(五)──C语言存在的意义
- 大小端字节序存在的意义,为什么不用一个标准呢? 在网络编程和一些服务器中采用的是大端的字节序,而一般的主机采用的是小端的字节序,为什么要分成两种?不能合成一个吗?
- C语言之指针专题二:指针做函数参数是指针存在的最大意义
- SFI(段文件描述符存在的理由与意义)
- 区块链简史(二):一篇文章看懂比特币工作量证明和矿工存在意义
- 嵌入式开发为什么选择C语言及C的缺陷
- C语言文件操作 fopen, fclose, mkdir(打开关闭文件,建文件夹,判断文件是否存在可读或可写)
- 没有价值,IT部门还有存在的意义吗?”
- 为什么要学习C语言
- 为什么/usr/local/apache2/bin/apxs明明存在,安装module的时候总是提示请指定有效的apxs路径呢?
- C语言诠释--为什么内存是线性分布的。
- 《生命存在于宇宙中的意义》前言
- (一)AJAX同步异步 (为什么存在AJAX)
- 为什么要学C语言(我转别人的)
- C语言实现三子棋游戏(意义版)