你的手机里藏着一千个“Hello World”:那些你不知道的隐形问候

2天前

文/一个拆过无数App安装包的好奇患者

你大概从没想过,自己每天点开手机屏幕的瞬间,就已经在跟几十个”Hello World”打招呼了。

微信启动时那个小人看着地球的画面,背后是无数行代码在说”我启动了”;抖音刷新出第一条视频的刹那,服务器上的某个进程刚刚打印出了属于它的”Hello World”;甚至连你手机闹钟响的那一刻,操作系统内核里某个沉睡已久的线程才刚被唤醒,执行了它生命周期里的第一个”Hello World”。

只是这些问候,你从来都看不见。

当”Hello World”躲进了你看不见的地方

上周我跟一个做嵌入式开发的朋友吃饭,他给我看了他正在做的项目——一块指甲盖大小的芯片,用在智能门锁里的。我说这玩意儿能跑啥?他说能跑Linux,而且他在上面跑的第一个程序就是Hello World。只不过没有屏幕,没有终端,他用逻辑分析仪在引脚上抓波形,从高低电平的跳变里”看”到了那行字的ASCII码。

他给我看抓到的波形图,密密麻麻的方波信号挤满了屏幕。他说:”这个脉冲序列翻译过来就是’H’,后面那个是’e’,你看得出来吗?”我盯着看了半天,什么都没看出来。但他说这话的时候,眼睛里有光。

那是我第一次意识到,Hello World不一定非得是屏幕上显示的字符。在嵌入式系统里,它是串口输出的比特流;在物联网设备里,它是发往云端的第一条MQTT消息;在微服务架构里,它是服务注册中心里出现的第一个实例ID;在区块链的智能合约里,它是部署成功后的那个交易哈希。

这些”看不见的Hello World”,每天都在数以亿计的设备里静静地运行着。你关灯的时候它在,你刷门禁的时候它在,你路过一个共享单车旁边的时候,车锁里的芯片可能正巧在执行它的启动例程,向这个世界小声地说了一句你听不到的”你好”。

你每天用的软件,都是这么长大的

任何一款你叫得出名字的软件,都是从一行Hello World开始的。

淘宝的初代版本,支付宝的第一个内部demo,微信最早在腾讯内部测试的那个简陋原型——它们统统都是从让屏幕显示出一行”Hello, World”起步的。只不过那个时候的产品叫什么、界面长什么样,连创始团队自己都未必记得清了。

我认识一个做电商后台系统的架构师,他跟我讲过一件事。他们现在的系统支撑着日均千万级的订单量,代码仓库有几万个文件,微服务拆了上百个。但每次新人入职,他给新人的第一个任务不是看文档,不是跑业务流程,而是——”你去把我们的开发环境搭起来,然后让首页显示’Hello, World’,哪怕只显示一秒钟都行。”

他跟我说这个规矩从团队只有三个人的时候就定下了,到现在六七年了没变过。我问为什么,他说:”代码写得再复杂,也是从最简单的那一行长出来的。让新人跑通一个Hello World,就是让他亲手摸一下这个庞然大物的根。确认根扎得稳,上面长什么都踏实。”

这大概是Hello World最沉默也最伟大的角色——它是所有庞大软件系统的”第一块砖”。后来的高楼万丈,没有人会记得这块砖长什么样。但没有它,上面的一切都不存在。

也许你早就写过,只是没意识到

我们聊”Hello World软件”聊了半天,但很多人可能没意识到:你可能早就写过自己的Hello World了,只是不觉得那是”写程序”。

你在Excel里写了一个=SUM(A1:A10)让表格帮你算数,这其实就是在对电子表格软件说”我要开始用你了”,那就是你的Hello World。你用PPT做第一页幻灯片的时候,那个标题就是你给演示软件的第一个指令。你在手机上设置第一个自动化规则——比如”到家自动连接WiFi”——那个规则本身就是你写给手机的一个小程序,一个属于你的Hello World。

编程的门槛从来没有我们想象的那么高。只是大多数人被”代码””软件””程序”这些词吓住了,觉得那是专业人士才做的事情。其实当你第一次用公式让表格自动求和、第一次用自动化工具让两个App联动、第一次在电脑上按下一个快捷键让某个程序执行某个动作——你在做的,本质上和你在终端里敲一个print(“Hello, World”)没有区别:你让计算机听懂了你,然后它照做了。

那种掌控感的快乐,和程序员敲下第一行代码时的快乐,是同一种。

那个被”Hello World”改变的世界

从1972年贝尔实验室的内部备忘录,到今天你口袋里那台算力惊人的设备里数不清的”隐形Hello World”——这个简单的短语见证了整个数字文明的诞生。

以前我们说一个人学编程,会说他在”写Hello World”。后来我们说一个人进入某个新领域,会说他在”跑Hello World”。再后来,我们甚至把生活中那些”初次尝试某件事并成功”的瞬间,都戏称为”人生中的Hello World时刻”。

它已经不再仅仅属于程序员了。它是一个象征,代表着一个朴素的真理:任何伟大的事情,都有一个极其简单的开始。

所以,下次当你第一次用某个软件完成了一件小事、第一次让某个设备按照你的意愿工作、第一次用数字工具解决了生活中的一个实际问题——别忘了,那就是属于你自己的Hello World。

也许没有人会看到它,也许它永远不会出现在任何代码仓库里,但你知道它就在那里。那个瞬间,你和整个世界之间,建立了一种只有你懂的连接。

就像五十多年前柯林汉在贝尔实验室的终端前看到的那行字一样——

安静,微小,但无比真实。