写点什么

为什么我说低代码是“行业毒瘤”?

  • 2021-04-28
  • 本文字数:3482 字

    阅读完需:约 11 分钟

为什么我说低代码是“行业毒瘤”?

使用低代码平台写出来的代码既难以维护,又难以测试,同时它还给行业传递了非常不好的信号,“程序员的价值是不值钱的”,最终造成的结果就是一些不具备编程专业技能的人,使用极不趁手、效率低下的工具来做写代码的工作。这是非常危险的,这类低代码工具就是行业毒瘤!


近段时间,低代码在市场中获得了前所未有的热度,很多投资机构都做了相关的分析与预测。Gartner 预测:到 2025 年,70% 的新应用将由低代码 / 无代码技术完成开发。那么,低代码真的是新风口吗?它真的可以提升效率吗?


带着这些问题,InfoQ 采访了 ThoughtWorks 中国区 CTO 徐昊,他表示低代码不是一个新概念,现在也不是低代码第一次引发业界讨论,以降低程序员门槛为目的的低代码从底层逻辑上就是不通的,这类低代码不是风口,而是行业毒瘤。

低代码并不是新概念,每隔几年就会重新流行


什么是低代码呢?2014 年,Forrester Research 研究机构正式提出了低代码的定义,即利用很少或几乎不需要写代码就可以快速开发应用,并可以快速配置和部署的一种技术和工具。通俗一点理解,在程序员实现功能的过程中,只使用了很少的代码,或者是通过拼接的方式来完成,比如我们在 Excel 中输入公式,完成相应计算,这也可以算是低代码的一种。


在徐昊看来,低代码并不是一个新概念,每隔几年低代码就会卷土重来,在业界引发热议。


伴随着计算机产生的历史,“程序员”有一个圣杯性的使命——让计算机彻底工具化。不要只是让专业人员来操控计算机,要让一些没有编程训练、不是计算机专业的人也可以使用计算机完成相应的工作。


顺着计算机发展历史去看低代码,我们会发现每个阶段的低代码定义都是不一样的。


最开始,我们是使用机器码来编程的,FORTRAN 编程语言出现之后,我们就可以使用高级编程语言去编程,不用再操控机器。那么,与操控机器对比,FORTRAN 中的数学表达式就是“低代码”。


经过一段时间的发展,编程开始围绕数据来展开,那么,业务人员能不能不用写代码就生成自己的数据报表呢?这时,SQL 就出现了,当年它也被认为是“低代码”。


根据历史规律,这类“低代码”总是在出现之后再慢慢演变成程序员的一个工具。


这次,低代码能够流行的一个背景是微服务的发展。微服务的理念是把企业中复杂度高的应用拆解成多个微服务,然后通过更简单、更低成本的方式把已存在的微服务串联起来,形成新的功能。那么,企业在进行微服务改造的时候,心中存的念想就是可以降低新功能研发和创新的成本。当企业的微服务改造都基本完成之后,通过“低代码”的开发模式将它们串联成新功能,似乎是合理的选择。

以降低程序员门槛为目的的低代码是最没用的


低代码领域目前没有特别明确的类别划分依据,各家研究机构和企业都有自己的划分标准。在徐昊看来,低代码可以粗粒度地分为三类。


第一类低代码是我们常说的脚本化,类似于在 Excel 中使用宏,通常是围绕一个特定的产品或生态去形成脚本化的环境。以 Salesforce 为例,每家公司的销售流程都会有差异,即使是再优秀的 SaaS 服务或产品都只能覆盖 80% 以上的功能,剩下一些需求还是要定制化。而这些定制化的需求往往是轻量级的,因此,SaaS 或 PaaS 平台通过低代码工具就可以实现这些需求。


其实,脚本化在行业中已经存在很多了,基本上所有做产品的公司都有脚本化的需求,主体功能不变,通过一个轻量的脚本语言在上面去做定制化需求。最典型的例子 JavaScript,JavaScript 出现时的平台产品是浏览器,通过一个脚本语言去完成浏览器上的一些额外功能,但是现在很少有人会把使用 JavaScript 叫做低代码。从某种程度上来讲,这类低代码产品最终会演变成程序员的工作,甚至引发新一类程序员的出现,而它本身则从低代码退化成为真正的代码。


第二类是我们希望看到的低代码,但是可能没有商业前景。目前企业内部仍然存在大量的人工操作和流程。这些操作或流程可能都有特殊之处,如果把它们自动化,就可以把大量的人力从繁琐的工作中解放出来。


但是企业很难关注这些流程,再加上想要自动化这些工作是很难的。不过我们会发现,在行业中出现了很多针对个人工作流的自动化工具,比如苹果的 automator, 昙花一现的 IFTTT,甚至更早的 yahoo pipes。这种简单的个人流程自动化低代码,通常是根据屏幕上发生的事情来触发,或者根据绘制的简单流程完成业务自动化的操作。


服务于个人生产力的低代码,既不会对行业造成影响,同时又有很明确的市场需求,但由于不赚钱,进入这个领域的人非常少。


第三类是现在常见的以降低程序员门槛为目的,想要说服企业使用便宜的人力成本去干活的低代码平台。在它们的宣传语中甚至会强调自己不只是低代码,而是无代码。


这类低代码其实就是之前出现过的使用表单去绘制工作流,然后在工作流程的每个节点上配上表、企业流程和 OA。


徐昊表示:“这类代码其实是最没有用的,它给行业传达了非常不好的信号——程序员的价值是不值钱的,它尝试说服企业的理由永远是程序员那么贵,使用我的工具,就可以使用更便宜的程序员了。事实上,这些能够实现的功能非常有限,甚至会导致很严重的结果,让一些不具备专业技能的人,使用极不趁手、效率低下的工具,来干写代码的工作。这是非常危险的,这样写出来的代码既难以维护,又难以测试,这一类的工具低代码平台是行业毒瘤。”

为什么我说低代码是行业毒瘤?


徐昊认为以降低程序员门槛为目的的低代码是行业毒瘤,但有意思的是,这类低代码平台在资本上是最受追捧的,因为它能讲出很美好的故事。原本企业需要花很多费用来雇佣程序员,而使用低代码工具就可以节约这部分成本。但仔细思考,就会发现这个故事的内在逻辑是有问题的。问题出在哪里呢?


第一,低代码平台预设的使用人群永远是初级、入门的人


以图形化工作流为例,当你完全不会写代码时,通过拖拽工作流这种直观的方式可以实现相关代码。但开发者会成长,不会永远处在同样的位置,而低代码平台预设的使用群体永远是初级、入门的人。


以面向幼儿编程的编程语言 Scratch 为例,它将代码结构表达为图形化的模块,通过图形化的拖拽拼搭代码。在这种情况下,即使是不识字的小朋友也可以通过拖拽去实现相关功能。但是小朋友不会永远不识字,当他成长之后,就会发现打字的效率是要远高于拖拽。


第二,低代码平台暗藏巨大的变革成本


根据徐昊的观察,目前绝大多数低代码厂商提供的产品都尝试覆盖完整的软件生命周期。企业购买之后,开发者在平台上按照平台的规则来编程。所以,低代码平台看似售卖的是开发工具,实际上卖的是一种工作模式,企业研发团队需要改变原本的工作模式。这种变革的成本是非常巨大的。


据徐昊所知,某厂商的研发部想要上线一个低代码平台来提升研发效能,但是上线之后,发现团队没有办法使用低代码平台来接管整个业务,再加上上线时间很紧张,所以权衡之后,他们又采购了另一个低代码平台,想要联合两个平台来解决问题,但现实是直到现在,他们还在尝试如何将低代码平台成功应用到企业业务中。


第三,风口不代表长期发展,低代码其实是个伪需求


在投资市场中,低代码似乎已经成为了一个新风口,很多研究机构都对低代码的未来做了分析和预测。Infolob 研究显示,低代码应用程序保持着 40% 的年复合增长率,预计到 2022 年,低代码应用程序市场总规模将达 212 亿美元。研究机构 Gartner 则预测,2024 年应用软件开发活动当中的 65% 将通过低代码方式完成,同时 75% 的大型企业将使用至少四种低代码开发工具进行应用开发。


那么,被资本市场看好是否意味着低代码的未来值得期待呢?


徐昊表示:“风口和长期发展并不能完全划等号。资本市场的投资策略往往是宁可错投、不可错过,而作为行业从业者,我是从基础逻辑来判断一项技术的未来,即它对行业长期发展是否有帮助。”


“低代码的出现确实是有市场机遇的,现在程序员缺口很大,大家都在 996,加班干活,所以我们需要一个提升效能的工具。但你仔细思考,对于很多企业来说,这其实是个伪需求,低代码的定位不是帮助从业者提升效能,而帮助小白来入门行业。软件从业者的效率会低于一个没有入门的人吗?显然不可能,所以与其关注低代码,不如关注针对程序员本身是否有工具可以帮助他,能否将他的流程进行有效的自动化。”


采访嘉宾:


徐昊,ThoughtWorks 全球技术策略顾问、中国区 CTO 及首席咨询师。


自 2003 年起开始实践极限编程等敏捷方法,是 Agile China 和 BJUG(Beijing Java User Group)创始人,在 Scrum 和 FDD 等敏捷方法、敏捷交付和敏捷项目管理、IT 人员胜任力、大规模工程实践、以及组织认知模型等方面有着丰富经验。目前致力于构造高效 IT 组织的理论与实践,大规模团队敏捷实践和管理再造,以及企业级技术应用趋势和技术战略的研究等。

2021-04-28 15:3126041
用户头像

发布了 497 篇内容, 共 329.7 次阅读, 收获喜欢 1925 次。

关注

评论 52 条评论

发布
用户头像
低代码改为快代码或快业务更合适点。如果用过拖拽工具,就会明显感觉到效率远不及文本编辑。不过有过好处,就是可以直观的看到程序的复杂度。所以,低代码只能给非编程人员用。鉴于业务的复杂度,要用好低代码,需要调整业务去适应低代码,而不是用代码去实现业务,两者的使用逻辑是相反的。
2023-09-02 09:02 · 浙江
回复
用户头像
低代码还是让运营同学去做一些可以自交付的功能好一些,给开发用就显得束手束脚
2022-08-25 12:47 · 浙江
回复
用户头像
我建议出台法律,客户的数据,所有权属于客户,客户有权利随时导出数据,迁移到其他平台。这样可以避免垄断。平台只有提供更好的服务,才能留住客户。
2022-04-12 09:49
回复
用户头像
低代码的用户群体如果定位成程序员,出发点就错了一半
2022-02-07 11:30
回复
用户头像
只能说现在的低代码平台还没有达到理想中低代码应该具备的能力和要求的高质量,就像VR,AR技术一样,要像相信元宇宙一样的,相信低代码的未来。
2021-12-07 10:19
回复
用户头像
做demo挺好的
2021-08-28 16:55
回复
用户头像
部分赞同, 观点, 计算任务向非计算机专业用户转移是历史趋势。

编程这个动作的技术门槛在降低, 以至于可以预期的将来, 编程会成为一种思维,如同书写根植与大众。
然, 专业的计算机从业人员,无论你在那个行业, 技术水平高低, 大家的任务要么是解决计算问题本身,要么就是为这些问题搭建工具, 与这些技术, 低代码技术, 毫无关系。

另一个方面, 从历史的演进来看, 非计算机的方面专业人员手中的计算工具,包括低代码工具, 会越来越强大, 以至于计算任务中末端的工作, 从计算机专业人员手中转移到非计算机专业人员手中。
展开
2021-07-05 10:03
回复
用户头像
我认为文中说的行业毒瘤不是讲的低代码工具平台本身,而宣扬靠低代码工具可以降低程序员门槛甚至不需要程序员的错误理念才是行业毒瘤。就编程而言,我不认为纸带打孔,用编程语言编程和用低代码工具在本质上有什么不同。折中而言,不断进化的高级编程语言已经算是兼顾效率和灵活性了。
2021-05-08 21:26
回复
门槛确实会降低,现在编程门槛也比汇编和纸带打孔低~,程序员会变多,但是还是会作为一个独立岗位长期存在~。但是作为一个负面结果,中低端程序员收入会降低,高端的不受影响。
2021-05-28 19:59
回复
用户头像
 写的很有见地!低代码不是为低层次开发人员准备的!
2021-05-08 19:48
回复
用户头像
有些偏激,低代码的适合场景就是各种管理系统、流程系统,而不是很多复杂的技术问题。其次,很多公司不是有一些入门程序员,而是只有一个运维人员,公司的常见业务需求用低代码实现是较为实用的。
2021-05-08 18:05
回复
如果只讲80%共性功能,有个服务运维人员,搭档低代码平台或许够了。但既然存在系统运维人员,多半是要集中精力处理20%个性化,又会发生迭代的功能,低代码平台受限的。我的理解:其实根据82原则,80%的钱投入可能就是为了解决那20%的问题。
2021-09-09 08:59
回复
用户头像
胶水层,多个接口粘起来, 形成行的功能

这次,低代码能够流行的一个背景是微服务的发展。微服务的理念是把企业中复杂度高的应用拆解成多个微服务,然后通过更简单、更低成本的方式把已存在的微服务串联起来,形成新的功能。那么,企业在进行微服务改造的时候,心中存的念想就是可以降低新功能研发和创新的成本。当企业的微服务改造都基本完成之后,通过“低代码”的开发模式将它们串联成新功能,似乎是合理的选择。

2021-05-07 10:29
回复
用户头像
这是近期争议颇大的一篇文章,我认为徐CTO的“低代码平台预设的使用人群永远是初级、入门的人”,这个前提就错了。低代码确实降低了门槛,但它更重要的功能则是加快业务上线速度,特别是让更懂业务逻辑的人,也有参与到开发过程的机会,降低业务到研发的各种沟通折损。
2021-05-07 00:39
回复
更懂业务逻辑的人,也有参与到开发过程的机会,这个在业务建模阶段就够了。把业务人员带到开发阶段,有必要吗?
2021-09-09 09:00
回复
用户头像
不知道大家用过Delphi或者JBuilder、C++builder之类的开发框架,其实也是一种基于控件的拖拉拽拼接的应用,开发效率在当时也是快的一批,简单桌面应用也是非常好用的;但是后续面对复杂应用和平台自身的bug,让人不能容忍,慢慢也没落了。这低代码平台,真的不是啥新概念,不过是换汤不换药的炒作。
2021-05-06 17:42
回复
桌面开发,Delphi仍是王者,只是它没有做互联网上改造,再者因为其骨干开发者被微软挖走,只是后劲缺乏。
delphi面对复杂应用,不成问题。
2021-05-06 19:08
回复
现在用无远就好了: https://wuyuan.io
2021-05-12 20:15
回复
用户头像
低码平台还是挺有用的,比如可以快速交付项目,也并不是说程序员就实业了,而是对程序员要求更高了,低码平台(aPaaS)总需要程序员开发吧,只是不用做重复性的工作了。
2021-05-06 13:51
回复
低码平台还是挺有用的,比如可以快速交付项目,也并不是说程序员就失业了,而是对程序员要求更高了,低码平台(aPaaS)总需要程序员开发吧,只是不用做重复性的工作了。
2021-05-06 13:52
回复
用户头像
任何一次科技革命都是降低一部分人的入门门槛,提高核心人员门槛为特征的。
2021-05-06 10:52
回复
用户头像
越是这样说,越是让人想起100多年前开始,每次新的生产力变革,都会引来一众的低效人群,试图阻挡生产力的发展
2021-05-06 08:30
回复
用户头像
我们都是手撸代码,各种“框架”是毒瘤;我们都是拼 SQL 语句,各种 ORM 是毒瘤;我们都是手写 JS,就连 JQuery 都是毒瘤;我们都是使用原生语言开发移动端,各种 Flutter/RN 是毒瘤。。。
2021-05-03 13:40
回复
用户头像
“人工智能并不是新概念,每隔几年就会重新流行。”
2021-05-03 13:32
回复
用户头像
这么一说,我更要努力学习毒瘤了
2021-05-03 11:38
回复
用户头像
能点评下 钉钉的宜搭吗
2021-05-01 20:36
回复
哈哈,我司正在使用
2021-05-10 13:12
回复
加载更多
发现更多内容

太厉害了,终于有人能把Android 事件分发机制讲的明明白白了!

android 程序员 移动开发

字节、腾讯2020高频Android面试题;JVM虚拟机原理深入解析(建议收藏

android 程序员 移动开发

实现长图片自动循环滚动效果

android 程序员 移动开发

尽快的学会某项技术,以应付面试遇到的问题

android 程序员 移动开发

大家都说程序员是吃青春饭的、Android研发没前景,那等Android研发年纪大了又该怎么办?

android 程序员 移动开发

如何在10分钟内让Android应用大小减少-60%?

android 程序员 移动开发

如何在跳槽后,Android程序员摸鱼也能学习进阶,为下次换工作进大厂拿高薪!

android 程序员 移动开发

字节码插桩--你也可以轻松掌握

android 程序员 移动开发

安卓开发教你如何自定义View并实现炫酷进度条

android 程序员 移动开发

安卓移动软件开发:手机防火墙的实现

android 程序员 移动开发

如何在Adapter中优雅的使用Context

android 程序员 移动开发

如何在AndroidStudio中使用手势解锁

android 程序员 移动开发

如何快速编写Markdown、博客文档(语法收藏)

android 程序员 移动开发

如何设计一个秒杀系统?

android 程序员 移动开发

官方推荐 Flow 取代 LiveData,有必要吗?

android 程序员 移动开发

天天给-App-抓包,还不懂-HTTP-代理吗?---实用-HTTP

android 程序员 移动开发

太恐怖了!移动开发APP-可视化埋点技术原理竟然是这样的?!

android 程序员 移动开发

字节瞧不上大龄程序员,我开始慌了……

android 程序员 移动开发

字节跳动抖音安卓客户端日常实习 3+1 面经(已 OC)

android 程序员 移动开发

FVM 切换VSCode 的Flutter版本

坚果

flutter 11月日更

字节跳动,华为,阿里巴巴,小米

android 程序员 移动开发

小巫随笔13

android 程序员 移动开发

字节跳动Android一面凉凉,竟以为一面是HR面---

android 程序员 移动开发

字节跳动上传了一份“面试官版Android面试小册”,不讲一句废话

android 程序员 移动开发

字节跳动上千道精选面试题还不刷起来!2019-2020大厂高级面试题集合(Handler,性能优化

android 程序员 移动开发

字节跳动面试官:我用这10个问题,淘汰了80%的Android面试者------

android 程序员 移动开发

安卓工具类之app获取版本渠道信息工具类

android 程序员 移动开发

对Jetpack Compose设计实现的解读与思考

android 程序员 移动开发

【死磕NIO】— NIO基础详解

chenssy

11月日更 死磕 Java 死磕 NIO

字节跳动千万用户量级直播活动技术保障实践

android 程序员 移动开发

实战_Android后台启动Activity实践之路

android 程序员 移动开发

为什么我说低代码是“行业毒瘤”?_架构_田晓旭_InfoQ精选文章