这十几年,一批批程序员前仆后继,去搞低代码编程(包括无代码编程)。光在我身边,就有三四批。

他们搞的低代码编程,我理解就是通过图形界面,拖拉各种组件,自动生成软件 UI 的底层代码,减少手工编码。

这个想法很好,确实很多人需要,尤其不懂编程的人,这简直是生成程序的唯一可用方式。
但是很奇怪,他们无一例外都失败了,开发出来的低代码工具,开始还有一些好奇的用户,很快就不来了,用户越来越少,后来即使开源了,也没人用。
更奇怪的是,这似乎不是偶然现象,业界所有的低代码工具好像都不成功,至少我想不出成功的例子,哪一个受欢迎的应用程序是用低代码工具生成的。
它的背后有什么原因吗?是哪里没有做对,还是低代码编程本身就不可行?
我一直没有想通这个问题。虽然不看好,但是依然抱有一丝幻想,也许某一天醒来,低代码编程就成了主流,无论手机 App 还是桌面应用,鼠标拖几下,就可以生成。

直到上周,我读到一篇文章《低代码编程受困于形式》[1](下图),才恍然大悟,低代码编程有先天缺陷,恐怕不会成功。

文章说,优秀的作品都是形式(form)和功能(function)的统一。形式必须服从功能,功能决定了形式,英文叫做“form follows function”。

对于优秀的程序员,只要弄清楚了底层,UI(用户界面)就会显而易见。
低代码编程的问题在于,它是先有 UI(形式),再有代码(功能)。
用户先拖拉生成 UI,系统再根据 UI 生成代码。这是本末倒置,让底层代码适配 UI,注定了两者都有问题:UI 是空想出来的,代码为了适配 UI,注定冗余和低效。
所以,优秀的软件不可能用这种方式生成,低代码编程不会成功。
我认为,他说的很有道理。低代码编程解决不了这个根本缺陷,适用场景有限,大概只适合一些简单任务,或者生成原型,不会成为主流工具。程序员应该谨慎开发这类工具,付出的劳动很可能打水漂。
写到这里,问题就来了:AI 算不算低代码编程(或者无代码编程)?如果低代码编程不会成功,那么 AI 编程会成功吗?
我认为,AI 不同于低代码编程。低代码编程是使用者给出 UI,系统来生成代码,而 AI 是系统同时生成 UI 和代码,用户只需要说出需求即可。
这种情况下,形式与功能的结合,完全取决于 AI 的能力。如果有一天,AI 视频能够成功,画面美,情节好,那么 AI 编程大概也会成功,生成形式与功能统一的应用程序。
References[1] 《低代码编程受困于形式》: https://interjectedfuture.com/visual-programming-is-stuck-on-the-form/