原标题:低代码火热背后,其实是人人皆可编程的诱惑
“万物皆可转计算机”是一句在考研圈的笑谈,但事实上也在一定程度上反应了计算机科学(computer science)被称为“宇宙机”,而受热捧的现象。而在这背后无疑则是程序员相对优渥的薪资,毕竟无论是在怎样的统计中,信息与软件行业的平均工资都往往能与金融等行业相提并论。
但在业内人士看来,程序员能够获得高薪的原因其实无它,是因为门槛相对较高,而这里的门槛并不是指的学历,而是需掌握一门乃至多门的计算机语言。并且在如今信息技术已经成为驱动社会进步的重要引擎时,市场对于IT从业者的需求和产能之间存在着巨大的不匹配。根据权威咨询机构Gartner此前公布的报告显示,2021年市场对于应用开发的需求将五倍于IT公司的产能。
面对如此巨大的市场空白,“低代码”这一概念近来也再次火了起来。从国内市场阿里的钉钉到海外的微软Power Platform,大大小小的低代码开发平台(LCDP,Low-Code Development Platform)如雨后春笋般诞生。不过必须要指出的是,所谓“低代码”其实并非新概念,反而这是一个源自40年前业界探索在新世纪的结晶。
事实上,低代码可以追溯到上世纪80年代,当时美国业界的“第四代编程语言(4GL)”,这一让开发者实现“做什么”而不是“如何做”的编程语言,也奠定了现代计算机开发语言的思想基础,进而在21世纪初诞生了可视化编程语言(Visual Programming Language)的概念。此后在2012年左右,Citizen developer(全民开发)被提出,并最终在2014年由Forrester Research正式提出了“低代码(LowCode)”这一概念。
简单来说,低代码其实是相对于传统代码而存在。而传统的计算机程序开发是以计算机语言为基础,例如Android的开发语言Java、iOS的开发语言Objective-C/Swift 、Windows的开发语言首推C#,并且在此之外还有例如GO、PHP、C++等其他计算机语言。
理解并应用计算机语言来开发程序,无一例外都需要一定的门槛。由于计算机技术是在美国兴起,所以大量计算机语言同样也是由美国人开发设计,这就导致英语成为了程序员圈的通用语言,所以对英文一窍不通无疑对于从事程序员这份工作有着极大的影响。同时因为计算机语言需要遵循一定的范式,因此也就要求开发者有着不错的逻辑思维能力。
既然传统的计算机语言对于没有相关专业背景的人来说并没有那么好入门,低代码也就应运而生。低代码的形式是“可视化编程”,其核心则是“复用”,特质是通过可视化、模块化、拖拽式,来代替传统开发方式中大量编写代码来进行开发。在低代码的概念中,模块化组件代替了编程语言中的一行行代码,可视化的设计则将程序员脑海中的抽象思维变成了更容易理解的流程图,进而让更多的非专业有人士能够参与到开发中。
简单来说,低代码开发颇有些类似于少儿编程,是试图通过搭积木的方式将程序给拼出来,这也正是低代码会吸引相当多企业关注的核心因素。并且低代码也向企业描绘了一个这样的远景,即便不具备编程技能的“小白”也能参与到开发中,从而将开发由一项程序员的专属技能扩展到更为广泛的人群里。毕竟,程序思维与业务思维是两种截然不同的思维模式,程序不懂业务、业务往往也不懂程序,所造成的沟通效率低下通常也是许多企业,甚至于是科技企业IT部门与业务部门之间最大的难题,而低代码或许就是其中一种解决方案。
除了传统企业的数字化转型早已是个老生常谈的事情之外,如今低代码的火热还有一个直接的催化剂,就是此次疫情。在疫情席卷全球,线上办公几乎成为标配的情况下,导致相当多企业的传统业务模式被颠覆,而低代码也俨然成为了企业在数字化转型中提升业务敏捷性和效率的关键所在。也使得用低代码开发平台开发ERP、供应链、财务、OA、人力资源和项目管理的全系统,不再成为空想。
然而如果低代码真有SaaS厂商、Microsoft等传统软件开发商,以及云服务提供商等一众开发平台参与者所描绘的那么美好,当下也就不会有如此多的争议了。事实上尽管看上去很美,但低代码中的坑可谓是一点也不少。
首先,许多低代码平台的框架对开发者来说是黑箱。无论传统计算机语言还是低代码,都不可能完全避免BUG的出现,这时候就需要通过排查来解决问题,然而目前绝大多数低代码开发平台都是闭源的,这就导致即使是IT部门的程序员往往也很难排查问题,只能等待平台提供的技术支持。
其次,使用低代码就意味着企业将与某个低代码平台长期捆绑,毕竟其需要依靠开发平台的运行库与API之上,改换门庭无异于重头再来,这其中的成本之高也可以想象。再加上尽管低代码的可视化看起来很清晰,然而是一旦工作流环节增多或项目规模上去后,图形化反而会变得更加复杂和臃肿,“代码审查”将变得尤为困难。
最后,也就是低代码在程序员群体中最受争议的一点,就是其原本是旨在提升开发效率或让非专业人士参与,在某种程度上侵蚀了程序员获得高薪的基石,但其部署又离不开专业人士的协作。并且更加重要的一点是对于专业人士来说,使用低代码平台从长期来看几乎等同于放弃职业生涯,毕竟面对日新月异的信息产业,不断学习新技术和理念是必然的一件事,长期不写代码往往也就意味着专业能力的退化。
当然,即便低代码有这样或那样的问题,但不可否认的是,它确实也代表了全民开发这一未来可能的发展方向。