我的征尘是星辰大海。。。
The dirt and dust from my pilgrimage forms oceans of stars...
-------当记忆的篇章变得零碎,当追忆的图片变得模糊,我们只能求助于数字存储的永恒的回忆
作者:黄教授
手机视频列表
AI时代写代码真的是很容易的事情吗
视频
音频
原始脚本
别再被写代码从来都不是难点骗了,25年老开发者的清醒反驳。 经常刷到一种流行论调,写代码本身毫无难度,真正难的是业务、架构、沟通。 从业25年的资深开发者撰文激烈反驳,戳破了当下大众对编程最普遍的认知误区。 结合技术工具迭代与行业现状。 我们可以把这件事梳理得通俗易懂。 很多人产生写代码很简单的错觉,完全是时代工具迭代带来的感官偏差。 回溯几十年前的编程环境,没有成熟 IDE 智能提示、在线文档,更没有代码补全工具与 AI 辅助。 早年用 C 语言裸开发,调试全靠打印日志。 内存泄露、指针越界、编译链接报错都要逐行人工排查,硬件适配、底层逻辑都需要开发者完全吃透计算机运行原理。 敲对语法本身就需要极强的积累,编码本身就是高门槛工作。 而如今,编程的入门体力成本被无限抹平。 VS Code 自动补全框架封装了底层复杂逻辑,搜索引擎随手可复制成数代码片段。 大模型更是能一键生成 CRUD 脚本、简单工具类代码。 于是只会拼接 API 复制粘贴现成片段、套用模板完成基础业务开发的人,也被宽泛称作程序员。 行业从业者门槛下沉。 看似人人都能上手写几行代码,写代码不难的说法就此泛滥。 这本质上是群体分层带来的含金量稀释,和滥竽充数的寓言异曲同工。 但必须厘清一个核心概念,编码 coding 不等于软件工程 software engineering 敲对语法,写出可运行的简单代码。 只是编程最表层的环节,绝非程序员工作的核心难点。 真正的编程难题从来没有消失,只是发生了转移。 过去开发者要耗费大量精力解决怎么让代码跑起来。 现在要解决的是怎么让系统稳定、高效、可长期维护的跑下去。 复杂业务的抽象建模、分布式系统的一致性保障、高并发场景的性能优化。 技术选型的成本与风险权衡、遗留系统重构、线上故障根因排查、多团队协作的规范统一,这些无法被标准化。 无法靠 AI 凭空生成,必须依靠从业者多年的经验、逻辑推演与业务理解力,也是资深程序员不可替代的核心价值。 至于当下火热的 AI 编程,它的定位始终是效率放大器,而非人类程序员的替代品。 AI 擅长处理重复、范式化、模板化的编码工作。 帮开发者节省大量机械码字时间。 但它无法深度理解模糊的真实业务需求,无法预判系统长期迭代的技术债务。 难以权衡安全性、兼容性与开发成本。 生成的代码经常存在逻辑漏洞、边界条件缺失,必须由人类审核、修正、整合才能落地。 现阶段,AI 完全自主独立完成大型商业软件开发依然不具备现实可行性。 放到行业现实中,写代码不难这句话只适用于低端标准化场景。 市面上大量同质化的简单外包,后台增删改查工作,确实经过短期学习就能上手。 但支撑互联网大厂核心业务、底层基础设施。 金融级安全系统、高性能引擎的研发工作门槛从未降低,依旧需要深厚的计算机基础、系统化工程思维与持续学习能力。 最后回到程序员的角色演化。 工具一直在降低编码的入门门槛,却从未降低解决复杂问题的智力门槛。 未来程序员不会被 AI 淘汰。 而是完成职能升级,从单纯的代码书写者转变为需求翻译者、 AI 提示工程师、代码质量把关人、系统架构决策者。 与技术风险把控者。 总而言之,轻视编码,鼓吹写代码毫无难度,既是对老一辈开发者底层攻坚经历的忽视,也是对软件工程复杂性的无知。 容易的从来不是编程本身,是唾手可得的工具。 真正值钱的永远是驾驭工具,用逻辑解决复杂现实问题的人脑智慧。
修正脚本
别再被写代码从来都不是难点骗了,25年老开发者的清醒反驳。 经常刷到一种流行论调,写代码本身毫无难度,真正难的是业务、架构、沟通。 从业25年的资深开发者撰文激烈反驳,戳破了当下大众对编程最普遍的认知误区。 结合技术工具迭代与行业现状,我们可以把这件事梳理得通俗易懂。 很多人产生写代码很简单的错觉,完全是时代工具迭代带来的感官偏差。 回溯几十年前的编程环境,没有成熟 IDE 智能提示、在线文档,更没有代码补全工具与 AI 辅助。 早年用 C 语言裸开发,调试全靠打印日志。 内存泄露、指针越界、编译链接报错都要逐行人工排查,硬件适配、底层逻辑都需要开发者完全吃透计算机运行原理。 敲对语法本身就需要极强的积累,编码本身就是高门槛工作。 而如今,编程的入门体力成本被无限抹平。 VS Code 自动补全框架封装了底层复杂逻辑,搜索引擎随手可复制现成代码片段。 大模型更是能一键生成 CRUD 脚本、简单工具类代码。 于是只会拼接 API 复制粘贴现成片段、套用模板完成基础业务开发的人,也被宽泛称作程序员。 行业从业者门槛下沉。 看似人人都能上手写几行代码,写代码不难的说法就此泛滥。 这本质上是群体分层带来的含金量稀释,和滥竽充数的寓言异曲同工。 但必须厘清一个核心概念,编码 coding 不等于软件工程 software engineering。敲对语法,写出可运行的简单代码。 只是编程最表层的环节,绝非程序员工作的核心难点。 真正的编程难题从来没有消失,只是发生了转移。 过去开发者要耗费大量精力解决怎么让代码跑起来。 现在要解决的是怎么让系统稳定、高效、可长期维护地跑下去。 复杂业务的抽象建模、分布式系统的一致性保障、高并发场景的性能优化。 技术选型的成本与风险权衡、遗留系统重构、线上故障根因排查、多团队协作的规范统一,这些无法被标准化。 无法靠 AI 凭空生成,必须依靠从业者多年的经验、逻辑推演与业务理解力,也是资深程序员不可替代的核心价值。 至于当下火热的 AI 编程,它的定位始终是效率放大器,而非人类程序员的替代品。 AI 擅长处理重复、范式化、模板化的编码工作。 帮开发者节省大量机械码字时间。 但它无法深度理解模糊的真实业务需求,无法预判系统长期迭代的技术债务。 难以权衡安全性、兼容性与开发成本。 生成的代码经常存在逻辑漏洞、边界条件缺失,必须由人类审核、修正、整合才能落地。 现阶段,AI 完全自主独立完成大型商业软件开发依然不具备现实可行性。 放到行业现实中,写代码不难这句话只适用于低端标准化场景。 市面上大量同质化的简单外包,后台增删改查工作,确实经过短期学习就能上手。 但支撑互联网大厂核心业务、底层基础设施,金融级安全系统、高性能引擎的研发工作门槛从未降低,依旧需要深厚的计算机基础、系统化工程思维与持续学习能力。 最后回到程序员的角色演化。 工具一直在降低编码的入门门槛,却从未降低解决复杂问题的智力门槛。 未来程序员不会被 AI 淘汰。 而是完成职能升级,从单纯的代码书写者转变为需求翻译者、 AI 提示工程师、代码质量把关人、系统架构决策者、技术风险把控者。 总而言之,轻视编码,鼓吹写代码毫无难度,既是对老一辈开发者底层攻坚经历的忽视,也是对软件工程复杂性的无知。 容易的从来不是编程本身,是唾手可得的工具。 真正值钱的永远是驾驭工具,用逻辑解决复杂现实问题的人脑智慧。
英文翻译
Stop being fooled by the lie that coding is never the hard part — a clear refutation from a developer with 25 years of experience. You must have often come across the popular argument that coding itself is not difficult at all, and the real difficulties lie in business, architecture, and communication. A senior developer with 25 years of working experience wrote an article to fiercely refute this view, puncturing the most common cognitive misunderstanding about programming among the public today. Combining the iteration of technical tools and the current status of the industry, we can sort this out in an easy-to-understand way. The illusion that coding is easy that many people hold is completely a perceptual deviation brought by the iteration of tools in this era. Looking back at the programming environment decades ago, there was no mature IDE smart prompt, no online documentation, let alone code completion tools or AI assistance. In the early days, people did bare development with C language, and debugging entirely relied on printing logs. Memory leaks, pointer out-of-bounds errors, compilation and linking errors all had to be manually checked line by line; hardware adaptation and underlying logic all required developers to fully grasp the operating principles of computers. Getting the syntax right alone required extremely strong accumulation, and coding itself was a high-threshold job. Today, the entry-level physical cost of programming has been infinitely flattened. The auto-completion function of VS Code encapsulates the complex underlying logic, and you can copy ready-made code snippets from search engines at any time. Large models can even generate CRUD scripts and simple utility class codes with one click. As a result, people who only splice APIs, copy and paste ready-made fragments and apply templates to complete basic business development are also broadly called programmers. The threshold for industry practitioners has been lowered. It seems that anyone can write a few lines of code, so the claim that coding is not difficult has become rampant. This is essentially a dilution of professional value brought by group stratification, which is the same in essence as the fable of unqualified people passing for qualified to fill a position. But we must clarify a core concept: coding ≠ software engineering. Getting the syntax right and writing simple runnable code. It is just the most superficial part of programming, by no means the core difficulty of a programmer's work. Real programming difficulties have never disappeared, they have just shifted. In the past, developers spent a lot of energy solving how to make code run. Today, what needs to be solved is how to make the system run stably, efficiently and maintainably in the long term. Abstract modeling of complex businesses, consistency guarantee of distributed systems, performance optimization in high-concurrency scenarios. Cost and risk trade-off for technical selection, legacy system refactoring, root cause troubleshooting of online faults, and specification unification for multi-team collaboration — none of these can be standardized. They cannot be generated out of thin air by AI, and must rely on practitioners' years of experience, logical deduction and business understanding, which is also the irreplaceable core value of senior programmers. As for the currently popular AI programming, its positioning has always been an efficiency amplifier, not a replacement for human programmers. AI is good at handling repetitive, paradigmatic and templated coding work. It saves developers a lot of time spent on mechanical typing. But it cannot deeply understand vague real business requirements, nor can it predict the technical debt brought by long-term system iteration. It is difficult for it to balance security, compatibility and development cost. The code it generates often has logical vulnerabilities and missing boundary conditions, which must be reviewed, corrected and integrated by humans before it can be implemented. At this stage, it is not practically feasible for AI to completely independently complete the development of large-scale commercial software. In the actual industry context, the statement that coding is not difficult only applies to low-end standardized scenarios. A large number of homogeneous simple outsourcing projects on the market, and the basic create-read-update-delete work of backends can indeed be mastered after short-term learning. But the threshold for R&D work that supports the core business of large Internet companies, underlying infrastructure, financial-grade security systems and high-performance engines has never been lowered. It still requires a solid computer foundation, systematic engineering thinking and continuous learning ability. Finally, let's go back to the role evolution of programmers. Tools have been lowering the entry threshold for coding, but they have never lowered the intellectual threshold for solving complex problems. Programmers will not be eliminated by AI in the future. Instead, they will complete functional upgrading: transforming from pure code writers into requirement translators, AI prompt engineers, code quality gatekeepers, system architecture decision-makers, and technical risk controllers. All in all, belittling coding and advocating that coding is completely not difficult is both a neglect of the low-level breakthrough experience of the older generation of developers, and an ignorance of the complexity of software engineering. What is easy has never been programming itself, but the readily available tools. What is truly valuable has always been the wisdom of the human brain that can master tools and solve complex real-world problems with logic.
back to top