只写Hello World、不写其他代码的人,后来怎么样了

2026年8月7日 下午10:35

文/一个在技术社区里听说过最怪程序员的人

四年前我在一个技术论坛上看到一个帖子,标题是:”有没有人只用Hello World写东西,不写其他代码?”

发帖的人说他想做一个实验——他所有的代码,无论什么语言、什么环境、什么场景,都只写输出”Hello, World!”的版本。不做任何额外的事情,不加任何逻辑,不处理任何输入,不连接任何数据库。就是一个纯粹的、完全不带任何功能的、只打印那一行字的程序。

然后他问:这算不算一种编程?如果一个人一辈子只写这一行代码,他算不算程序员?

帖子底下吵了几百楼。有人说这是行为艺术,有人说这是在嘲讽过度复杂的行业生态,有人说这是对”最小可行产品”最极致的诠释。也有人骂他”吃饱了撑的””浪费服务器资源”。

后来他陆陆续续更新了很多帖子,讲他这四年”只写Hello World”的生活。我关注了那个帖子很久,从”有点搞笑”慢慢看到了”有点感动”。

那些年,他用一百种语言写了一百次问候

他把”只写Hello World”这件事做到了极致。

第一年,他用了一百多种编程语言写Hello World。从主流的Python、Java、C++,到冷门的Brainfuck、Whitespace、Malbolge。每种语言写一个,每个都跑通,然后存到一个叫”hello_museum”的文件夹里。

他在帖子里说:”我用Brainfuck写Hello World的时候,写了整整三天。我完全不明白那些加号和括号是什么意思,但我知道它能输出那行字。我就照着教程敲,错了删掉重来,错了重来。三天后它出来了。我对着屏幕说了一句’你好啊’。”

第二年,他把Hello World写进了各种奇奇怪怪的地方。他用SQL写了一个存储过程,调用之后就返回”Hello, World!”。他用Excel的VBA写了一个宏,运行之后在一个单元格里显示那行字。他甚至用CSS写了一个”Hello, World!”——纯CSS,没有HTML,就是通过伪元素显示内容。有人评论说”这是行为艺术”,他回复:”这就是我的’作品’。”

第三年,他开始把Hello World”部署”到各种平台上。他注册了免费的云服务、Serverless函数、边缘计算平台、IoT设备模拟器。每个平台都部署了一个Hello World服务,然后用监控工具每天检查它们是不是还活着。他有段时间的日常就是打开一个看板,上面一百多个绿色的小点——每一个都是一个”Hello, World!”服务,每一个都在正常运转。

他说:”我在这个星球上有一百多个’代理人’,它们分布在不同的云上,用不同的语言和架构,但说的是同一句话。我觉得挺壮观的。”

他不写别的代码,但在跟整个行业”对话”

很多人在帖子里问过他:”你真的不写其他代码吗?就一辈子只写这一行?”

他的回答是:”我写的每一行,表面上看都是’Hello, World!’。但每一行所在的环境、语言、平台都不一样。我写Hello World in Python、Hello World in Go、Hello World on AWS、Hello World on Raspberry Pi。我写的不是’Hello, World!’本身,我写的是’Hello, World!在这个环境里’。不同环境有不同的写法、不同的配置、不同的注意事项。我研究的从来不是’那一行字’,是’那一行字怎么在各种各样的环境里活下来’。”

这个回答让很多人闭嘴了。他其实是在用Hello World当”探针”,去探测不同语言、平台、架构的特性。他不写复杂的业务逻辑,因为他觉得那些逻辑把”环境本身的差异”给掩盖了。他只写最小的程序,这样任何环境差异都会暴露出来——语言版本不同会暴露,依赖缺失会暴露,网络限制会暴露,权限配置会暴露。

他花四年时间,用一百多种方式写同一句话。他不是在重复,他是在比对。

那个”最不会写代码的人”,成了社区里最懂环境的人

后来那个帖子变得越来越长,提问的人越来越多,大家开始问他各种关于”环境配置”的问题。

“我在用WSL2,Ubuntu 22.04,Python 3.11,怎么print不出中文?”

“我用一个很老的CentOS 6服务器,gcc版本很低,怎么写Hello World才能编译过?”

“我想在ARM架构的树莓派上跑Go的Hello World,需要注意什么?”

他一个个都回了。他可能没有正经写过什么业务系统,但他在各种环境里跑过太多次Hello World了,什么奇怪的问题都见过。他对”怎么让一句问候在不同的世界里亮起来”这件事,积累了惊人的经验。

帖子下面有人给他封了一个外号,叫”Hello World工程师”。他回复说:”我很喜欢这个称号。我不是不会写别的代码,我是选择了只写这一句。因为这一句在不同环境里的不同表现,足够我研究很久了。”

那个帖子的最后一更:他在说”我还是那个写Hello World的人”

去年年底,他发了那个帖子的最后一次更新。他说他换工作了,新公司技术栈跟他以前用过的所有环境都不一样,他入职第一天被安排配置一台新的开发机。他做了一件他一直做的事——打开终端,写了一个Hello World。

“我写出来,跑通了。然后我关掉终端,开始装别的开发工具。那天晚上下班之前,我打开那个文件又看了一遍。那行字还是那样,没变。环境变了,机器变了,连我用的人都变了。但那行字没变。它在那里,告诉我’不管换到哪里,你都可以从这里重新开始’。”

然后他说他以后可能不会经常更新那个帖子了,因为”一直在做的事情,不需要一直说”。但他会一直写Hello World,不管换多少台机器、换多少家公司、换多少种语言。

“因为有人需要那句问候。也许只是我自己需要。”

那句问候其实一直在那里,等着你

我后来把那个帖子收藏了起来。每隔一段时间点进去看一眼,有时候有新的回复,有时候没有。但不管有没有新内容,那个帖子本身一直在那里——一个关于”只写Hello World的人”的记录。

我有时候会想,他花了四年时间做这件事的意义是什么。是为了证明自己是一个”只写Hello World的程序员”?是为了研究不同环境的特性?还是为了给那些觉得”写Hello World很幼稚”的人一个反击?

我后来觉得,可能都有一点。但最核心的可能是:他找到了一个方式,让自己一直留在那个”刚刚开始”的状态里。不是不能往前走,是选择不走远。他让自己永远站在起点,看着所有从起点出发的人走向不同的方向,而他留在那里,一遍又一遍地向每一个新人说那声”你好”。

那声”你好”可能是给那些写第一行代码的初学者,也可能是给他自己的。每一次他写下那行字,他都在告诉自己:你看,我还能写,我还能让这个东西亮起来。我还是那个最开始走进这个世界的人,从来没走远过。

所以那个帖子里有一条回复是我觉得最恰当的。有人说:”你写的不是Hello World,你在写’Hello, World, again’。每一遍都是旧的那一遍,但每一遍都像全新的。因为你每一次写它的时候,坐在屏幕前面的那个你,都不一样了。”

他回了三个字:”你说得对。”

然后他又发了一个新的Hello World。这次用的是他刚学的一门小众语言。输出那行字,保存,关掉。

又是一个普通的夜晚,又是一个普通的问候。但那个问候背后,站着一个人,他用自己的方式,跟这个世界保持了最久的、最简单的、最不需要翻译的连接。