Hello World:第一次尝试,与迟迟不来的答案

《Hello World:第一次尝试,与迟迟不来的答案》以编程入门的第一个程序为隐喻,回顾作者人生中的两次"第一次":2008 年大一,在机房里第一次 ping 一个网站,第一次收到来自远方的回应;2015 年,在成都求职的低谷里,照着别人写好的 README 把个人网站在本地跑起来,站点自动生成的第一篇文章,标题就叫 Hello World。文章没有停在"成功"——它继续写下之后漫长而不体面的中间地带:对父母隐瞒实情、初创公司的落差、孤独与自我怀疑,以及网站跑通后对着屏幕发呆的瞬间:能让系统跑起来,却不知道拿它做什么。全文落在"觉醒不是终点,只是拿到了继续走下去的资格"——而"我究竟想要什么",至今没有答案。

Hello World 是很多人学编程时写下的第一个程序——用一行最简单的指令,让屏幕打印出一句问候。那是你第一次让一台机器“听懂”你,也是很多喜欢折腾代码的人,第一次与编程结缘的地方。

放到人生里,我越来越觉得,每个人也都有自己的“Hello World”:某个第一次,让世界回应了你一次,也让你第一次清楚地看见自己。那通常是很小的一件事,小到不足以写成成就,却足以在心里留下一行记号——像系统第一次启动时,屏幕亮起的那一声。

01 / Ping | 第一次试探

我接触电脑很晚。未成年之前,网吧不让进,家里也不准我去;家里更没有电脑——那是个电脑还算稀罕物的年代。所以第一次真正坐到一台电脑前,已经是大一。

2008 年,我去了沿海的一座城市读大学。那年春天有汶川地震,夏天有北京奥运会。大一那年秋天,我在机房里第一次用 Windows 的命令行 ping 了一个网址。

屏幕唰地列出一串 IP,还有一行行以毫秒计的延迟。原来只是敲一个命令,我就能收到来自远方的回应,还能知道这一来一回要花多少时间。对一个十八岁、刚从没有电脑的环境里走出来的人,那几乎像魔法——原来我可以主动去“碰”这个世界,而不总是被它推着走。

那一刻我没想过这叫“编程”。但很多年后我才意识到,那不是我写下的第一行代码,却是我人生里第一次“运行成功”——不是写在编辑器里的,是写在“原来我能让一样东西回应我”的那一惊里。

02 / Hello World | 第一声问候

从 2008 年到 2015 年,前后七年。

2012 年我毕业,留在沿海工作了两年。后来决定来成都——很早就听过“西部大开发”,那时的成都地铁还只有两条线,我想,也许这里机会更大。2014 年,我来了。

但找工作并不顺利。之后的很长一段时间,我基本处在找工作状态:跑招聘会,在网上海投简历,网撒得太大,接到面试电话时,得先跟对方确认“您是哪家公司”。这样的日子持续了将近一年,压力很大。

也正是在这段什么都抓不住的时间里,我接触到了 GitHub,遇到了一个适合自己的个人建站项目。2015 年,我还没找到工作,却有大把时间归自己支配。照着项目里别人写好的 README 一步步操作,网站真的在本地跑通了——接着,它自动生成了第一篇文章,标题叫:Hello World。

在浏览器里打开本地地址,那两个词安安静静地躺在页面上。严格说起来,这篇文章不是我写的,是站点自己生成的第一声问候。可那一刻我还是恍惚:这是我做出来的。代码、命令行、README——这些抽象的、属于别人的东西,在这一刻具象成了两个安安静静的字。一个由我亲手运行起来的系统,在用它的方式,跟这个世界说了第一声你好。

现在回头看,这一声“Hello”之所以重,不是因为我做成了什么,而是因为它发生在谷底——在很多事情都不由我掌控的时候,我至少让一个系统,按它应有的样子跑了起来。那是我第一次清楚地意识到:原来我可以创造一点什么,原来我不是只能被生活推着走。

03 / Gap | 不体面的中间地带

可那一声之后,等待我的不是一路向上,而是一段漫长、也很不体面的中间地带。

先说那将近一年的 gap。压力大到一定程度,人其实是木的:照旧出门,照旧刷新邮箱,心里早就没了底。而最重的一件事,在当时是说不出口的——我没有告诉父母,自己已经辞掉了原来的工作,一个人来了成都。电话里只说“挺好的”“快有消息了”,挂了电话继续海投、继续跑招聘会。人在异乡,最难的不是忙,是所有的难都只能自己咽。

2015 年底总算找到了工作,一家初创公司——当初选择它,看中的正是它的潜力。可真进去才发现,实际情况和预想是有偏差的。

岗位和我在沿海时一样。按理说有经验,上手该更快,可事实大相径庭。细想起来,问题不全在工作上:在沿海待了那么多年,身边是几年处下来的人际关系;而在成都,这一切几乎归零,新朋友也没有交到。人是孤的,工作状态自然好不到哪里去。这不是公司不够人性化,是我自己当时适应不了那种氛围。下班之后,打游戏成了常态,每天只有机械的上下班、睡觉、吃饭、打游戏。

有过一些深夜,人是真的会动摇的:当初是不是不该离开那座沿海的城市?这一步,是不是走错了?

代码出了错可以回滚,是因为上一个版本好好存着。人生当然也可以回滚——我大可以离开成都。可真到了要走的时候才发现,回滚不是一个动作,是一个岔路:回老家,还是回沿海?哪一边,都不是无条件的“回去”。

我知道,年轻人是有试错的机会的;可试错不是撤销,它只是把下一个选择,提前推到你面前。而我最后做的,不过是硬着头皮扛下去。

也是在那些机械的日子里,有一个问题会反复浮上来:我到底该干什么?

来成都的时候,我是有一腔热血的——西部大开发、新的城市、一种从头再来的想象。可当真过上了每天上下班、睡觉、打游戏的日子,热血早凉了,落差大得吓人。我究竟想要什么?说不上来。有时深夜,我会打开本地那个跑起来的网站,看着那篇 Hello World 发好一会儿呆。我把它成功运行了,这是我亲手做出来的东西;可我盯着它,却不知道真正该拿它去干什么。

现在回头看,那段日子之所以没垮,多少是因为心里存着那一声 Hello。它不替我解决任何问题,只让我知道自己能做成一件事——甚至在它刚跑起来的时候,我连自己下个月在哪都不知道。

可创造得了什么,和想要什么,到底是两回事。一次次对着屏幕发呆之后,我渐渐明白,自己正在撞上另一件事的开头:探寻需求——不是谁给我提的需求,是我自己生活里冒出来的:我到底要一个什么样的系统,过一种什么样的日子。程序不会替你回答这个问题。规则由人设定,答案也得由人自己寻找。它只会安安静静地等着你。至于答案,我当时并没有找到——很多个深夜,什么也没盯出来。

觉醒不是终点,它只是给了你继续走下去的资格。而“走下去”从来不是一句漂亮话,是每天醒来,先把今天过完。

04 / Run | 我的第一次运行

日子就这么一天天过下去。很多年后回头看,我渐渐读懂了那声 Hello。很多人以为它是起点的高光,其实它更像一次自我确认:一个程序第一次向世界宣告“我存在”,而一个人,也往往在某个“让世界回应了自己”的瞬间,第一次看见自己。

我的这一声来得晚,也不响亮——十八岁那年隔着命令行碰了碰世界,很多年后,才在一座陌生的城市、一段不太顺利的日子里,真正让它落地。可正是这两下,让我确认了一件事:我可以伸出手,也可以留下声。

Hello World 只是第一行。它后面还有需求要问,有报错要面对,有结构要重构,有系统要长期运行。我至今还在写后面的部分。

评论0

    ← 返回首页