[导读]关注星标公众号,不错过精彩内容来源| 机器之心2009年,Facebook推出了一份改变世界的代码——点「赞」按钮。「赞」是包括LeahPearlman和JustinRosenstein在内的数名程序员和设计师的创意。他们认为Facebook用户经常太忙而无法在朋友的帖子上发表评...
关注 星标公众号,不错过精彩内容
来源 | 机器之心
2009 年,Facebook 推出了一份改变世界的代码——点「赞」按钮。「赞」是包括 Leah Pearlman 和 Justin Rosenstein 在内的数名程序员和设计师的创意。他们认为 Facebook 用户经常太忙而无法在朋友的帖子上发表评论,但是如果有一个简单的按钮可以使用,那一定会大受欢迎。「朋友们可以更频繁、更轻松地相互点赞互动」,Pearlman 说。
这个按钮奏效了,甚至有点超乎想象。到 2012 年,「赞」这个按钮已经有了超过 1 万亿次的点击。但它也产生了副作用。我们发布一张照片后,会坐立不安地刷新页面,等待更多的「赞」。我们想知道为什么别人的赞越来越多。因此,我们开始在社交网络中「暗暗发力」:变得更有趣、更犀利、更迷人、更极端。
代码重构了我们的生活。正如风险资本家 Marc Andreessen 写的那样,「软件正在吞噬整个世界」,不过说软件正在消化这个世界可能更准确。
因此,美国 Slate 杂志做了这样一个调查。为了厘清改变世界的那些软件,编辑们对计算机科学家、软件开发人员、历史学家、政界人士和新闻工作者进行了民意调查。他们需要选择:哪些代码有巨大影响力?哪些改变了我们的生活?有 75 位人士提出了自己的想法,Slate 选择了其中 36 位(译文有删减)。这并不是一个完整的清单,因为有影响力的代码太多。该清单旨在激发思想——帮助我们重新思考代码如何影响我们的生活以及程序员的决策如何影响未来。
二进制穿孔卡片(1975 年)
第一种代码
二进制编程出现时间比计算机都早。Basile Bouchon 是第一个在纸上打孔并用它来控制机器的人:1725 年,他发明了一种织机,该织机根据所送入的穿孔纸编织出不同图案。打孔是「1」,没有打孔是「0」。此后机器发生了很多变化,但基本的代码组成并没有改变。——Elena Botella, Slate 执行的第一个现代代码(1948 年)
引领了计算机代码的使用和核灾难计算机模型的出现,为冷战时期的军备竞赛打下了基础
电子数字积分计算机是第一台可编程电子计算机。它于 1945 年完成,通过在许多组件之间进行连接来为每个新问题进行配置。当一项任务(例如加法)完成时,一个脉冲会触发下一项任务。但是几年后,冯·诺依曼(Von Neumann)和 Los Alamos 的科学家 Nicholas Metropolis 改进了 ENIAC,运行了在计算机上执行的第一条现代代码:从可寻址的只读存储器(ENIAC 的功能表开关)执行数百条数字指令。他们使用蒙特卡洛技术模拟了在新墨西哥州的洛斯阿拉莫斯国家实验室提出的几种原子弹设计的爆炸过程,通过这种方法逐步模拟了复杂系统,绘制了可能结果的概率分布。冯·诺依曼和梅特罗波利斯向洛斯阿拉莫斯的核科学家发送了 20,000 多张卡片,通过引爆弹头追踪了模拟中子的过程。如今,此代码的后续版本仍在洛斯阿拉莫斯使用。——Thomas Haigh,《ENIAC in Action: Making and Remaking the Modern Computer》合著者
GRACE HOPPER 的编译器(1952 年)
使计算机处理单词成为可能
Grace Hopper 在对一台早期计算机编程时,为了简化整个过程决定将编程语言植根于人类语言。霍珀(Hopper)在第二次世界大战期间加入了美国海军预备役。她知道,像她的军事上司一样,人们都在努力理解二进制代码。如果编程语言可以是基于英语的,那么这项工作就不会那么容易出错,并且对于那些不是数学博士的人来说也更容易理解。
一些人对此想法不以为然,但到了 1950 年代初,她设计了一个编译器,即一组指令,将一种更易懂的代码转换为机器直接处理的低级代码。她和她的实验室使用该工具开发了 FLOW-MATIC,这是第一种将英文单词融入该过程的编程语言。——Molly Olmstead, Slate
太空战争!(1961 年)
第一个分布式视频游戏(Spacewar)
电子邮件的起源(1965 年)
Come on,电子邮件来了!
阿波罗 11 号登月舱救援代码(1969 年)
防止登月舱计算机在太空中空间耗尽的代码
Hello, World!(1972 年或更早)
引领一代又一代人打开编程大门的代码
当你坐下来学习一种新的编程语言时,教程要求你做的第一件事就是让计算机显示「Hello,world!」。也许最著名的早期示例来自贝尔实验室的「C—A 编程教程」。该教程写于 1974 年,尽管在 1972 年的手册中也发现了另一种更早的语言 B。
「Hello,world!」这是极好的教学方法。这是一项小的、可实现的任务,能够使学生有成就感。这是一个标准,有助于说明不同编程语言之间的差异。这也是高级程序员确保安装新环境后一切正常的一种快速简便的方法。(有时程序员使用「到'hello world'的时间」比较语言和环境的速度。)也许最重要的是,「Hello,world!」能帮你打开编程的大门,它告诉你这就是新世界。——Chris Noessel,IBM AI 设计主管。
以空字符结尾的字符串(1972 年)
计算史上最大的灾难性设计错误
1972 年,Dennis Ritchie 做出了一个重大决定:用一种名为「空字符结尾字符串」(null-terminated string)的新语言来表示文本。这个概念早就出现了,但是他把其写进了他称为 C 的新语言中,这个决定就一直影响我们到现在。
编程语言代表一段文本的主要方式有两种:一是具有固定、显式长度——「只包含 10 个字符,不能再多了」或者可以以空值结尾——「这里有一串字符,继续努力,直到看到零字节为止!」
C 代码中有一个非常常见的错误,在将一个长字符串复制到一个较短的字符串中时,会出现结尾溢出,即你破坏了刚好在附近的其他数据。就像在白板的边缘上乱涂乱画一样。
除了仅使程序出现故障外,还可以利用此类错误来改变程序行为,方法是使用经过精心设计的特定数据覆盖某些内容。这些就是缓冲区溢出攻击。你听说过的几乎所有安全漏洞都从 1988 年的 Morris Worm 开始。
你必须在 C 语言中仔细编码以避免此类错误,但是此类错误仍然容易发生。从路由器到「智能」灯泡,几乎每种现代语言都避开了空字符结尾字符串,但是 C 和 C 仍然在语言界有支配地位。因此,近 50 年后的现在,我们还在「饱受折磨」。——Jamie Zawinski,Netscape 开发人员、Mozilla.org 创始人
温哥华股票交易所的交易错误(1982 年)
不起眼的小数误差造成极大损失
1982 年初,温哥华证券交易所推出了一种电子股票指数,该指数最初定为 1000 点。在两年内,它跌了一半,这在 1980 年代初期的牛市中似乎匪夷所思。一项调查显示,使用 floor() 而非 round(),会造成对索引的计算错误。该命令意味着该值会被直接截止而不是四舍五 入到小数点后三位。(数字计算机必须具有有限的分辨率,因此需要四舍五入或直接截止。)因此,如果索引计算为 532.7528,则会被存储为 532.752,而不是四舍五入为 532.753。在每天数千次计算的过程中,这种看似很小的差异——每次必须四舍五入时未进行四舍五入——导致了巨大损失。这个编程错误最终在 1983 年 11 月得到解决,当时周五的收盘指数在 500 点左右。问题解决后,该股票于周一重新开盘,指数就超过了 1,000 美元,损失的价值得以恢复。——Lav Varshney,伊利诺伊大学香槟分校助理教授
THERAC-25(1985-1987 年)
过度自信是致命的
当真相浮出水面时,各大媒体的头版头条就对机器现代化发出了警告。《洛杉矶时报》宣称:「在这个复杂时代,软件漏洞变得致命。」一台用于治疗癌症的机器在几家医疗机构中对六名患者进行了大剂量过量辐射,造成至少三人死亡。
研究人员发现,Therac-25 的代码可能带来致命的错误。该机器提供低功率和高功率治疗,后者需要一个金属设备来过滤光束。但是由于软件中的错误,操作员可能会在没有金属设备的情况下意外触发高功率模式。
Therac-25 被设计为 Therac-20 的「改进」,设计时被认为是万无一失的,不需要外部安全检查。结果:几起死亡归咎于过度自信的工程师,他们没有考虑到失误的可能性。——Molly Olmstead
互联网中继聊天(1988 年)
最初的在线挂机
莫里斯蠕虫病毒(1988 年)
惊觉互联网已经如此庞大
罗伯特·莫里斯(Robert Morris)和互联网本身都还年轻。当时 23 岁的康奈尔大学研究生 Morris 发布了「莫里斯蠕虫病毒(Morris Worm)」,这是所谓的「互联网上的首次重大攻击」。近 60,000 台连接到互联网的计算机中有 10%遭到破坏,造成数百万美元的损失,该事件导致《纽约时报》首次刊登了「互联网」一词。即使是精通技术的人也会吃惊于蠕虫病毒的影响范围之广。Morris 说,他从未想过有如此大的损失,他成为根据《计算机欺诈和滥用法》被起诉的第一人。在被判处三年缓刑后,他成为著名的创业孵化器 Y Combinator 的共同创始人和麻省理工学院的计算机科学助理教授。——Elena Botella
只有一行代码的病毒(日期:90 年代)
单行代码的功能以及计算机惊人的脆弱
上图展示的是一种名为「fork 炸弹」的单行病毒。它需要一些特定的条件才能被触发(包括较旧、易受影响的 Unix 操作系统副本)。如果在 Bash 中键入此命令,它将一遍又一遍地复制自己,直到耗尽计算机中的所有可用内存并导致崩溃。
它之所以有名不是因为它相对于其大小所表现的危险性,而是它使用冒号作为函数名称。大多数函数(可重复使用的代码行)都以描述性方式命名,例如「Print」或「isThisEmailValid」,但并没有规定必须如此。在大多数计算语言中,不能使用冒号作为函数名称,但在 Bash 中可以。
2002 年,我在德国法兰克福的 Angewandte Kunst 博物馆第一次看到作为展品的这行代码。博物馆中没有展示多少代码。——Chris Noessel
HTML 超链接(1990 年)
连接一切的工具
JPEG(1992 年)
改变了我们与摄影的关系
Mosaic 浏览器(1993 年)
第一个获普遍使用且能够显示图片的网页浏览器
跟踪像素(1993 年)
现代数据收集始于这些看不见的图像。
通过跟踪像素下载,他们会了解了你的身份和位置,并触发一个 cookie 下载到你的浏览器中。该 cookie 使广告商可以在多个网站上跟踪你。
像素跟踪的成功直接导致了 Facebook 的点「赞」按钮出现,该按钮可在每个嵌入的网站上进行跟踪。大量的数据收集实现了高度定向,也使 Facebook 广告大获成功,最终 Facebook 从媒体公司口袋里赚到数十亿美元。
Robots.txt(1994 年)
一个对搜索及其他应用均具有重大意义的小工具
维基(1994 年)
为维基百科铺平了道路
第一个弹出广告(90 年代中期)
互联网的「害群之马」
Google 的 PageRank 算法(1996 年)
革新我们组织知识的方式
在 PageRank 之前,搜索引擎根据我们的查询词是否与文档中的词匹配来查找信息。但是对于 PageRank,拉里·佩奇和谢尔盖·布林提出了一个绝妙的主意:知识是社会性的,搜索也应该是。他们创建了一种算法,通过网络浩瀚的超链接关系来确定一个页面的等级。一个页面的 PageRank 是由所有链向它的页面的重要性经过递归算法得到的,一个有较多链入的页面会有较高的等级。正是两位这种独具慧眼的洞察力造就了 Google 的当今地位。——Clive Thompson
失联的火星气候轨道飞行器(1999 年)
因数学错误而失败的任务
1999 年 9 月 23 日,NASA 的科学家与耗资 1.25 亿美元的「火星气候轨道飞行器」失联。后来的调查确定了原因:承包商使用英制单位为轨道飞行器编写了程序,这在美国是标准的,但是 NASA 的软件使用了公制。两段代码之间一次简单的通讯错误使轨道飞行器飞向了未知的地方。
人们很容易把这种度量错误看做偶然,但这表明当下这个互联软件的世界多么脆弱。所有互联的技术(电话、航天器、机器人榨汁机等等)都依赖于定义与他人进行通信的方式的接口。极小的差异也会导致混乱。——Charles Duan
比特币(2008 年)
激发人们对某种货币的信心的代码
点赞按钮(2009 年)
它催化了监视经济。
Facebook 设计的点「赞」按钮,使我们可以向世界展示我们的喜欢《辛普森一家》或炸薯条。但实际上,它利用了我们的认知偏见和设计的力量,诱使我们分享更多的信息。它们利用上面提到的跟踪像素在互联网上跟踪我们,收集有关我们浏览习惯的数据。然后,Facebook 利用该信息,并将其行为定位算法卖给广告商。如果一家户外用品公司想要做广告,那么 Facebook 可以锁定那些「点赞」远足信息、访问露营网站以及有户外朋友的人。当这些用户给公司的广告点赞时,该信息就会反馈到定位算法中。因此,监视和商业操纵会形成循环。都是因为一个小小的蓝色竖起大拇指。——Ari Ezra Waldman,纽约法学院教授
波音 737 Max(2017 年)
软件错误加上公司贪婪,导致数百人丧生,大批飞机停飞
2018 年 10 月,狮航 610 航班起飞后不久就坠入海中。波音向公众保证飞机是安全的,并表示需要更多的飞行员训练和「软件升级」。但是仅仅四个月后,埃塞俄比亚航空又有一架飞机失事。飞行员努力将机头抬起 20 次,但飞机的自动系统却将机头往下拉。起飞后几分钟内,就机毁人亡。全球航空当局当即将飞机停飞。调查显示,坠机事故是由 737 Max 的设计引起的,尤其是那些鲜为人知的软件,可能迫使飞机不断俯冲。——Mar Hicks,技术史学家,《Programmed Inequality (http://www.amazon.com/dp/0262535181/?tag=slatmaga-20)》作者。
原文链接:https://slate.com/technology/2019/10/consequential-computer-code-software-history.html
声明:本文素材来源网络,版权归原作者所有。如涉及作品版权问题,请与我联系删除。
------------ END ------------
本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除。
9月2日消息,不造车的华为或将催生出更大的独角兽公司,随着阿维塔和赛力斯的入局,华为引望愈发显得引人瞩目。
关键字:
阿维塔
塞力斯
华为
加利福尼亚州圣克拉拉县2024年8月30日 /美通社/ -- 数字化转型技术解决方案公司Trianz今天宣布,该公司与Amazon Web Services (AWS)签订了...
关键字:
AWS
AN
BSP
数字化
伦敦2024年8月29日 /美通社/ -- 英国汽车技术公司SODA.Auto推出其旗舰产品SODA V,这是全球首款涵盖汽车工程师从创意到认证的所有需求的工具,可用于创建软件定义汽车。 SODA V工具的开发耗时1.5...
关键字:
汽车
人工智能
智能驱动
BSP
北京2024年8月28日 /美通社/ -- 越来越多用户希望企业业务能7×24不间断运行,同时企业却面临越来越多业务中断的风险,如企业系统复杂性的增加,频繁的功能更新和发布等。如何确保业务连续性,提升韧性,成...
关键字:
亚马逊
解密
控制平面
BSP
8月30日消息,据媒体报道,腾讯和网易近期正在缩减他们对日本游戏市场的投资。
关键字:
腾讯
编码器
CPU
8月28日消息,今天上午,2024中国国际大数据产业博览会开幕式在贵阳举行,华为董事、质量流程IT总裁陶景文发表了演讲。
关键字:
华为
12nm
EDA
半导体
8月28日消息,在2024中国国际大数据产业博览会上,华为常务董事、华为云CEO张平安发表演讲称,数字世界的话语权最终是由生态的繁荣决定的。
关键字:
华为
12nm
手机
卫星通信
要点: 有效应对环境变化,经营业绩稳中有升 落实提质增效举措,毛利润率延续升势 战略布局成效显著,战新业务引领增长 以科技创新为引领,提升企业核心竞争力 坚持高质量发展策略,塑强核心竞争优势...
关键字:
通信
BSP
电信运营商
数字经济
北京2024年8月27日 /美通社/ -- 8月21日,由中央广播电视总台与中国电影电视技术学会联合牵头组建的NVI技术创新联盟在BIRTV2024超高清全产业链发展研讨会上宣布正式成立。 活动现场 NVI技术创新联...
关键字:
VI
传输协议
音频
BSP
北京2024年8月27日 /美通社/ -- 在8月23日举办的2024年长三角生态绿色一体化发展示范区联合招商会上,软通动力信息技术(集团)股份有限公司(以下简称"软通动力")与长三角投资(上海)有限...
关键字:
BSP
信息技术
山海路引 岚悦新程 三亚2024年8月27日 /美通社/ -- 近日,海南地区六家凯悦系酒店与中国高端新能源车企岚图汽车(VOYAH)正式达成战略合作协议。这一合作标志着两大品牌在高端出行体验和环保理念上的深度融合,将...
关键字:
新能源
BSP
PLAYER
ASIA
上海2024年8月28日 /美通社/ -- 8月26日至8月28日,AHN LAN安岚与股神巴菲特的孙女妮可•巴菲特共同开启了一场自然和艺术的疗愈之旅。 妮可·巴菲特在疗愈之旅活动现场合影 ...
关键字:
MIDDOT
BSP
LAN
SPI
8月29日消息,近日,华为董事、质量流程IT总裁陶景文在中国国际大数据产业博览会开幕式上表示,中国科技企业不应怕美国对其封锁。
关键字:
华为
12nm
EDA
半导体
上海2024年8月26日 /美通社/ -- 近日,全球领先的消费者研究与零售监测公司尼尔森IQ(NielsenIQ)迎来进入中国市场四十周年的重要里程碑,正式翻开在华发展新篇章。自改革开放以来,中国市场不断展现出前所未有...
关键字:
BSP
NI
SE
TRACE
上海2024年8月26日 /美通社/ -- 第二十二届跨盈年度B2B营销高管峰会(CC2025)将于2025年1月15-17日在上海举办,本次峰会早鸟票注册通道开启,截止时间10月11日。 了解更多会议信息:cc.co...
关键字:
BSP
COM
AI
INDEX
上海2024年8月26日 /美通社/ -- 今日,高端全合成润滑油品牌美孚1号携手品牌体验官周冠宇,开启全新旅程,助力广大车主通过驾驶去探索更广阔的世界。在全新发布的品牌视频中,周冠宇及不同背景的消费者表达了对驾驶的热爱...
关键字:
BSP
汽车制造
此次发布标志着Cision首次为亚太市场量身定制全方位的媒体监测服务。 芝加哥2024年8月27日 /美通社/ -- 消费者和媒体情报、互动及传播解决方案的全球领导者Cis...
关键字:
CIS
IO
SI
BSP
上海2024年8月27日 /美通社/ -- 近来,具有强大学习、理解和多模态处理能力的大模型迅猛发展,正在给人类的生产、生活带来革命性的变化。在这一变革浪潮中,物联网成为了大模型技术发挥作用的重要阵地。 作为全球领先的...
关键字:
模型
移远通信
BSP
高通
北京2024年8月27日 /美通社/ -- 高途教育科技公司(纽约证券交易所股票代码:GOTU)("高途"或"公司"),一家技术驱动的在线直播大班培训机构,今日发布截至2024年6月30日第二季度未经审计财务报告。 2...
关键字:
BSP
电话会议
COM
TE
8月26日消息,华为公司最近正式启动了“华为AI百校计划”,向国内高校提供基于昇腾云服务的AI计算资源。
关键字:
华为
12nm
EDA
半导体