十行代码如何重塑了我的世界

Ten Lines of Code That Changed My World

从 BASIC 的 Hello World 到 JavaScript 的诡谲彩蛋,再到 6502 汇编的自修改代码,我整理了十段改变我编程认知的代码片段。它们有的让我捧腹大笑,有的让我彻夜难眠,有的则揭示了计算机最底层的运作逻辑。无论是 Windows 下的 touch.bat 脚本,还是 CSS 中仅用 280 字符实现的动画诗,亦或是那个能瞬间清空系统的 rm -rf / 玩笑,这些代码不仅记录了技术的演进,更承载了我从懵懂少年到资深开发者的成长记忆。每一行代码背后,都是对技术可能性的探索与敬畏。

机器语言是离硬件最近的操作,没有警告,没有日志,也没有安全护栏。
  1. dahart

    BASIC 的 print+goto 循环可能也是我的第一个程序(在 80 年代),但对我来说有一件事是肯定的:它绝对不是“Hello, World”。我和其他人用各种愚蠢的东西、随机单词、笑话和幼稚的短语填满屏幕,不管是什么,但不知何故,“Hello, World!”是 C 语言特有的。我记得第一次看到它是在高中的 C 语言课上,然后在大学里更常看到。

    我也记得 'poke' 指令。在 Atari 800 上,你可以 poke 内存来改变按键重复率和开始重复前的延迟,所以我们显然会把延迟调为零,把重复率调到最大(大概是每秒 60 个字符),这样任何试图打字的人都无法快速按键来避免重复。你必须重启机器才能修复,这对 11 岁的我来说太搞笑了。

    和他的 'poke' 描述类似,但机制不同——在 IBM PC jr 上使用 debug.com 编辑 Ultimate III 的存档文件,给自己无限的钱和生命。

    好时光!

  2. andsoitis

    这里有 3 行代码,揭示了 Lisp 的一个深刻之处:代码可以制造出制造代码的代码:

    ———————

    (defmacro twice (form)

    `(progn ,form ,form))

    (twice (print "Reality"))

    ———————

    twice 并没有执行它的参数两次。它在执行前重写了程序本身,变成了:

    (progn

    (print "Reality")

    (print "Reality"))

  3. probably_wrong

    我一直在收集一些适合做成纹身的小代码片段,我必须说,其中一些可能会成为这个集合的绝佳补充。

    我部分更倾向于 CSS 中的 "red" 而不是 "hotpink",但这只是我个人的偏好。

  4. tptacek

    嗯。真是个棒的问题。

    while(1) { fork(); }

    这对我一定意味着什么,因为它曾出现在我的 Usenet 签名里。然后是:

    exit(main(kfp->kargc, argv, environ));

    来自 FreeBSD crt0;意识到 main() 下面还有更多 C 代码,对我来说是个大时刻。

    接着是:

    statements: /*E*/ | statement statements

    Yacc 让我豁然开朗的那一刻;这行代码很深刻,但更准确的描述是,我意识到用解析器生成器做的事情其实就是构建一棵树,而每个产生式的副作用就是为了返回并插入树节点。

    如果我能用一行代码来表达“当哈希表填满时将其大小加倍”,那它绝对值得在这里占一席之地。

    然后,当然(我们可以作弊,因为汇编):

    jmp .call

    .pop: pop esi

    ...

    .call: call .pop

    “delta offset”技巧,我相信它源自 x86 病毒文化,但在 90 年代的溢出利用中非常普遍,作为一种获取对字符串和其他内存对象的位置无关引用的方法。

    肯定有:

    void walk(node *n) { if(!n) return; walk(n->left); visit(n); walk(n->right); }

    我应该想个办法把 write-select(2) 塞进一行,因为那对我来说也是个“天哪”的时刻。

    同样地:当 Vern Paxson 向我解释他通过简单地打开一个文件并使用 "seek" 将传入的数据段放置到正确位置来实现 TCP 重组时。我大概能把它精简成一行!但这会是一个……

  5. throw34889

    对于调试 CSS,我更喜欢类似这样的东西:

    * {

    outline: 1px solid hotpink !important;

    outline-offset: -1px !important;

    }

    因为在大多数情况下,上面的片段不会导致内容重排。

    留给读者的练习是:将上述内容变成一个 JavaScript 书签栏切换器,并添加对边距和内边距着色的支持。

同日更多故事

2026-09-27