那些只有几行,却改变了世界的代码!

HelloKitty 2022-12-30 17:36

扫一扫 在手机阅读、分享本文

1468

本文由 51CTO技术栈 ,作者Clive Thompson 撰写/授权提供,转载请注明原出处。

1997 年,伊桑·祖克曼(Ethan Zuckerman)发明了弹窗式广告,彼时他在 Tripod.com 工作,这家公司提供免费制作小网页的在线服务。出于商业维持,Tripod 出售了页面旁边的广告。问题是,广告最终总会出现在黄色内容旁边,广告商肯定不喜欢这样。Zuckerman 的老板让他想办法。难道没有办法定位这些广告,使它们不在用户生成的内容旁边吗?就在这时,Zuckerman 想出了一个奇怪而古怪的解决方案:当你访问一个 Tripod 页面时,它会产生一个全新的弹出式页面,其中只包含广告。这样,从技术上讲,广告不会与任何特定的用户页面相关联。它会在屏幕上浮动。

不过很多人都不知道:Zuckerman 的一点点 Javascript,就创造了弹出式广告!它非常短,只有一行代码:

1.png

这段 Javascript 告诉浏览器打开一个新窗口,该窗口宽 200 像素,高 400 像素,顶部没有滚动条或工具栏,位于当前打开的任何其他网页的顶部。

简单,但有害!很快,商业网站复制了 Zuckerman 的创新,互联网上充斥着弹出式广告。我在00 年代初认识的一位在下载网站工作的程序员朋友。他告诉我,他们的绝大部分收入来自低俗的弹出式广告。

大家肯定看过弹出式广告,并且十分讨厌它们。不过庆幸的是,你使用的浏览器现在可以抑制它们。

正如 Zuckerman 所说,他只写了一行代码,“这让世界变得更加糟糕”

我在 Zuckerman 为《你不应该理解这一点:26 行代码如何改变世界》撰写的一篇文章中看到了他的故事。这是一本非常有趣的短文集,由托利·博斯(Torie Bosch)编辑,它反映了一些代码,这些代码使世界在其轴线上倾斜。

即便大厂,创新的代码往往只有少数行

特别让我着迷的是,这些片段中的大多数都是如此简短。这与许多流行文化中关于编码的假设完全相反,这些假设通常表明重要的代码是庞大的,而且是杂乱无章的。好莱坞喜欢把“程序员编程”用手指描绘得一清二楚,写出一大堆代码。关于谷歌统治地位的传说,过去指的是它的“20 亿行代码”,似乎这是公司成功的根本原因。

通常情况正好相反。事实上,谷歌最初的创新是“PageRank”算法,该算法根据链接到网页的其他页面数量和链接页面的质量计算网页的价值。这不是一段很长的代码;人们用 Python 编写了自己的版本,而且只有几十行。

当然,谷歌的整体运营——就像任何大型科技公司的运营一样——需要数千个流程来保持运营。这就是为什么他们的总代码基数增长如此之大。但一些影响最大的代码可能非常简洁。

特别推荐技术老铁们阅读此书(或者把它作为节日礼物送给朋友),因为这些例子引人入胜,范围广泛。Charlton McIlwain 在 20 世纪 60 年代末开发的“police beat”算法中有一章,该算法试图预测犯罪最可能发生的地点,因此执法机构可以派遣更多的警察。当然,这最终造成了一个种族主义的反馈循环:由于贫困的黑人社区与白人社区相比已经被过度管制,因此算法在那里指导了更多的警察,导致了更多的逮捕,这导致算法派出更多的警察冲洗并重复。

“police beat”算法并不十分冗长;在《你不应该理解这一点》中,艺术家凯莉·楚德勒(Kelly Chudler)将其画了出来…

640.jpg

跟踪像素(tracking pixel)

还有一段甚至更短的代码改变了世界:“跟踪像素”。正如莉莉·海·纽曼(Lily Hay Newman)在跟踪像素一章中所指出的那样,你可能每天都在不知不觉中与这段代码进行交互。基本上,这是一种 HTML,它在电子邮件中嵌入了一个小像素,所以你看不到它。但是如果有人向我发送带有跟踪代码的电子邮件,它会监视我。它的工作原理是这样的:当我打开邮件时,代码要求我的浏览器请求单个像素的图像。给我发邮件的人看了看,嘿,克莱夫的浏览器要那个像素了吗?因此,给我发送电子邮件的人可以在我打开电子邮件的瞬间告诉我。在电子邮件中添加跟踪像素非常简单-只有这一行: 

微信截图_20221230173057.png

登月舱“救援”代码

这是最后一个老例子!这本书有一章(由Ellen R.Stofan和Nick Partridge撰写)讲述了阿波罗 11 号登月任务登月舱的“救援”代码。这段“救援”代码运行在登月舱的微型车载计算机上,旨在帮助确定事情的优先级:如果计算机过载,它将抛开除最重要的工作之外的所有工作。事实证明,当登月舱接近月球时,这一点非常重要,因为毫无疑问,计算机的工作已经超负荷了。“紧急救援”代码立即生效,关闭了所有对模块着陆并非至关重要的东西。它甚至关闭了登月舱内的一些显示系统,这吓坏了宇航员。但它奏效了:模块安全着陆。

这是代码-只有 22 行… 

POODOO    INHINT
    CA  Q
    TS  ALMCADR
 
    TC  BANKCALL
    CADR  VAC5STOR  # STORE ERASABLES FOR DEBUGGING PURPOSES.
 
    INDEX  ALMCADR
    CAF  0
ABORT2    TC  BORTENT
 
OCT77770  OCT  77770    # DONT MOVE
    CA  V37FLBIT  # IS AVERAGE G ON
    MASK  FLAGWRD7
    CCS  A
    TC  WHIMPER -1  # YES.  DONT DO POODOO.  DO BAILOUT.
 
    TC  DOWNFLAG
    ADRES  STATEFLG
 
    TC  DOWNFLAG
    ADRES  REINTFLG
 
    TC  DOWNFLAG
    ADRES  NODOFLAG
 
    TC  BANKCALL
    CADR  MR.KLEAN
    TC  WHIMPER

小代码,大用途。这或许也是为什么大家喜欢简洁优雅代码的原因所在吧!

扫一扫 在手机阅读、分享本文

扫码关注公众号

获取更多技术资讯

客服微信
享受1V1专属服务
免费领取技术福利
发送名片申请入群
与CTO聊合作
(备注姓名、公司及职位)
热门文章