雏形初现
给你一台 1804 的织布机,你能想象它是计算机的灵感来源吗?没错,那一年法国发明家雅卡尔发明了高效率的织布机,他通过对穿孔的有无来控制了编织的图案。
这种打孔模式其实就是变相的在存储图案路线,再用机械还原图案,这和现代的计算设备理念是一致的。
后来,著名的英国数学家查尔斯·巴贝奇利用这打孔模型,在 1822 年提出了根据穿孔卡上的指令存储数据,以进行任何数学运算的可能性,并着力打造其设想机器:差分机。只可惜的是,由于各种原因,直到巴贝奇去世,也没有将其完整的实现出来。
不过,打孔技术可没有被遗忘,反而被发扬光大。IBM 的前身 CTR 公司创始人赫尔曼·何乐礼,借鉴打孔技术发明了制表机。
他通过电气连接,触发卡片打洞,将信息记录了下来,并且还能从这特定排列的孔洞中分析出数据,使得数据的存储和读取有了载体。
后来制表机被广泛应用人口普查中,为各个国家节省了大量的劳动力。
基础奠定
制表机的出现,让电气与机械完美的结合在了一起,让数学运算有了大展拳脚的舞台。只是这还远远不够,无法解决通用计算问题,比如制表机只能用于统计数据表格,其他领域就涉及不了,必须重新定制化。
先后也有很多著名的科学家投入此方面的研究,也提出了很多伟大的理念思想。英国数学家、逻辑学家艾伦·图灵就为此做出了重大贡献。
他在 1936 年提出了用机器来模拟人们进行数学运算的想法,还细分出了机器的构成部分,比如状态存储器、流程控制化、读写移动头等。这就是后来著名的图灵机
模型。
这些先进的理念引领了新的技术发展,1946 年美国政府建成了世界上第一台通用电子计算机,这台机子被当时的新闻媒体形容为“巨脑”,其计算速度比机电机器高了一千多倍!
在 ENIAC 的建设过程中,参与人冯·诺伊曼逐渐意识到了存储程序的重要性,从而提出了计算机自动切换程序的概念,并且在 1951 年研制出了能够将程序储存在内部的计算机:EDVAC。
随着计算机的发展,冯·诺依曼计算机体系结构也在不断的完善,计算机逐渐具备了存储程序,共享数据,顺序执行的特点。
而当硬件层次的架构逐渐完善时,编程语言也在同步发展中。我们都知道,最初的机械设备是通过打孔去控制线路开关,进而执行一系列计算动作。
后来逐渐有了一些固定的机器指令去编排这些动作,就像指导手册一样。只是这种机器指令的编写让人很痛苦。
为此,“COBOL 之母格蕾丝·穆雷·赫柏创造了现代第一个编译器 A-0 系统,通过类似英语的单词来转换计算机的运行指令。
并且后面 IBM 团队也推出了 FORTRAN 语言,这是至今还在使用的编程语言!尽管当时只包含 IF、 DO 和 GOTO 语句,但也让冷冰冰的机器读懂了人类的语言,让机器运作更加人性化。
蓬勃发展
当全能的硬件遇到有灵魂的编程时,计算机开始迸发出属于它的光芒,很多夸时代的作品也被创作出来。这包括起源于 70, 80 年代的 Unix 系统以及 Windows 系统。
后来越来越多的标准协议被定制出来,这包括了互联网的 TCP、HTTP 协议以及物联网的 IoT 协议,有了这些协议共识,通信变得越来越无障碍。
大数据、区块链、人工智能等更多的技术概念被提出应用,各行各业也在进行重大变革,我们的生活逐渐变得数字化和效率化。
现在
计算机已经完美的融入了我们的生活,为我们提供巨大的便利。但我们和机器的界限也越来越模糊,究竟我们会不会被机器所驱动,这需要我们好好的捋清楚边界。
但不管怎么样,现在的我们肯定是要往前踏出一步的,只有探索一切的可能,我们才能更好去认识这个世界!