作者 | Clive Thompson
策劃 | 伊桑
1997年,伊?!ぷ婵寺‥than Zuckerman)發(fā)明了彈窗式廣告,彼時他在Tripod.com工作,這家公司提供免費制作小網(wǎng)頁的在線服務。出于商業(yè)維持,Tripod出售了頁面旁邊的廣告。問題是,廣告最終總會出現(xiàn)在黃色內(nèi)容旁邊,廣告商肯定不喜歡這樣。Zuckerman的老板讓他想辦法。難道沒有辦法定位這些廣告,使它們不在用戶生成的內(nèi)容旁邊嗎?就在這時,Zuckerman想出了一個奇怪而古怪的解決方案:當你訪問一個Tripod頁面時,它會產(chǎn)生一個全新的彈出式頁面,其中只包含廣告。這樣,從技術上講,廣告不會與任何特定的用戶頁面相關聯(lián)。它會在屏幕上浮動。
不過很多人都不知道:Zuckerman的一點點Javascript,就創(chuàng)造了彈出式廣告!它非常短,只有一行代碼:
這段Javascript告訴瀏覽器打開一個新窗口,該窗口寬200像素,高400像素,頂部沒有滾動條或工具欄,位于當前打開的任何其他網(wǎng)頁的頂部。
簡單,但有害!很快,商業(yè)網(wǎng)站復制了Zuckerman的創(chuàng)新,互聯(lián)網(wǎng)上充斥著彈出式廣告。我在00年代初認識的一位在下載網(wǎng)站工作的程序員朋友。他告訴我,他們的絕大部分收入來自低俗的彈出式廣告。
大家肯定看過彈出式廣告,并且十分討厭它們。不過慶幸的是,你使用的瀏覽器現(xiàn)在可以抑制它們。
正如Zuckerman所說,他只寫了一行代碼,“這讓世界變得更加糟糕”
我在Zuckerman為《你不應該理解這一點:26行代碼如何改變世界》撰寫的一篇文章中看到了他的故事。這是一本非常有趣的短文集,由托利·博斯(Torie Bosch)編輯,它反映了一些代碼,這些代碼使世界在其軸線上傾斜。
1、即便大廠,創(chuàng)新的代碼往往只有少數(shù)行
特別讓我著迷的是,這些片段中的大多數(shù)都是如此簡短。這與許多流行文化中關于編碼的假設完全相反,這些假設通常表明重要的代碼是龐大的,而且是雜亂無章的。好萊塢喜歡把“程序員編程”用手指描繪得一清二楚,寫出一大堆代碼。關于谷歌統(tǒng)治地位的傳說,過去指的是它的“20億行代碼”,似乎這是公司成功的根本原因。
通常情況正好相反。事實上,谷歌最初的創(chuàng)新是“PageRank”算法,該算法根據(jù)鏈接到網(wǎng)頁的其他頁面數(shù)量和鏈接頁面的質(zhì)量計算網(wǎng)頁的價值。這不是一段很長的代碼;人們用Python編寫了自己的版本,而且只有幾十行。
當然,谷歌的整體運營——就像任何大型科技公司的運營一樣——需要數(shù)千個流程來保持運營。這就是為什么他們的總代碼基數(shù)增長如此之大。但一些影響最大的代碼可能非常簡潔。
特別推薦技術老鐵們閱讀此書(或者把它作為節(jié)日禮物送給朋友),因為這些例子引人入勝,范圍廣泛。Charlton McIlwain在20世紀60年代末開發(fā)的“police beat”算法中有一章,該算法試圖預測犯罪最可能發(fā)生的地點,因此執(zhí)法機構(gòu)可以派遣更多的警察。當然,這最終造成了一個種族主義的反饋循環(huán):由于貧困的黑人社區(qū)與白人社區(qū)相比已經(jīng)被過度管制,因此算法在那里指導了更多的警察,導致了更多的逮捕,這導致算法派出更多的警察沖洗并重復。
“police beat”算法并不十分冗長;在《你不應該理解這一點》中,藝術家凱莉·楚德勒(Kelly Chudler)將其畫了出來…
2、跟蹤像素(tracking pixel)
還有一段甚至更短的代碼改變了世界:“跟蹤像素”。正如莉莉·?!ぜ~曼(Lily Hay Newman)在跟蹤像素一章中所指出的那樣,你可能每天都在不知不覺中與這段代碼進行交互?;旧希@是一種HTML,它在電子郵件中嵌入了一個小像素,所以你看不到它。但是如果有人向我發(fā)送帶有跟蹤代碼的電子郵件,它會監(jiān)視我。它的工作原理是這樣的:當我打開郵件時,代碼要求我的瀏覽器請求單個像素的圖像。給我發(fā)郵件的人看了看,嘿,克萊夫的瀏覽器要那個像素了嗎?因此,給我發(fā)送電子郵件的人可以在我打開電子郵件的瞬間告訴我。在電子郵件中添加跟蹤像素非常簡單-只有這一行:
3、登月艙“救援”代碼
這是最后一個老例子!這本書有一章(由Ellen R.Stofan和Nick Partridge撰寫)講述了阿波羅11號登月任務登月艙的“救援”代碼。這段“救援”代碼運行在登月艙的微型車載計算機上,旨在幫助確定事情的優(yōu)先級:如果計算機過載,它將拋開除最重要的工作之外的所有工作。事實證明,當?shù)窃屡摻咏虑驎r,這一點非常重要,因為毫無疑問,計算機的工作已經(jīng)超負荷了?!熬o急救援”代碼立即生效,關閉了所有對模塊著陸并非至關重要的東西。它甚至關閉了登月艙內(nèi)的一些顯示系統(tǒng),這嚇壞了宇航員。但它奏效了:模塊安全著陸。
這是代碼-只有22行…
小代碼,大用途。這或許也是為什么大家喜歡簡潔優(yōu)雅代碼的原因所在吧!
原文鏈接:https://betterprogramming.pub/tiny-snippets-of-code-that-changed-the-world-fda104afc0d0