就我已经经历过的大学课程,仿佛每一门计算机的专业课程的开头,都是在介绍计算机发展的历史,和大名鼎鼎的冯诺依曼结构。
譬如C语言,比较水的计算机导论,c++,数据结构,计算机组成原理,甚至是Linux实践。
第一次听着可能还新鲜,但久而久之就越来越无聊甚至忘记了具体的内容是什么。我也差不多,所以为了你们更好的理解,专门去看了这么一部电影,《模仿游戏》。
除了能看见超帅的男主角,令人揪心的剧情,还有值得我们这种专业人士注意的,当然就是大名鼎鼎的图灵机。
你能想象我们今天接触的大部分电子设备都是从这玩意儿演变过来的嘛!
所以你要明白,计算机的最底层,其实是非常简单的,就和上图这玩意儿一样。
当然你肯定知道,计算机是使用二进制运行的,也肯定知道那是因为世界上所有可以找到的元器件,能方便表达的就是二进制,比如拿一个电压器,高电压就是1低电压就是0,多方便。
那么自然而然,最开始那批学习计算机的勇士们,都是拿着10101010这样的二进制直接和那笨重的机器打交道,他们拿着长长的纸条,有孔的地方是1,没空的地方是0(还是正好相反来着),总之就是很难对了!
于是一群快累死的程序员动用各自的智慧,发明了汇编语言。
然而汇编语言有多难你肯定知道!
于是又一群快累死的程序员们,发明了高级语言,C语言。
故事讲到这里就结束了,但请你依然把时间线放在十几年前,C语言刚刚发明的那会儿——我们刚刚从使用纸条甚至手摇的机器语言时代,从汇编语言的艰难垦荒走过来。哪里有操作系统Windows啊!
所以,那个时候的我们使用命令行编程。
我猜你可能没办法理解。你使用win+R的组合,在输入cmd,注意不是nmd。
就会看见黑黑的命令行,也是每次你使用VC或者DEV或者任何C语言编译器时,明明那么花花绿绿的界面,一定会蹦出来的那个黑色框框,没错,基本上就是这个了。
那个时候的人们打开电脑就是这种糟心玩意儿。
想看时间怎么办,你输入个time试试。
想听音乐怎么办,对不起,没有。
于是在那种艰苦的情况下,诞生了gcc,因为即使环境再艰苦,我们程序员依然要编辑C语言!
这里我就不给你演示了,因为在Windows上用gcc还要配,我懒得配了。总之就是在这么一个黑不拉几的东西上,C语言完成了从你能看得懂的代码,到机器能看得懂的机器语言10101010。
就跟Windows的诞生一样,那黑色的命令行实在太难看也太难用了。
我们优秀的前辈们,也实在忍不了在gcc上编译运行,出错全靠肉眼输出改bug了。
于是我们有了VC,一只套着VC名称实则还是gcc的狼。
所以其实,Windows和Linux系统用的C语言编译器,都是gcc,只不过你们一般见到的,都是套了壳子的。
看完觉得还行不点个关注?