整理 | 王启隆

透过「历史上的今天」,从过去看未来,从现在亦可以改变未来。

今天是 2022 年 11 月 2 日,1815 年的今天,乔治·布尔(George Boole)诞生,他提出的布尔逻辑理论,首次定义了逻辑代数系统。回顾近现代的科技历史,11 月 2 日这一天还诞生了许多形形色色的事件,对我们如今的科技进程造成了关键的影响。

1916 年 11 月 2 日:编程语言先驱 Adriaan van Wijngaarden 出生

Adriaan van Wijngaarden 于 1916 年 11 月 2 日出生在荷兰,他是编程语言学和语言翻译的领导者,也是编程语言 ALGOL 60 的贡献者;他领导将 ALGOL 60 改写为 ALGOL 68 的项目,这是当时最先进的编程语言,而且激发了远远领先于它的时代的特性。1986 年,他获得了 IEEE 计算机学会先锋奖。Wijngaarden 于 1987 年逝世,享年 71 岁。

图源:维基百科

Wijngaarden 于 1939 年从代尔夫特理工大学机械工程专业获得学位;随后,他攻读了流体力学博士学位,但后来放弃了这一领域。1945 年,他加入了国立研究院;第二年,他和一个团队前往英国,了解二战期间那里开发的新技术。在英国,Wijngaarden 开始对自动计算的新想法感兴趣;1947 年 1 月 1 日,他成为阿姆斯特丹全新的数学中心计算部门的负责人,随后,他进一步访问了英国和美国,为建造第一台荷兰计算机 ARRA 收集想法。

Wijngaarden 是最初的 ALGOL 语言和后来的 ALGOL 68 的设计者之一,为此他开发了一种两级形式语法,后来被称为 Van Wijngaarden 语法。1962 年,他作为国际信息处理联合会(IFIP)算法语言和微积分工作组 2.1 成员,指定、维护和支持编程语言 ALGOL 60 和 ALGOL 68;ALGOL 语言极大地影响了许多其他语言,并且是计算机协会 30 多年来在教科书和学术资源中使用的算法描述的标准方法。

资料来源:维基百科

1948 年 11 月 2 日:NP 问题的提出者 Leonid Levin 出生

P/NP 问题是一个在理论信息学中计算复杂度理论领域里至今未被解决的问题,也是克雷数学研究所七个千禧年大奖难题之一。P/NP 问题中包含了复杂度类 P 与 NP 的关系;1971 年,图灵奖得主 Stephen A. Cook 和今天要介绍的主角:Leonid Levin,两人相对独立地提出了下面的问题,即复杂度类 P 和 NP 是否是等价的(P=NP?),为世人留下了一大难题。

图源:维基百科

1948 年 11 月 2 日,Leonid Levin 诞生于苏联,作为一名苏联裔美国计算机科学家,以其在以下方面的工作而闻名:计算中的随机性、算法复杂性和难处理性、平均案例复杂度、数学和计算机科学基础、算法概率、计算理论和信息论。他和图灵奖得主 Stephen Cook 独立发现了 NP 完全问题的存在。

Levin 于 1970 年在莫斯科大学获得硕士学位,师从著名苏联数学家安德烈·科尔莫戈罗夫,并于 1972 年完成了候选人学位的学业要求。1972 年,Levin 开始在国家科学院莫斯科信息传输研究所研究信息论算法问题,1973 - 1977 年在莫斯科国家石油/天然气工业综合自动化研究所担任高级研究科学家。

1978 年,Levin 移民美国,并在一年后自麻省理工学院取得博士学位;他的一生被描述在《Out of Their Minds: the Lives and Discoveries of 15 Great Computer Scientists》一书的一章中,Levin 因发现 NP 完备性和开发平均案例复杂性而在 2012 年获得了 Knuth 奖;Knuth 奖授予为计算机科学基础做出杰出贡献的人,以计算机科学家高德纳(Donald E. Knuth)命名。

而关于 NP 问题,也通常被称为 Cook-Levin 定理,是克雷数学研究所宣布的 7 个千年奖问题之一的基础,并由该机构提供了 100 万美元的奖金。Levin 关于这个定理的期刊文章发表于 1973 年;在那之前的几年里,他就其中的思想进行了演讲,不过,他对于 NP 问题的完整研究结果是在 Cook 发表之后。

让时间回到 2022 年,在如今的纯粹科学研究,通信、交通运输、工业设计,以及社会军事、政治和商业的斗争中都涌现出了大量的 NP 问题。若按经典的纯粹数学家们所熟悉的穷举方法求解,则计算时间动辄达到天文数字,根本没有实用价值;数学界许多有经验的人认为对于这些问题根本上就不存在完整、精确、而又不是太慢的求解算法。因此,NP=P?可能就是这个世纪最重要的数学问题了。

资料来源:维基百科

1988 年 11 月 2 日:第一种蠕虫病毒 Morris 诞生

1988 年 11 月 2 日,最早通过互联网传播的计算机蠕虫之一莫里斯蠕虫(Morris worm)诞生,这也是第一个获得主流媒体显著关注的蠕虫,这也导致了 1986 年计算机欺诈和滥用法案下美国第一次重罪定罪。莫里斯蠕虫是由康奈尔大学的研究生罗伯特·塔潘·莫里斯(Robert Tappan Morris)编写的,并首先于麻省理工学院的计算机系统发布。

罗伯特·塔潘·莫里斯(Robert Tappan Morris)诞生于 1965 年 11 月 8 日,是一位美国计算机科学家,因 1988 年制造莫里斯蠕虫而闻名;在蠕虫病毒爆发后,他被判处 3 年缓刑、400 小时的社区服务和 1 万多美元的罚款。1989 年 7 月 26 日,罗伯特·莫里斯成为第一个因计算机欺诈和滥用法案被定罪的人。

出狱后,罗伯特·莫里斯共同创立了 Viaweb 公司,这家初创公司制作用于创建在线商店的软件,后来以 4800 万美元的价格卖给了雅虎。罗伯特·莫里斯的父亲也叫 Robert Morris,是贝尔实验室的科学家,Unix 的合著者,NCSC(国家计算机安全中心)的前首席科学家;因此,也许应该称呼罗伯特·莫里斯为“小莫里斯”或者“莫里斯二世”。

图源:维基百科

时间回到 33 年前的今天。按照莫里斯的说法,编写蠕虫病毒的起因并不是想造成破坏,而是想测量互联网的规模。然而,选择在麻省理工学院施放蠕虫,却又掩盖了它其实是来自罗伯特·莫里斯所在的康奈尔大学这一事实;此外,莫里斯蠕虫利用了 Unix 系统中 sendmail、Finger、rsh/rexec 等程序的已知漏洞以及薄弱的密码。

雪上加霜,蠕虫代码中一段非本意的效果加剧了其危害性,它使同一台计算机会被重复感染,每次感染都会造成计算机运行变慢直至无法使用,导致拒绝服务。蠕虫的主体只能感染 DEC 的 VAX 机上运行的 BSD 4 以及 Sun 3 系统,而程序中的一段 C 语言代码会调用程序主体,使其在其它的系统上也能运行。

结果便是,事件第二天,1988 年 11 月 3 日,美国军方的 DARPA 组建了 CERT(计算机紧急反应小组),用以应付此类事件,标志着 Internet 保护开始成为一项严肃的工作,也促使了美国总统里根因此而签署了《计算机安全法令》。如今,莫里斯蠕虫的源代码存放于一个黑色 3.5 英寸软盘中,存放在波士顿科学博物馆中;而罗伯特·莫里斯后来担任了麻省理工学院计算机科学和人工智能实验室的一名终身教授,主攻方向是计算机网络架构,皆大欢喜。

资料来源:维基百科、百度百科

2002 年 11 月 2 日:域名 Linkedin.com 注册成功

图源:维基百科

领英(LinkedIn)是一款社交网络服务网站,域名 Linkedin.com 注册于 2002 年 11 月 2 日。在该网站完成注册后会自动产生和带入电子名片,专门为商业人士设立,堪称具有社群功能的在线履历始祖;不只求职者可在平台上更新自己的履历,企业或雇主也能发布职位。

截至 2015 年,领英大部分的收入来自向招募人员及专业销售人员收取会员消息的访问权限;自 2016 年 12 月起,领英正式成为 Microsoft 全资子公司,链接了全球云端龙头和专业社群龙头。截至 2021 年 2 月,领英拥有来自 150 个国家地区共 7.4 亿注册会员。“历史上的今天”介绍过的不少工程师和企业家都拥有领英账户,比如在 10 月 31 日专栏中介绍的电子书发明者 Florian Brody,便在领英的个人首页上给自己的传奇经历做了一番介绍。

以史为镜,可以知兴替。计算机科学发展至今,有许多至关重要的事件、人物。在《新程序员:我们的技术时代,我们的程序人生》中,来自四十余位技术人跨越半个世纪,用代码敲出一个个真实的程序人生故事!

扫描或点击《新程序员:我们的技术时代,我们的程序人生》订阅!

【历史上的今天】11 月 2 日:蠕虫起源;NP 问题的提出者诞生;领英注册域名相关推荐

  1. 【历史上的今天】11 月 2 日:蠕虫起源;iPad mini 上市;领英注册域名

    整理 | 王启隆 透过「历史上的今天」,从过去看未来,从现在亦可以改变未来. 今天是 2021 年 11 月 2 日,1815 年的今天,乔治·布尔(George Boole)诞生,他提出的布尔逻辑理 ...

  2. 【历史上的今天】11 月 23 日:FTP 作者出生;Alicebot 诞生;世界机器人大会

    整理 | 王启隆 透过「历史上的今天」,从过去看未来,从现在亦可以改变未来. 今天是 2022 年 11 月 23 日,在 18 年前的今天,著名游戏公司暴雪娱乐所制作的第一款网络游戏<魔兽世界 ...

  3. 1849 年 11 月 29 日:真空管的发明者 John Fleming 诞生

    约翰·弗莱明爵士(John Ambrose Fleming)出生于 1864 年 11 月 29 日,他是英国电气工程师和物理学家,以发明真空管(二极管).物理电磁学中使用的右手法则而闻名.弗莱明生于 ...

  4. 历史上的今天——4月1日

    虽然今天是愚人节,但我没有开玩笑! 今天是微软公司的生日!(就怪了) 实际上,今天是"苹果"的生日!!! 苹果公司由史蒂夫·乔布斯.斯蒂夫·沃兹尼亚克和罗·韦恩(Ron Wayne ...

  5. 历史上的今天5月5日的重大事件

    1260年,蒙古帝国在伊勒汗迪纳战役中被击败. 1494年,法国国王查理八世和拿破仑·波拿巴在皮亚琴察达成协议,结束了一场冲突. 1821年,拜占庭帝国的最后一位皇帝君士坦丁十一世被土耳其军队俘虏. ...

  6. 【历史上的今天】11 月 16 日:RISC-V 掌门人出生;微软发布 Windows CE;电子管问世

    整理 | 王启隆 透过「历史上的今天」,从过去看未来,从现在亦可以改变未来. 今天是 2022 年 11 月 16 日,在 1892 年的今天,郭沫若诞生:郭沫若是我国知名的作家.历史学家和考古学家, ...

  7. 【历史上的今天】11 月 16 日:RISC-V 领导者出生;微软发布 Windows CE;电子管问世

    整理 | 王启隆 透过「历史上的今天」,从过去看未来,从现在亦可以改变未来. 今天是 2021 年 11 月 16 日,在 1892 年的今天,郭沫若诞生:郭沫若是我国知名的作家.历史学家和考古学家, ...

  8. 【历史上的今天】11 月 12 日:USB 3.0 发布;图灵机论文被发表;TinyOS 创作者诞生

    整理 | 王启隆 透过「历史上的今天」,从过去看未来,从现在亦可以改变未来. 今天是 2022 年 11 月 12 日,在 112 年前的今天,我国著名数学家华罗庚先生诞生,他也是中科院院士,清华大学 ...

  9. 【历史上的今天】11 月 7 日:图灵奖女性得主诞生;Twitter 告别 140 字符时代;首位中国 AI 主播

    整理 | 王启隆 透过「历史上的今天」,从过去看未来,从现在亦可以改变未来. 今天是 2021 年 11 月 7 日,在 1867 年的今天,居里夫人诞生:居里夫人是法国的著名科学家,研究放射性现象, ...

最新文章

  1. 有哪些新手程序员不知道的小技巧?
  2. 为什么 ElasticSearch 比 MySQL 更适合复杂条件搜索
  3. 最简单java设计模式:工厂方法模式
  4. 子页面赋值给父页面:window.opener.document.getElementById
  5. java 文件写_java写入文件的几种方法分享
  6. 前端学习(3105):react-hello-jsx语法规则
  7. python爬虫淘宝评论_Python爬取淘宝店铺和评论
  8. 程序员解决20年前的加密问题
  9. FilterAttribute过滤器的 执行顺序
  10. Unable to load native-hadoop library的解决方法
  11. avs php,linux 安装AdultVideoScript (AVS)全教程
  12. 上课解除教师机控制(红蜘蛛)超详细
  13. 员工请假系统 php,员工请假管理系统(源代码+论文)
  14. 【LEETCODE】【鱼缸难题】
  15. 计算机考研院校难度排行榜
  16. 五招祛痘法让熟女远离痘痘 - 健康程序员,至尚生活!
  17. flex中的flex-grow、flex-shrink、flex-basis及缩写属性flex的使用场景
  18. 怎么在微信朋友圈中发布长视频,不妨来看看,怎样将长视频发布到朋友圈
  19. PFsense基于LAN卡实现内网不同网段路由互通的坑
  20. delphi XE关于微信公众号支付及微信零钱支付的便捷解决方案

热门文章

  1. 由“c++链接错误:未定义的引用“引发的思考
  2. SAP-SD-国家调整增值税,sap如何同步调整
  3. BZOJ 1909 Berth Allocation
  4. (自)协方差矩阵与互协方差矩阵简介
  5. 让Y40上的MAC启动更快
  6. Qt Quick实现九宫格划指锁屏视图
  7. Single-Stage 6D Object Pose Estimation 论文详解
  8. 逻辑回归(logistic regression)原理理解+matlab实现
  9. 安全管家安卓_安卓手机自带的管家好,还是另外获取的管家好呢?这4点你要知道...
  10. Systemverilog中的logic和bit