• 计算机的前世今生


    作为一名程序员,我相信大家对自己面前的电脑,键盘,鼠标都习以为常,也知道从图灵开始,冯洛伊曼,香农等大佬接连登场,开辟了计算机的新时代

    那么,你是否详细的了解过这些天才们是如何与全世界工程师接力,创造出如此庞大的计算机世界吗?

    今天,本文讲从故事的角度,避免陷入细节,将计算机的出世分为四个时代,来告诉屏幕前的你,这一人类历史上最伟大的作品,是如何诞生与演变的

    img

    上古时代——图灵机与冯洛伊曼结构

    艾伦图灵,一个传奇人物,和我们熟悉的外国名人一样,他从小也是成绩不好,倒不是因为学渣,而是他将注意力都放在了自己喜爱的事情上,对于数学,他几乎不需要看答案,就能自创解法,在我看来,数学好的人,就是能看透问题本质的人。

    这一天赋与习惯,使他在思考问题时,避免受到前人思想的干扰,往往能有独创性的解法

    有一天,图灵在学校了解了一个课题,称为判定问题:

    对于给定的数学语言,是否有方法或者程序可以让机器判定某件事的真假,并将结果显示出来

    也就是说,是否有一台机器,你先与装好三段论——如果所有的A都是B,C是A,那么C也是B

    那么,当你输入——所有男生都是人,小松是男生,所以小松不是人,他会说你错了

    这种机器潜力巨大,因为一旦拥有,人民可以从不断重复的判定和计算工作中解脱出来,还不会出错

    天才图灵一听就知道,这种机器可以改变世界

    于是接下来几个月他都花在这上面,当时他23岁,和我现在一样大

    这里我们做简单介绍

    图灵机

    想象一个无限长的纸带,充满了格子,上面只有三种情况,空,0,1

    img

    这张纸带会被送入给到图灵机进行,机器有一个探头,可以做以下操作

    1. 可以读取探头指到的格子上的数字
    2. 可以编写或者擦除数字
    3. 可以左移或者右移

    也就是说,只要纸带无限长,每一段01有自己独特的含义,那么理论上计算机可以做任何事情

    关于图灵机的具体论述可以看图灵机

    这是媲美造物主的智慧,因为直到30年后发现的dna双螺旋结构,基因编码就是使用了类似的逻辑

    冯洛伊曼结构

    逻辑电路

    图灵机是计算机的灵魂,但是需要一具骨架去承载

    计算机本质上是在处理信息,而信息在当时看来是一个无实体的东西,如何让一个机器能处理信息?

    香农就在思考这个问题

    数学上有一种逻辑代数系统,叫做布尔逻辑,任何逻辑表达式的计算结果不是数字,而是真,假两种值

    这种逻辑的好处在于,数字是无限的,但是他可以化无限为有限

    那么逻辑和电路是否可以这样呢?纵使人们输入的指令千奇百怪,但是最后如果都化成布尔逻辑的话,就可以完美解决任何指令,开关接通为真,关闭为假即可

    img

    而人们已经证明,所有的数学问题,都可以归结为逻辑问题,而数学,是描述真实世界的框架,也就是说

    所有对真实世界的描述都可以被逻辑电路的开关所描述

    计算机

    有了灵魂与骨架,现在,就差一副肉身了,冯洛伊曼出场

    冯洛伊曼,就是天才中的天才

    一名教过他的数学家说:如果我在一堂讲座上公布了一道未解的难题,他通常会在讲座一结束就找到我,给我一张字条,上面草草地写下了完整的解法

    我们现在来思考一下,如何构造一台计算机

    首先,计算机的本质是运算,现实世界的指令被分解为逻辑电路后会有大量的基本布尔逻辑运算,他需要一种算数模块去迅速执行这些,所以机器的核心应该是这种算术模块,同时还要有对应的控制模块来指挥下一步操作

    其次,进行复杂操作后会产生一些现成结果,等待二次运算,不能丢掉,所以需要一些逻辑电路进行保存

    最后,指令的输入和计算结果的输出需要对应的设备

    他们就是cpu,内存与IO

    世界上第一台通用计算机“ENIAC”于1946年2月14日在美国宾夕法尼亚大学诞生

    img

    封建时代—— 编程

    汇编的出现

    在第一台计算机出世后,后面又有很多专家做了重大图突破,包括使用晶体管,硅基芯片等,但是操作机器指令真的只是天才们的狂欢,现在已经很难想象,当年的人们仅仅根据0和1来操作计算机

    普通人根本无法踏入一步,即使是天才们也觉得很痛苦,先驱之一的惠勒曾经说过:

    那时候,我正试着让自己编写的第一个真正意义上的程序运转起来。有一次,我像往常一样从EDSAC 机房出来,准备去操作打孔机,突然站在楼梯转角处犹豫了,心里意识到,单是给自己的程序除错,可能就要花掉我大半辈子的时间

    img

    于是,一位叫做维尔克斯的人提出了“编程”这一概念,简单说就是,先将一些复杂的指令合成一个集合,比如除法,然后需要用到是直接调用就行,也是现在的主流指令集之一,复杂指令集(CISC)的原型

    基于这一指令集,汇编语言出现了,同时出现的还有LISP,BASIC

    编程走向世界

    现在我们可以简单梳理一下,计算机的转换为

    真实世界的信息 -> 数学描述 -> 逻辑电路开关 -> 机器指令 -> 汇编语言

    没错,计算机就是逐渐将真实世界转换为人类可以理解的语言的过程, 这一过程,就是计算机语言的发展过程

    维尔克斯基于这一方向,继续研究,发明了CPL,进一步演变为B语言与1972年诞生的C语言

    近代—— 互联网

    对于程序员来说,c语言出现后,基本就很熟悉了,接下来还有java,python等等

    尽管开发软件变得简单,但是对于用户来说,还是需要长期的学习才行,更关键的是,计算机仍然是独立的,没有联系起来,

    在美国国防部牵头搭建了阿帕网后,确实计算机可以联系起来,但是非常有限,不仅错误多,而且范围小,而且基于阿帕网的思想,很多地方都建立的自己的局域网,而这些局域网之间互不通信

    img

    罗伯特卡恩,就是一位让计算机网络“车同轨”的人,他发现,与其设计各种各样泛滥的网络,不如创建一个统一的接口协议,只要遵守这一协议搭建网络,即使跨越几十年的时间与几万里,也能通信,。这就是TCPIP的诞生,

    接口通信思想也成为了编程最重要的思想之一,小松是做android开发,与后端传输数据也经常需要定协议

    互联网因此而诞生,而且规模庞大到远超当初的人们想象,互联网中,每一台计算机都是一个节点,节点连接其他节点的数量称为“度”,度越大的节点越有价值,而与他们越近的节点度也变得越来越大,这些有价值的节点聚集起来,成为了互联网的中枢节点,这也成为信息安全,密码学,云计算的起点

    img

    现代 —— AI与VR

    AI就不多说了,计算机图形学,尤其是其中光线追踪这类技术的发展,让仿真世界走入了千家万户

    我其实蛮期待VR的

    不仅仅是那些千奇百怪的技术,而是我觉得VR也许可以让我们这个社会少一些偏见与戾气

    男性觉得女性物质不努力,女性觉得男性多情没前途

    成年人觉得孩子们叛逆,孩子们觉得成年人控制欲强

    想清零的觉得想共存的不顾大局,想共存觉得想清零的被洗脑了

    挺俄的觉得俄罗斯在帮中国挡刀子,挺乌的觉得反侵略必然胜利

    这一切的一切,都是因为不同生活环境,经历的人们,无法共情,无法切身体会对方所经历的苦难

    人是会变的,也是善变的,

    而在VR里面,你可以体会任何角色,

    今天是可以发动战争的皇帝,明天又成为被抓上战场的壮丁

    今天是可以一掷千金的富豪,明天又成为在桥洞下被驱赶的流浪汉

    今天是可以后宫三千的男人,明天又成为被抛弃一个人带孩子的的女人

    ……

    img

    人类的共情能力真的很差,往往需要把真实的东西赤裸裸的摆在他们面前,才能明白他们所讨厌的,所偏见某些东西,并不是他们原先所想的样子

    而VR,我觉得是一个希望,可以做到这一点

    当每一个人都切身体会过别人的处境后,也许会对对方的选择有更多的包容

    我觉得,这项技术有彻底消灭歧视,偏见与战争的潜力,这是我对未来科技向善的最大期待

    小结

    回头来看,计算机的发展,就是从 真实 -虚拟-真实的过程,我们把路径再拉长一点

    真实世界 ->

    数学描述 - 逻辑电路 - 机器指令 - 汇编语言 - 高级编程语言 - 计算机图形学 - AI - >

    VR

    而最终, 让人们分不清真实世界与VR,这就是计算机要做的事情。

    也许,真实世界也是被一台计算机所创造的,那台计算机,叫耶和华~

  • 相关阅读:
    VoLTE端到端业务详解 | 典型话务模型
    keil和proteus联动要点
    Ubuntu本地快速搭建web小游戏网站,公网用户远程访问【内网穿透】
    使用sipParseArgs/sipBuildResult进行python/C++对象的转换
    [微服务]Spring Cloud Sleuth全链路追踪
    java计算机毕业设计社区健康信息管理系统源码+系统+mysql数据库+lw文档
    Blazor前后端框架Known-V1.2.16
    微信小程序里边怎么添加付费视频_怎么做付费视频小程序
    【牛客网-前端笔试题】——Javascript专项练习5
    LeetCode.347. 前 K 个高频元素
  • 原文地址:https://blog.csdn.net/qq_37465638/article/details/127126823