听闻胡彦斌也开始 vibe coding 了。
vibe coding 的流行,加上整个科技行业的舆论风向,很容易让人产生一种错觉:非技术背景的人现在可以轻松转码,甚至完全不需要学习代码知识了。
这个判断有一小部分是对的。
我确实觉得,现在已经不太需要专门学习「编程语言」本身了。即使是能力一般的模型,也很少会在语法和基础逻辑上出错。所以再去考察一个人是否知道 `Promise.all` 和 `Promise.race` 的区别意义不大。模型基本不可能在这种问题上翻车。
但也仅限于此。
如果你想真正开发一个 SaaS,一个能让很多人稳定使用、功能复杂、体验顺滑的软件产品,仍然需要学习大量软件工程知识:浏览器工作原理、网络基础、缓存机制、构建编译、技术社区动态,以及很多很多其他东西。
而我刚刚提到的这些,可能连一个成熟工程师需要掌握的知识的百分之一都不到。
你可以观察一下:没有软件工程背景的人做出来的软件,通常都只有单一功能。它可能很有趣,也可能精准击中了某个用户群体的痛点,但共同特点是功能简单。
我一直觉得软件开发和建筑开发很像。
一个人自学一下,在农村盖个土房子并不难。但如果你要盖一栋六层楼高的楼,需要的知识会呈几何级增长。
这里想说的不是「普通人不能做软件」,而是软件开发没有主流舆论宣传的那么简单,事实上它可能同时是一个不错的 motivation 和一个 misleading。
vibe coding 降低的是「写代码」的门槛,不是「做软件」的门槛。