有那么一些代码片段,虽然只有寥寥几行,却能够给全世界带来巨大的影响。

链接:https://betterprogramming.pub/tiny-snippets-of-code-that-changed-the-world-fda104afc0d0

声明:本文为 CSDN 翻译,未经允许禁止转载。

作者 | Clive Thompson

译者 | 弯月 责编 | 屠敏

出品 | CSDN(ID:CSDNnews)

1997年,Ethan Zuckerman 发明了弹出式广告,从而在互联网上掀起了滔天波浪。

当时,他在 Tripod.com 工作,这是一个供人们免费制作小网页的在线服务。为了赚钱,Tripod出售页边广告。问题是,这些广告常常显示在一些淫秽内容的旁边,广告商绝对不喜欢。

老板让 Zuckerman 想一些解决办法。难道就没有什么方法可以定位广告,避免它们与一些不堪的内容并排显示吗?

这时,Zuckerman 想出了一个奇怪的、老套的解决方案:在用户访问 Tripod 页面时,生成一个全新的弹出页面,并在里面显示广告。严格来说,这样广告就不会与任何特定的用户页面联系到一起了,因为广告会悬浮在页面之上。

然而,你知道 Zuckerman 创建的弹出式广告只用到了一行 JavaScript 代码吗?

window.open('http://tripod.com/navbar.html'"width=200, height=400, toolbar=no, scrollbars=no, resizable=no, target=_top");

实际上,这行 JavaScript 代码只是告诉浏览器打开一个新窗口,该窗口的宽度为 200 像素,高度为 400 像素,顶部没有滚动条或工具栏,位于当前网页的顶部。

这行代码虽然简单,但危害不小!很快,各家商业网站纷纷开始复制这行代码,于是整个互联网上都充斥着弹出式广告。2000 年初,我认识的一位程序员告诉我,他们的绝大部分收入都来自色情弹出广告。

你肯定也见过弹出式广告,内心肯定也无比讨厌。幸运的是,现在的浏览器可以屏蔽掉这些广告了。

正如 Zuckerman 所说,他写了一行“让整个世界变得更糟”的代码。

Zuckerman在《“You Are Not Expected to Understand This”: How 26 Lines of Code Changed the World》中提到了他的这个故事。这是一本非常有趣的短文集,由 Torie Bosch 编辑,其中记载了影响了全世界的一些代码片段。

令我无比惊讶的是,这些代码片段大多如此简短。许多有关编程的流行文化通常都会强调代码量的庞大。好莱坞描绘的程序员手指在键盘上快速地飞舞,一串串的代码犹如瀑布般倾泻而出。Google 的统治地位常常是通过“20 亿行代码”反映出来的,就好像这才是 Google 成功的原因。

然而,实际情况恰恰与之相反。事实上,Google 早在 90 年代超越其他搜索引擎的一段代码“PageRank”算法计算某个网页价值的依据为:链接到该网页的其他网页的数量以及质量。实现该算法的代码并不长,已经有人编写了一个 Python 版,只有几十行(https://github.com/ashkonf/PageRank/blob/master/pagerank.py)。

import osimport sysimport math
import numpyimport pandas
# Generalized matrix operations:
def __extract_nodes(matrix):nodes = set()for col_key in matrix:nodes.add(col_key)for row_key in matrix.T:nodes.add(row_key)return nodes
def __make_square(matrix, keys, default=0.0):matrix = matrix.copy()def insert_missing_columns(matrix):for key in keys:if not key in matrix:matrix[key] = pandas.Series(default, index=matrix.index)return matrixmatrix = insert_missing_columns(matrix) # insert missing columnsmatrix = insert_missing_columns(matrix.T).T # insert missing rows
return matrix.fillna(default)
def __ensure_rows_positive(matrix):matrix = matrix.Tfor col_key in matrix:if matrix[col_key].sum() == 0.0:matrix[col_key] = pandas.Series(numpy.ones(len(matrix[col_key])), index=matrix.index)return matrix.T
def __normalize_rows(matrix):return matrix.div(matrix.sum(axis=1), axis=0)
def __euclidean_norm(series):return math.sqrt(series.dot(series))
# PageRank specific functionality:def __start_state(nodes):if len(nodes) == 0: raise ValueError("There must be at least one node.")start_prob = 1.0 / float(len(nodes))return pandas.Series({node : start_prob for node in nodes})
def __integrate_random_surfer(nodes, transition_probabilities, rsp):alpha = 1.0 / float(len(nodes)) * rspreturn transition_probabilities.copy().multiply(1.0 - rsp) + alpha
def power_iteration(transition_weights, rsp=0.15, epsilon=0.00001, max_iterations=1000):# Clerical work:transition_weights = pandas.DataFrame(transition_weights)nodes = __extract_nodes(transition_weights)transition_weights = __make_square(transition_weights, nodes, default=0.0)transition_weights = __ensure_rows_positive(transition_weights)# Setup:state = __start_state(nodes)transition_probabilities = __normalize_rows(transition_weights)transition_probabilities = __integrate_random_surfer(nodes, transition_probabilities, rsp)# Power iteration:for iteration in range(max_iterations):old_state = state.copy()state = state.dot(transition_probabilities)delta = state - old_stateif __euclidean_norm(delta) < epsilon:break

return state

当然,Google 的整体运营涉及数以千计的流程,就像其他大型科技公司的运营一样。这就是为什么他们的总代码库变得如此庞大的原因。然而,一些最具影响力的代码往往非常简洁。