程序员与机器的四十年对话史
与机器对话的人
深夜十点,程序员老余关上电脑,揉了揉发涩的眼睛。客厅里,妻子已经睡了,电视还亮着,无声的画面里正播放一档综艺节目。他轻手轻脚走过去,关掉电视,在黑暗中站了一会儿。
这是他今天第一次站起来超过五分钟。
二十年前,有人问他:“你是做什么的?”
他说:“写程序的。”
二十年后,同样的问题,他的回答变了:“写代码的。”
“写程序”和“写代码”,在普通人听来没什么区别。但老余知道,这中间隔着一整个时代。程序是逻辑的艺术,代码是工程的产物。程序员的身份变了,他和机器的关系也变了。
启蒙时代:当机器还是神
老余还记得第一次见到计算机的情景。
那是1989年,他上高中,学校有一台苹果II,放在一间专门的机房里,门上挂着锁,钥匙在教导主任手里。一个学期,每个班能轮到一次上机机会,四十五分钟,进去前要换拖鞋,不能碰屏幕,不能乱按键盘。
那四十五分钟,他学会了人生第一行代码:
10 PRINT "HELLO WORLD"
20 GOTO 10
屏幕上开始不断滚动“HELLO WORLD”,一行接一行,像瀑布,像下雨,像某种神秘的仪式。他盯着那些绿色的字符,心跳加速。
“那一刻,”他说,“我觉得自己在跟神对话。”
那时候的程序员,是极少数人的特权。他们要懂硬件,懂汇编,懂操作系统的底层原理。机器是昂贵的、神秘的、需要虔诚对待的。他们写代码,像祭司在神庙里刻下符文,凡人看不懂,也不敢问。
老余后来考上大学,学计算机。四年里,他学了Pascal、C语言、数据结构、编译原理。毕业时,互联网刚刚兴起,他和几个同学凑钱买了一台调制解调器,拨号上网,听着刺耳的握手声,等待网页慢慢加载。
“那时候觉得,未来无限大。”他说。
英雄时代:当代码改变世界
2000年,老余的同学小周决定辞职创业。
小周在一家外企做工程师,工资高,福利好,是人人羡慕的金领。但他辞了,拉着几个朋友,在居民楼里租了一间两居室,开始做网站。
“你疯了?”老余问他。
“没疯,”小周说,“这是机会。”
那个网站叫“中国黄页”,后来改名,再后来被收购,小周成了千万富翁。那几年,像他这样的故事层出不穷——几个程序员,一个车库,一个想法,一夜之间改变世界。
那是程序员的英雄时代。
张小龙写Foxmail的时候,一个人,一台电脑,一写就是几年。求伯君写WPS的时候,把自己关在房间里,写了十多万行汇编代码。王江民写杀毒软件的时候,已经三十八岁,才开始学编程。
这些故事被写进书里,被印在杂志上,被当作传说在程序员群体里流传。每个写代码的人都幻想过:有一天,我也能写出改变世界的软件。
老余也幻想过。他试着创业,做了几个产品,都不温不火。钱烧完了,团队散了,他又回去上班。
“不是那块料,”他说,“认了。”
但他不后悔。那几年,他见过凌晨四点的中关村,吃过一块钱的牛肉面,写过改变自己人生的代码。虽然没有改变世界,但世界在他面前展开了一点点。
工业时代:当程序员成为工人
后来,泡沫破了。
互联网公司一家接一家倒闭,程序员的简历像雪片一样飞向少数还在招聘的公司。工资降了,期权废了,创业的梦想被现实碾碎。
再后来,泡沫又来了。这次不一样。
移动互联网兴起,App需要人写,后台需要人搭,服务器需要人管。程序员突然变成了稀缺资源。培训班如雨后春笋,三个月包就业,不会写代码也能包装成三年经验。
老余的公司开始大量招人。新来的年轻人,有的连冒号分号都分不清,有的写个循环都能死机,有的连Git是什么都不知道。但他们年轻,能加班,肯学,工资要求低。
“我们那会儿,”老余跟同事感慨,“写代码是艺术。”
“现在呢?”同事问。
“现在是搬砖。”
这话有点刻薄,但事实如此。软件工程越来越成熟,分工越来越细,程序员越来越像流水线上的工人。前端写界面,后端写接口,数据库管数据,运维管部署。每个人只负责一小块,不需要懂全局,不需要有想法,只需要按需求文档把代码写完。
老余有时候看着新人写的代码,想叹气。不是不好,是太标准了——用同样的框架,同样的模式,同样的命名方式,像同一个模子刻出来的。没有风格,没有个性,没有那种“一看就是这人写的”的痕迹。
“这样也挺好,”他安慰自己,“代码是给人看的,不是用来认的。”
智能时代:当机器学会思考
ChatGPT出来的那天,老余的儿子第一个告诉他。
“爸,你快看,这个东西能写代码!”
老余试了试,输入“用Python写一个计算器”,几秒钟,代码出来了,能跑,没bug。他又试了“用React写一个待办事项”,同样几秒钟,同样能跑,同样没bug。
他沉默了。
四十年前,他第一次面对电脑,觉得在跟神对话。四十年后,电脑开始跟他对话,他不知道该说什么。
“你会被取代吗?”儿子问。
“不知道。”他说。
他想了想,又说:“可能会,可能不会。会写代码的人可能被取代,但知道写什么代码的人不会。”
他开始琢磨这件事。AI能写代码,但AI不知道为什么要写这些代码。AI能实现需求,但AI不知道需求从哪里来。AI能优化逻辑,但AI不知道逻辑之外还有人性。
“写代码越来越不重要了,”他跟儿子说,“但想清楚写什么,越来越重要。”
儿子听不太懂,他也不解释。有些事,得自己经历过才懂。
后人类时代:谁在和谁对话
最近老余总在想一个问题:人和机器的关系,到底应该是什么样的?
最开始,人命令机器。写一行代码,机器执行一行。人是指挥官,机器是士兵。
后来,人教机器。写一堆代码,机器学会怎么处理不同的情况。人是老师,机器是学生。
现在,人和机器对话。你对AI说一句话,AI给你一段代码。你说得越清楚,AI给得越准确。人是提问者,机器是回答者。
那以后呢?
以后可能机器和人一起写代码。机器写框架,人填血肉;机器写逻辑,人加情感;机器写功能,人想意义。人和机器的边界越来越模糊,最后不知道是谁在写。
老余想起年轻时读的一本书,叫《机器人会梦见电子羊吗?》。那时候读不懂,现在好像懂了一点。
机器会梦见代码吗?会梦见自己写的代码跑起来的样子吗?会梦见那些深夜里和它们一起工作的人吗?
他不知道。但他知道,自己会梦见。梦见第一次看到“HELLO WORLD”时的激动,梦见创业时通宵写代码的夜晚,梦见那些和机器对话的四十年。
尾声:一个人的时代
凌晨一点,老余又坐回电脑前。
不是工作,是他自己的一点小爱好——写一个给孙子玩的识字软件。用最新的框架,最潮的技术,最酷的动画。没人要求他写,没人付他钱,但他写得比上班还认真。
儿子问他:“累不累?”
“不累,”他说,“写自己想写的东西,不累。”
屏幕亮起来。他敲下第一行代码,像四十年前一样。那时候他在学“PRINT”,现在他在写“export default”。变的是语言,不变的是那种感觉——和机器对话,让世界按照自己的想法运转。
机器不会累,不会烦,不会质疑。你给它正确的指令,它就给你正确的结果。人和机器之间,是最纯粹的关系。
但人会累,会烦,会质疑。人会在深夜关掉电脑,在黑暗中站一会儿,想一想自己到底在做什么。
然后,第二天再打开电脑,继续写。
因为总要有人和机器对话。
总要有人告诉机器,这个世界应该是什么样子。总要有人用一行行代码,把想象变成现实。总要在那些冰冷的逻辑里,注入一点点人的温度。
凌晨两点,老余写完最后一个功能,提交代码,关掉电脑。
客厅里,电视还亮着。他走过去关掉,在黑暗中站了一会儿。
窗外,城市的灯光星星点点。他知道,那些灯光背后,有无数和他一样的人,正在和机器对话。
这是他的时代,也是他们的时代。
