大学c+什么意思,大学排名c+是什么意思

首页 > 经验 > 作者:YD1662022-11-01 08:19:30

谁叫你不幸生在中国了?

——何祚庥(中国科学院院士)

这是一本给非计算机专业的大学生的C语言的书。“我不是学计算机的,为啥要学C语言?”这个问题每年在中华大地都会被问上几百万次。被问的对象可能是老师,也可能是师哥师姐。师哥师姐往往也就是故作明了的表情,复述一遍隐约记得的老师的话。而这些话多半都是比较高瞻远瞩的,例如“将来可能会用到”,“锻炼编程思维有好处”,“C语言是学编程的基础”等等。这些话没有错,所谓“技不压身”,多学点儿东西肯定比不学要有好处。但问题是,如果把学C语言的精力用来学学其它与专业相关度更高的东西,是不是会更好呢?既然如此,干嘛还学C语言呢?

最实在的答案,是何祚庥院士的:“谁叫你不幸生在中国了?”

大学c+什么意思,大学排名c+是什么意思(1)

大学里除了要拿到“毕业证”和“学位证”以外,还要过“四级”和“二级”,否则可能会被扣发两证,或找工作受阻,难以“落户”等。这里的二级指的是“全国计算机等级考试二级”,是一个面向“程序员”,“考核计算机基础知识和使用一种高级计算机语言编写程序以及上机调试的基本技能”的考试。虽然社会只需要少量的人会编程序,但莫名其妙的是几乎所有的大学生都想(或被要求)过二级,导致程序设计课程成为了必修课。

二级考试可选的语言包括C、C 、Java、Delphi、Visual Basic、Visual FoxPro和Access。为什么偏偏要学最古老的C呢?这里的原因复杂多样,每个学校都有各自的解读,就不一一列举了。总之,中国一定是世界上“认识”C语言的人口最多的国家,二级考试功不可没。

反正既然此课已开,不学也不行,精力已经搭上,就还是认真了解一下C语言吧。虽然有些无奈,但好在C语言确实是一个有趣的家伙,而且越了解越觉得有趣。如果不信,请往下看……

大学c+什么意思,大学排名c+是什么意思(2)

游戏、黑客和C语言

1969年的美国贝尔实验室,是当时科技界的梦工厂,集结着世界上最富创造力的科学家和工程师,包括数位诺贝尔奖获得者,他们一起创造了无数影响着全人类的发明。比如数码相机的核心——CCD就是那一年在贝尔实验室诞生的。

这帮家伙的成就貌似高不可攀,但其实也都是凡人,在某些方面和我们也是非常相似的。比如当他们见到一台强大的计算机时,心里最先想到的也是用它来玩游戏。那个时代,计算机是大型机构才能拥有的奢侈品,在这上面玩游戏实在暴殄天物。但谁在乎呢,追求快乐是最重要的,所以他们为了痛快地玩游戏而没少动脑筋。

那时候是没有商业游戏的,所以想有游戏玩,首先要发挥DIY精神,自己编。自己编的游戏被别人喜欢,是当时最有面子的事情。有一个叫Ken Thompson(以下尊称为ken)的工程师,26岁,游手好闲,看到阿波罗11号载人登月成功,觉得挺酷,自己也想试试,就设计了一个叫“Space Travel”的游戏。在游戏中,玩家驾驶着宇宙飞船,在虚拟的太阳系里穿梭,欣赏美景的同时,还可以在各个行星、卫星表面降落。这个游戏先是在Mutlics系统上编写,后来又在GECOS系统上重写。能运行这两个系统的机器都是笨重的大型机,虽然运算能力出众,但显示效果很差,而且机时费非常高,玩一次,公司要支付75美元(当时美国人均月收入大约200美元)。这要是被老板发现了,可不是闹着玩的。于是他伙同28岁的同事,Dennis M. Ritchie(以下尊称为dmr),满大楼地寻找免费的“游戏机”。功夫不负有心人,还真被他们找到了一台。

PDP-7小型机,DEC制造,拥有当时最先进的图形处理能力。彼时的计算机主要用来处理数据,图形能力并不太重要,所以PDP-7更多的时候是静静地躺着,很少被使用,直到ken和dmr这对骨灰级的玩家发现了它。

游戏开始了。但是,游戏的运行需要操作系统的支持。PDP-7当时还是“裸机”,没有能在其上运行的操作系统。伟大的DIY精神再次发挥作用,他俩挽起袖子开始为PDP-7编写操作系统,并给这个系统起了一个名字——Unix。直到今天,Unix仍然是最被信任的操作系统,它既支撑着军队、政府、电力、电信和银行等大型机构的关键业务,也是苹果Mac系列电脑的动力之源,甚至iPhone、iPod Touch的魅力也部分拜其所赐。

Unix起初是用汇编语言编写的,那是一种更接近机器而不是人的语言。计算机能直接读懂的语言叫机器语言,它所有的语句都是由“0”和“1”两个数字构成的,根本就不是给人看的。当最后一个机器语言程序员疯掉以后,人们终于开始琢磨怎么让计算机认识人语。基本思路是做一个翻译程序,直接把人语翻译成机器语言。这种翻译程序被命名为“编译器”。但是直接理解人语太难了,直到现在还没能实现,所以就折中一下,设计一种尽量接近人语,还能被精确翻译为机器语言的语言。这种语言就是我们常说的编程语言,学编程的过程,其实就是学用编程语言说话给编译器听的过程。第一种编程语言肯定是最接近机器而远离人类的,它就是汇编语言。虽然看上去有几分像人语,比如加法叫“ADD”,减法叫“SUB”,但它的语法完全是机器的,每一行语句都和一条机器指令严格对应,这个特点使得针对一种计算机编写的汇编程序不能在另一种计算机上使用,因为这两种计算机的机器语言是不同的。用专业术语来说,汇编语言缺少“可移植性”。

大学c+什么意思,大学排名c+是什么意思(3)

Unix的优雅加上Space Travel的吸引力,使很多人希望他们的计算机上也能安装Unix,玩玩Space Travel。于是ken和dmr决定改用高级语言编写Unix,这样它就可以在更多类型的机器上运行。

高级语言是除了机器语言和汇编语言以外几乎所有编程语言的统称。它的特点是更接近人语,而与机器语言基本没有瓜葛。不同的高级语言编译器可以把同样的代码翻译成适应不同机器的指令,因而高级语言大多具有很好的可移植性。

故事讲到这里,该这本书的主角——C语言,登场了。决定使用高级语言后,在语言的选择上,ken和dmr遇到了麻烦。当时可供选择的高级语言有很多,包括直到现在还在被使用的BASIC和Fortran等,但都没被看上眼。DIY基因再次发挥作用,他俩决定自己设计一种好用的高级语言,用来重写Unix。那一年是1972年,ken继续完善Unix,dmr以ken早年设计的B语言为基础,开始设计新语言,两人一起开发编译器。这个新语言被随随便便地命名为——C语言。

1983年,因为Unix和C语言的巨大成功,ken和dmr共同获得了计算机界的最高奖——图灵奖。玩游戏玩到这等境界,古今也就只有这两人吧。

Unix和C,得中其一,便能富可敌国。然而,他俩从一开始就没有去想申请专利、商标、软件著作权等法律保护,而是把所有的一切,包括源代码,都随心所欲地到处散播。对他们来说,自己写的程序有人使用,是最大的快乐,也是最大的财富。也正因为如此,很多机构和个人都能自如地为Unix和C做贡献,极大地促进了它们的发展。

从上面的故事,我们可以发现他俩的很多可爱之处:做事情以兴趣为出发点,并不在乎未来会怎样;极富钻研精神,信奉“自己动手,丰衣足食”;乐于分享,不计回报。他们的这些特点正是正宗“黑客精神”的集中体现。他俩也被奉为黑客圈子里的英雄,甚至是开山鼻祖,大家都尊称他俩为ken和dmr(必须小写)。几十年过去了,黑客圈子里再没有第二个人敢叫“ken”,这个英语圈里司空见惯的名字。

Unix和C至今仍是年轻黑客被圈子接受前必须苦练的三大技艺之一和之二(之三是随便一种脚本语言)。由黑客设计,被黑客推崇,所以C语言自身也处处闪耀着黑客精神的光芒。这种光芒使它能够永葆青春。

大学c+什么意思,大学排名c+是什么意思(4)

首页 12下一页

栏目热文

文档排行

本站推荐

Copyright © 2018 - 2021 www.yd166.com., All Rights Reserved.