不要做与世隔绝的功夫大师——约翰·卡马克
Don't be the out of touch Kung Fu master – John Carmack

原始链接: https://twitter.com/ID_AA_Carmack/status/2098443262214230095

约翰·卡马克将武术的演变与现代软件工程进行了类比。正如剑术从战场上实用的生存技能演变为一种精炼的传统修习(“道”),卡马克观察到,由于人工智能的兴起,手动编码也正在经历类似的转变。 他指出,曾经必不可少的技能(如手动汇编操作码)已从职业要求转变为“复古”爱好。虽然他拥抱这种演变,但也提出了警示:程序员不应成为固守陈规、脱离实际的“大师”,以免以牺牲效率为代价。正如传奇兵法家宫本武藏若活在现代可能会选择用突击步枪替代长剑一样,卡马克建议专业人士应优先考虑实际效能,而非对传统手动方法产生情感上的依恋。归根结底,虽然“编程之道”可能依然是一项令人满足的追求,但它不应成为在被新技术重塑的环境中保持竞争力的阻碍。

这篇 Hacker News 的讨论聚焦于约翰·卡马克(John Carmack)近期关于软件工程演变的文章。其核心主题是从“手动逐行”编码向人工智能辅助开发的转变。 支持这一转变的人认为,人工智能消除了编程中繁琐、机械的障碍,例如记忆语法、API 名称和语言特性。他们指出,通过卸载编写代码的“苦力”,工程师可以更专注于高层架构、算法和数据结构。对一些人来说,人工智能辅助开发重燃了他们对计算机科学的热情,使他们能够比以往更快地将思维模型转化为功能性软件。 然而,讨论也突显了反面观点。一些用户认为,许多人眼中的“繁琐”实际上是由于工具不完善造成的;他们指出,实时编程环境(如 LISP 或 Smalltalk)或经过优化的“编辑-编译-运行”周期,是无需依赖 AI 即可简化开发的替代方案。同时,另一些人则不屑于这种哲学层面的讨论,转而批评文章作者而非内容本身。归根结底,该讨论串反映了行业内的一种广泛张力:人工智能究竟是编程的必要演进,还是会掩盖编程基本功的工具。
相关文章

原文

John Carmack on X: "I recently went through a translation of Musashi’s Book of Five Rings. The introduction chronicled the evolution of swordsmanship and martial arts in general from pragmatic battlefield necessities to sports, historical curiosities, and hobbies. It was interesting to hear how in the post-WW2 occupation when martial arts were banned, Judo was represented as equivalent to western wrestling, and Kendo later to western fencing. The poignant undercurrent for me is that I can see many programming skills following that path. There are probably dozens of people reading this that remember hand assembling opcodes to hex and still have some magic numbers burned into their memory, but even the small group of people still programming in assembly today (hey, @FFmpeg !) don’t work at that primitive level now. AI is making many other programming skills much less critical. We aren’t there yet, but carefully writing code completely by hand is moving from a -jitsu to a -do. Code-do? Codo? That’s ok! The retro computing scene is delightful, full of people building and exercising old skills for the love of it. But don’t be the out of touch Kung Fu master, heir to lifetimes of tradition, that gets mauled by an amateur MMA fighter. Musashi would probably have been pretty enthusiastic about assault rifles."

I recently went through a translation of Musashi’s Book of Five Rings. The introduction chronicled the evolution of swordsmanship and martial arts in general from pragmatic battlefield necessities to sports, historical curiosities, and hobbies. It was interesting to hear how in the post-WW2 occupation when martial arts were banned, Judo was represented as equivalent to western wrestling, and Kendo later to western fencing. The poignant undercurrent for me is that I can see many programming skills following that path. There are probably dozens of people reading this that remember hand assembling opcodes to hex and still have some magic numbers burned into their memory, but even the small group of people still programming in assembly today (hey, @FFmpeg !) don’t work at that primitive level now. AI is making many other programming skills much less critical. We aren’t there yet, but carefully writing code completely by hand is moving from a -jitsu to a -do. Code-do? Codo? That’s ok! The retro computing scene is delightful, full of people building and exercising old skills for the love of it. But don’t be the out of touch Kung Fu master, heir to lifetimes of tradition, that gets mauled by an amateur MMA fighter. Musashi would probably have been pretty enthusiastic about assault rifles.
联系我们 contact @ memedata.com