全行业唯一没有被标准化的东西,我们却用了五十年

2026年8月3日 下午9:27

文/一个翻遍各种技术规范文档的人

前阵子因为工作原因,我需要查一份关于HTTP状态码的RFC文档。RFC是”请求意见稿”,互联网上几乎所有重要协议都是这么定下来的——大家讨论、写草案、达成共识、形成一个标准。HTTP、TCP、SMTP、URI,都有对应的RFC来定义它们该怎么做、不该怎么做。

我翻着翻着,忽然冒出一个念头:Hello World有RFC吗?有人给它定过标准吗?什么时候输出、用什么格式、要不要加感叹号、World首字母大写还是小写——有没有一个官方文档说”你必须这样做”?

我去搜了。结论是没有。完全没有。没有任何一个国际组织、任何一个标准委员会、任何一个权威机构,发布过一份名为”Hello World编程示例规范”的文件。

但它成了全行业唯一一个不需要标准就能自发统一的”格式”。从1972年到现在,五十多年了,全球数千万程序员写的第一个程序,输出基本一模一样。没有标准,胜似标准。

那些被”管得死死的”技术们

技术行业是一个被标准和规范统治的行业。你想做一个网页,得遵守W3C的HTML和CSS规范。你想写一个网络应用,得按照RFC定义的HTTP协议来传输数据。你想让你的代码在不同平台上跑,得遵循POSIX标准、Unicode标准、IEEE浮点数标准。

这些标准都是”强制”的,不遵守就玩不转。你写一个浏览器不支持标准的HTML标签,页面就渲染不出来。你写一个网络程序不按TCP协议来握手,对方就收不到你的数据。标准在技术世界里就是法律,违背了就要出问题。

但Hello World没有标准。从来没有人规定过”必须使用英文输出””必须加逗号””World必须大写首字母””结尾必须有感叹号”。但所有人在写的时候,不约而同地做出了几乎相同的选择。这是一种”自发的标准化”,比任何委员会制定的标准都要强大。

因为它背后没有权力在推动,没有组织在推广,没有会议在讨论。它纯粹靠着一代又一代程序员之间的口口相传、教科书上的示例代码、网络上的复制粘贴,就完成了全球统一。

我试过”非标准化”的Hello World,结果很奇怪

有一年愚人节,我恶作剧地把公司内部测试环境里一个服务的Hello World改成了”Hello, Earth!”。然后我提交了代码,跑了一下,看到输出变成了”Hello, Earth!”,心里挺得意的——你看,我自定义了,不一样了。

过了大概两小时,隔壁组的一个同事跑过来问我:”你那个服务是改过什么吗?我们这边自动化测试脚本里用来验证服务是否启动的那一步,匹配的是’Hello, World!’,现在匹配不上了。”

我赶紧改了回去。

那件小事让我意识到一个事——”Hello, World!”之所以成为”世界”,是因为大家都默认它就是那行字。你改了,在功能上毫无影响,但它就变成了一个”本地化变体”,失去了那个”全球通用”的属性。别人再看到它的时候,第一反应不是”哦这行字”,而是”这行字怎么跟别处不一样”。

后来我仔细想过:为什么大家不去改它?技术上太容易了,改个字符串的事情。但几乎没有人会认真做这件事,因为大家心里都有一个默契——有些东西是不需要改的。它是什么就是什么,它就是那个”标准”。这个标准不是写在纸上的,是写在所有人的脑子里的。

那些”花式Hello World”反而证明了标准的存在

当然,技术圈里有很多Hello World的”变体”。有人用彩色ASCII art输出Hello World,有人用各种稀奇古怪的语言写Hello World,有人把Hello World藏在代码的注释里、图片的像素里、音频的波形里。

但这些变体都只是在”输出形式”上做文章,输出的内容本身依然是那十三个字符。你玩你的花活,但你还是得承认”标准内容”就是”Hello, World!”。所有的变体,都是在这个标准内容的基础上做的装饰。

这跟其他标准不一样。HTTP/1.1和HTTP/2和HTTP/3是不同的标准,你不能说HTTP/3是HTTP/1.1的”变体”。它们是不兼容的,是替代关系。但”Hello, World!”的所有变体都兼容它——你看到了各种花式输出,但你知道底层的那个句子始终没变。

所以说,Hello World拥有的是一个”软标准”。它不强求你必须怎么做,但所有人都会这么做。这种软标准比硬标准更难打破,因为它不是被强制执行的,是被所有人自愿维护的。

那个没有主席的”标准委员会”

如果Hello World有一个”标准委员会”,那它的成员就是全世界每一个写过这句问候的程序员。这个委员会没有主席、没有章程、没有会议、没有投票。但它的”决议”执行得比任何一个标准组织都彻底。

这个委员会的工作方式很简单:每个新人写他第一个程序的时候,看到教科书上或者网上或者老师给的示例代码里是”Hello, World!”,他照抄了,跑通了,他就成了委员会的一员。他以后写任何其他代码,都不会去改这句问候,因为他默认”这就是它”。

这个循环运行了五十多年,从来没有中断过。每一代人都从上一代人那里”继承”了这个格式,再原样传给下一代。它没有被任何人”发明”,也没有被任何人”终结”。它只是持续存在,像技术世界里的一条潜流。

这件事如果放在其他行业,几乎不可想象。比如说,如果所有土木工程师在画第一张图纸的时候都会在角落写上一行字,这行字五十年不变,且没有任何规范要求——这听起来像是玄学。但在程序员行业里,它发生了,而且所有人都觉得理所当然。

标准化之外的东西,有时比标准化更牢固

我后来想通了一件事:标准化的东西,它的力量来自于”外部的权威”——W3C、ISO、IEEE这些机构赋予它力量。而Hello World的力量来自于”内部的共识”——每个程序员心里都有一个共同的认知。这种内部共识,比外部权威更难动摇。

外部权威可以被替换,标准可以被新版覆盖。但内部共识一旦形成,除非整个社群消失,否则它就会一直存在。只要还有人在学编程,只要还有人在写第一行代码,只要还有教科书把”Hello, World!”放在第一页——这个共识就会继续运行下去。

我不知道它还能运行多久。也许AI时代之后,初学者的第一个程序不再是亲手敲出来的,而是AI生成的。也许未来的人不再需要写Hello World来验证环境,因为他们都在云端IDE里工作。也许有一天,这句问候会逐渐淡出。

但在它淡出之前,它已经成为了我们这个行业最长的”活传统”。没有组织在维护它,没有人在推广它,但它自己活过了所有试图规范它的标准。

一个没有标准的标准,用五十年证明了一件事:有时候,人心里共同认定的东西,比任何写在纸上的条文都更有生命力。