教过一百个人写Hello World之后,我看到了什么

2026年7月24日 下午9:34

文/一个在技术社区做了七年义务讲师的闲人

上个月技术社区的活动上,一个四十多岁的大姐拉着我,说她终于写出来了。她把手机屏幕怼到我脸上,上面是一张照片——电脑屏幕上显示着”Hello, World!”,蓝底白字,经典得不能再经典。

她说她花了三个晚上。第一天装环境,第二天被大小写折磨,第三天终于搞清楚了要保存文件才能运行。她说最后看到那行字出现的时候,她喊了一声,把她家猫都吓跑了。

我笑着说了句恭喜,心里却有点感慨。这是我教过的不知道第多少个写Hello World的人了。从2016年开始在社区做公益编程入门辅导,到今年整整七年,我面对面教过超过一百个人写他们人生中的第一行代码。

这些人的年龄从八岁到六十二岁都有,职业五花八门——会计、护士、货车司机、中学老师、家庭主妇、退休干部。他们有一个共同点:在此之前,他们觉得自己这辈子跟编程不可能有任何关系。

而他们也有另一个共同点:在成功输出”Hello, World!”的那一刻,他们脸上的表情几乎一模一样。

每个人都会犯的那些蠢错

如果你觉得写个Hello World不可能出错,那你一定是没见过初学者。

我见过把print拼成”pritn”的,见过把括号写成中文全角括号的,见过把引号只打了一边的,见过在Python代码后面加了个分号然后对着报错信息发呆十分钟的。最离谱的一个,把文件命名成了”hello world.py”——中间带空格,结果import的时候死活找不着,折腾了半小时才发现是文件名的问题。

这些错误在程序员眼里简直荒谬得可笑。但站在初学者的角度想一想:他们连”什么是字符串””什么是函数””什么是解释器”这些最基础的概念都还没建立,你让他们怎么理解”SyntaxError: invalid syntax”到底是什么意思?

每次有人因为这种小错误卡住的时候,我都告诉自己不要笑,不要露出那种”这也能错”的表情。因为我也曾经是这样过来的。我大学第一节课写C语言,在printf前面少了一个#include ,编译器报了十几个错误,我当时连”头文件”是什么都不知道,还以为电脑坏了。

初学者的困难是真实存在的。而Hello World之所以是完美的第一课,就是因为它足够短——短到你可以把所有可能出错的环节一个个排查清楚:编辑器有没有保存?文件名后缀对不对?代码有没有拼写错误?解释器或者编译器调用了没有?路径有没有切对?

排查完这几件事,整个”从写代码到运行代码”的全流程,你心里就有数了。后面的所有学习,都是在这个流程之上叠加新的知识。

那个失败了很多次才成功的人

我印象最深的学生是一个五十多岁的仓库管理员,姓陈。他参加社区活动的时候说,他儿子在学编程,他想弄懂儿子到底在学什么,免得父子俩以后没话聊。

他的电脑很旧,开机要转三分钟。我先远程帮他装好了Python环境。然后他开始写代码。敲第一行的时候就出问题了——他左手不太灵活,按shift键总是按不准,打出来的符号永远是数字。

他在电话那头很沮丧,说自己手指太笨了。我说没关系,你把键盘布局改成英文,然后一个个符号慢慢找,我等你。

那行代码他打了十分钟。删掉重来,再删掉重来。后来我发现问题不在手指上,是他搞混了单引号和双引号的位置——他以为双引号需要用shift加数字键,而他按的是单引号旁边的那个键。

我说你停下来,看着我截图给你的键盘布局图。他看了五分钟,然后重新打了一遍。这一次,回车按下去,屏幕上显示了那行字。

电话那头沉默了四五秒。然后他说:”有了,有字了。”

声音很平静,但我听得出来那种平静是用力压着的。后来他发了一条朋友圈,就一张截图,配文是:”五十三年,第一次让电脑听我的话。”

那条朋友圈后来被他儿子截图发到了社区群里,配了三个大哭的表情。群里好多人跟着哭了。

为什么教别人写Hello World比自己去写更有意思

说实话,我自己写Hello World已经写不出什么感觉了。手指自动敲完,回车,看一眼输出,关掉,去做别的事情。它变成了一个纯粹的”动作”,不带任何情绪。

但看别人写,每一次都有新的感受。

八岁的小女孩写完之后,问的是”那我能让它说我的名字吗”,然后自己摸索着把World换成了她的英文名,高兴得在椅子上转圈。二十八岁的转行青年写完之后,问的是”那接下来我该学什么”,他已经列好了一个详细的学习计划,Hello World只是第一步。六十二岁的退休老师写完之后,问的是”那这个东西能帮我整理学生的考试成绩吗”,她已经在思考软件和现实的连接点了。

你看,同一个Hello World,在不同的人手里,通向完全不同的方向。它像一扇门,每个人推开之后看到的风景都不一样。而站在门口看着他们推门进去,是这件事最迷人的地方。

它从来就不是关于代码的

所以Hello World到底教给了我们什么?

如果只从技术层面看,它教的东西微乎其微。它不教变量,不教循环,不教函数,不教算法。它只教一件事——怎么让计算机执行你写的一行指令。

但从另一个层面看,它教的东西巨大无比。

它教了一个人”把想法变成现实”的最小闭环。从脑子里有一个念头,到手指在键盘上敲出来,到系统识别并执行,最后在屏幕上给你反馈。整个链条走通的那一瞬间,你会获得一种极其原始的快感——那种”我发出指令,世界给予回应”的掌控感。

这种快感,和婴儿第一次按下开关看到灯亮、第一次推倒积木看到它倒下,是同一种。它是人类好奇心与行动力之间的最短通路。

所以每当我看到那些”教别人写Hello World”的视频下面有人评论”这也叫编程?这也值得发出来?”的时候,我都觉得挺可惜的。说这种话的人,大概已经忘了自己当初看到那行字时的感受了。

或者更糟——他们当初可能根本就没有任何感受,只是麻木地照着教程敲了一遍,然后说”哦,出来了”,接着往下学下一个知识点。

那他们错过的,恰恰是Hello World最珍贵的东西。

那句问候的真正含义

写到这里,我又想起了老陈。他后来真的开始学Python了。进度很慢,一个月才学完循环,但每个周末他都会在群里发他写的代码,有时候是计算器,有时候是个小游戏,有时候就是改了改Hello World里的文字,让它输出”儿子,周末回家吃饭”。

后来有一次线下活动,他来了。散场的时候他跟我说了一句话,我到现在都记得。

他说:”以前我觉得电脑是个工具,现在我觉得它是个可以聊天的人。”

这句话让我想了好久。原来Hello World的”你好,世界”,从来就不只是程序在跟世界打招呼。它也是每一个写程序的人,在跟自己内心的那个新世界打招呼。

你好,代码的世界。从今天开始,我也是这里的人了。