有同学问过我,我们现在为什么还要学习C语言,C语言不是过时了吗?我相信这些同学是属于对计算机比较感兴趣的,他们会从各个途径去关注计算机语言的发展。不错,C语言的的确确有点过时。我相信当你们其中的持C语言过时观点的同学看到这句话时会感到欣慰,因为我也持这个观点。但我可以告诉你,你被我骗了,我恰恰持的是相反的观点!认识到事物的缺点就是对这件事物的最大肯定!
先不忙着说我为什么觉得C语言并不过时,先谈谈你们为什么觉得C语言过时(感觉有点罗嗦,呵呵)。你们认为C语言过时的原因估计是看过某些论坛上的评论,什么时下里Java和C#流行啦,什么C语言程序没有友好的用户界面啦等等,这些评论其实形成了对你们认知的误导作用。(就像我在写这篇稿子时收到的一条短信一样,说“***……,是中国人的就转发”。我是不是中国人又不是这条短信说了算,我就是不转发,不浪费0.1元人民币,这条短信能把我怎么样?难道我就会变成蓝眼的美国佬不成?所以我觉得这类评论毫无意义。)
推荐下我自己的C/C++学习群:231662552,不管你是小白还是大牛,小编我都挺欢迎,不定期分享干货,包括我自己整理的一份2018最新的C/C++资料和零基础入门教程,欢迎初学和进阶中的小伙伴。
Now就谈谈我的观点吧,其实就一句话就可以反驳论坛上的观点了。大家都知道,不适应者终究是要被淘汰的。所以我要反问的是,既然C语言过时,那为什么还会存活到现在?想想C语言是在1970s诞生的,现在都三十几岁了,比我们下沙校区任何一个学生的年龄都长,却能在庞大的计算机语言群中生存下来,可见它的不一般了。
以上只是反驳了一个观点而已,没谈到实在上,可能还有人对此怀疑的。所以在此就多废话几句,但并不是说要你们全然相信我的,你也可以把这篇文章当作论坛里的评论一样处理。
我希望你们不要让一种存在的事物失去了它的意义,就像你们不希望社会让你失去了存在的意义一样。说出来会让你吓一跳,现存的计算机语言竟不下百种,针对各种语言开发出的编译器就更多了。这么多的计算机语言,我们还仅只知其中的皮毛,甚至不知它们的名字,就怀疑它们存在的意义,你不觉得我们很可笑吗?各种不同的语言都有它们不同的用途,像Java和C#就更适合于开发网络应用程序,像Fortran就适用于科学计算,Pascal适用于对数据的操作,Basic适用于处理相对简单的问题,而C就是目前用户群最大的一门计算机语言了。我猜想还有些语言就专门用作医疗、机械甚至洗衣机、电冰箱中应用程序的开发的。
还没谈到C语言的优点呢。C语言的优点是其它语言所难及的甚至不可比的,虽然它也有劣势。优势之一就是,目前几乎所有的操作系统均是由C语言编写的(意思就是说,学好了C语言,你也可以编一个像Windows一样的操作系统,然后就坐在办公室里像毕尔•盖茨一样细细数你的钱了);第二,它甚至是其它编程语言的母语言,比如Java语言就是用C语言编写的(怎么样?牛吧!);第三,编译出来的程序几乎不浪费空闲的空间(不像VB那样,就一个按钮都要把它所有的方法调用进来);第四,程序运行效率高(你不希望自己的企业运行在一天就只能做一个面包的基础之上吧),等等等等。不过列举C语言的优点也不是去排斥其它语言,我说了,认识一件事物的缺点就是对它最大的肯定。待把C语言掌握了之后再学学其它的语言那也不坏,既有C语言的底又有其它语言的时尚,还怕在这世上无立足之地?
这也就是为什么我们还要学习C语言的原因。
学习C语言的主要理由有以下几点:
·C语言可以作为学习计算机程序设计语言的入门语言;
·C语言是编写操作系统的首选语言,与计算机硬件打交道时灵巧且高效;
·C语言具有现代高级程序设计语言的基本语法特征;
·常用的面向对象程序设计语言例如C++和Java,其基本语法源于C语言;
·许多C语言编写的软件系统需要维护;
·用于要求程序高速运行领域的编写,例如单片机程序、嵌入式系统软件和通信程序等;
·游戏设计者和黑客少不了C语言;
·C语言使用者和爱好者众多。
需要强调的是,C语言是一种既高级又低级的程序设计语言,高级是指它具有高级程序设计语言的所有特征,低级是指它可以代替机器语言或汇编语言编写高速运行的软件程序。C语言有丰富的库函数可以使用,这为编程带来了极大的便利性,提高了编程的效率。C语言的库函数种类齐全,包括标准输入输入(stdio.h)、数学函数(math.h)、存储分配(malloc.h)和字符串函数(string.h)等等。通过C语言程序及其存储分配函数实现计算机系统内存分配是一种不可替代的实现。
//注:补充几句,现在这么多计算机语言,大体上语法还是相通的。我个人按语法把这些语言分为两大类(就按所谓的高级语言分,不包括低级语言和更高级的如SQL语言),Basic(如VB)、Pascal(如Delphi)、Matlab等为一类,因为它们的语法很相近,且不太严格;C/C++/C#(如Visual系列的),Java等为一类,同样它们的语法很相近,但非常严格。所以要追求流行的Java和C#的话,那你还是选择学好C语言吧,它是基础。