《人月神话》50周年遇到AI-那些乐趣和苦恼(01-03)
用《软件方法》引领AI全流程开发-5月12-14日第3期
今年是“The Mythical Man-Month(《人月神话》)”出版的 50周年。
《人月神话》是1975年出版,当时的封面如下:
那一年还发生了一件非常重要的事情,MITS Altair 8800上市:
就这么一个排列一堆开关和指示灯的盒子,催生了一家叫“Micro-Soft”的公司。是的,一开始有个横杠。
两个年轻人为Altair 8800提供了这样的纸带:
今年是2025年,Microsoft依然很稳,《人月神话》也依然在引用,像下面这本2025年出版的书:
现在这个时间点,AI引起了整个人类社会非常大的变化。《人月神话》的内容遇到AI,会有什么样的一个变化呢?
《人月神话》第1章“焦油坑”有两个标题“职业的乐趣”和“职业的苦恼”。
作者Brooks归纳编程的乐趣如下:
编程的苦恼如下:
我把各段的标题拼接了,详细内容请看书。当时对于软件开发工作流的认识远没有现在这么完善,Brooks所说的“职业的乐趣和苦恼”仅仅是从编程人员(即实现人员)的角度来说的。
我们先来尝试一条一条思考,在今天AI的加持之下,这些乐趣和苦恼是增加了,还是减少了?
乐趣1:造东西的成就感
从我的观点看,对于编程人员来说,这个成就感是下降的,因为东西得来变得太容易。
不但自己感到的成就感下降,在外人眼里的“光环”也会减弱。
视频网站中常有不会编程的人如何用Cursor在半天内搞了一个小游戏、小程序、App的内容,让观众觉得编程也没什么难的。
不过这还不是最大的打击。实际上,掌握编程知识的专业编程人员比起业余人员更能利用AI来助力编程。更大的问题是,AI的存在提供了一个庞大的参照物。
比起业余人员,柯洁对围棋AI的利用要更深入和充分,在无AI加持之下,柯洁棋力也远超业余人员,但不妨碍围棋高手在业余人员心中地位的下降。
以前没有AI的时候,围棋观众看围棋高手的比赛,是带着欣赏艺术的心态来看的。高手下的每一步,观众或者解说员都会去认真去捉摸他背后的思想,这一手是什么意思呢?
现在看两个围棋九段的比赛,就像拿着标准答案看两个学生考试一样。哎呀,这一手和AI推算不匹配,这一手下去胜率掉了多少个点。
乐趣2:制造对他人有用的东西
这一条我认为是上升的。
这一条里面有两个词:制造、有用。这两个词相当于跷跷板的两端,当一个的重要性上来的时候,另外一个就会下去。
当“制造”很难的时候,“有用”就会显得没那么重要。最开始我们直接输入机器指令或者使用汇编助记符的时候,程序能运行就很不错了,还想着在“有用”上指手划脚?
随着编程语言(也就是Brooks所说的介质)的改善,“制造”的难度下降,我们才能饱暖思淫欲,开始想着“有用”了,要做“需求”了。
互联网到来的早期,也有跷跷板“制造”一端下沉的情况,互联网成熟,“有用”一端又会变重。关于这方面,可以参考以下文章:
是不是互联网更适合用DDD>>
互联网公司的很多“建模体会”没有价值>>
AI使得“制造”一端变轻了,“有用”一端相对就重了。软件开发人员要获得成就感(乐趣),更多得从“有用”这一端获取。
乐趣3:相互啮合的活动部件组装在一起
这个就是分析&设计的能力,或者俗称“架构”能力。
(伪创新经常滥用“架构”一词,什么词后面都跟一个“架构”,毒害业界不浅。)
这个乐趣我认为是上升的。
很多人这方面原本的能力太弱了,而提高这方面能力的难度又要比提高实现能力大很多。被各种琐碎的事情绊住,无暇思考整体问题;因畏难而受到伪创新欺骗,跌入割韭菜的坑……一来二去,要么产生幻灭感,懒得改进了,要么用伪创新欺骗自己,假装自己进步了。
如果AI能提供分析&设计的能力,我们被AI带着,乐趣也能提高。注意此处和乐趣1有区别,分析&设计能力现在是很弱或者接近于无的:
此时,即使是被AI带着学习,也是有乐趣的。
如果AI不能提供分析&设计的能力,它把琐碎的事情接手之后,我们会有更多的精力来提高这方面的能力。同理,能力很低的时候,提高一点点也是很快乐的。
(待续)