摘要
今天,AI Coding 正以前所未有的速度降低编程门槛。 越来越多人开始亲手构建产品,也重新讨论编程究竟是一门怎样的手艺:它为什么令人着迷,又为什么如此困难。 Frederick P. Brooks Jr. 五十年前在《人月神话》中写下的《焦油坑》,今天读来格外贴近当下。 Brooks 最为人熟知的经历是领导 IBM System/360 及其操作系统的开发。他将大型软件系统的开发比作史前巨兽陷入焦油:真正的危险从来不是某一个困难,而是无数问题同时出现、彼此纠缠。团队越是挣扎,有时反而陷得越深。 编程既是痛苦的,也是快乐的。它让人困于琐碎,也能让创造者把想法变成现实。 愿你穿过焦油坑,仍享受创造。 01 焦油坑 史前世界里,最鲜明的场景之一就是巨兽在焦油坑中垂死挣扎。 恐龙、猛犸象、剑齿虎……它们越是奋力挣脱,焦油就缠得越紧。没有哪头野兽强大到不会沉没。 过去十年,大型软件系统开发正是这样一个焦油坑。 许多强大的团队都曾在其中激烈挣扎。很多团队最终确实做出了能够运行的系统,但鲜有人能在达成目标的同时,按时交付并控制预算。 困难并不是由某一件事造成。任何单个困难看起来都可以解决,就像一只爪子还能从焦油中挣脱。真正可怕的是,许多因素同时出现、彼此作用,最终让整个项目越陷越深。 要解决这个问题,首先必须理解「编程」这门手艺本身,以及它内在的快乐与痛苦。 02 程序、产品、系统 大家经常会在新闻读到这样的故事:两个程序员在改造过的车库里做出了一个程序,成果却超越了巨头。 每个程序员都愿意相信这样的故事,因为大家知道,如果只是写一个程序,自己的速度一定远超组织「每年 1000 行」的水平。 但为什么大厂的开发团队至今还没有被专注的车库二人组取代? 1976 年,21 岁的乔布斯与好友沃兹尼亚克在自家车库内成立苹果电脑公司 所谓「程序」,指的是一个本身已经完整、能够由作者在其开发环境中直接运行的东西。这就是在车库里完成的项目,也是程序员在估算自己生产效率时默认参照的对象。 但一个程序想成为真正有用的东西,还要跨过两道边界。 第一道边界,是从程序变成产品。 它不再只满足于作者自己能运行,而是任何人都可以运行、测试、修复和扩展。它可以用于不同的操作环境,也可以处理多种数据。
相关事件
暂无数据