“我不是学计算机的,为啥要学C语言?”如果把学C语言的精力用来学学其它与专业相关度更高的东西,是不是会更好呢?既然如此,干嘛还学C语言呢?
大学里除了要拿到“毕业证”和“学位证”以外,还要过“四级”和“二级”,否则可能会被扣发两证,或找工作受阻,难以“落户”等。这里的二级指的是“全国计算机等级考试二级”,是一个面向“程序员”,“考核计算机基础知识和使用一种高级计算机语言编写程序以及上机调试的基本技能”的考试。虽然社会只需要少量的人会编程序,但莫名其妙的是几乎所有的大学生都想(或被要求)过二级,导致程序设计课程成为了必修课。
二级考试可选的语言包括C、C++、Java、Delphi、Visual Basic、Visual FoxPro和Access。为什么偏偏要学最古老的C呢?这里的原因复杂多样,每个学校都有各自的解读,就不一一列举了。总之,中国一定是世界上“认识”C语言的人口最多的国家,二级考试功不可没。
反正既然此课已开,不学也不行,精力已经搭上,就还是认真了解一下C语言吧。虽然有些无奈,但好在C语言确实是一个有趣的家伙,而且越了解越觉得有趣。如果不信,请往下看……
游戏、黑客和C语言
1969年的美国贝尔实验室,是当时科技界的梦工厂,集结着世界上最富创造力的科学家和工程师,包括数位诺贝尔奖获得者,他们一起创造了无数影响着全人类的发明。比如数码相机的核心——CCD就是那一年在贝尔实验室诞生的。
这帮家伙的成就貌似高不可攀,但其实也都是凡人,在某些方面和我们也是非常相似的。比如当他们见到一台强大的计算机时,心里最先想到的也是用它来玩游戏。那个时代,计算机是大型机构才能拥有的奢侈品,在这上面玩游戏实在暴殄天物。但谁在乎呢,追求快乐是最重要的,所以他们为了痛快地玩游戏而没少动脑筋。
那时候是没有商业游戏的,所以想有游戏玩,首先要发挥DIY精神,自己编。自己编的游戏被别人喜欢,是当时最有面子的事情。有一个叫Ken Thompson(以下尊称为ken)的工程师,26岁,游手好闲,看到阿波罗11号载人登月成功,觉得挺酷,自己也想试