(this article originally appeared in ComputerWeekly and was written by Bob Tarzey)

Computer systems have changed society over the past several decades, reducing the human effort involved in many tasks. However, the task of programming computers to do these things has remained largely a human one. Of course, programmers don’t type out the 1s and 0s that constitute the primary binary language of basic computer instructions – this is generated by more abstract programming languages. 

How far can that abstraction go? Assembly languages, which maintain a close correspondence with binary instructions, form a second level – they are hard to work with and different for each computer architecture. Next come the languages many will be familiar with – Cobol, Basic, Java, C++, and so on, often termed thirdgeneration languages (3GLs), which can be used to program most computers.

However, using even the most humanfriendly 3GL is an acquired skill, necessitating the articulation of requirements by business people to professional programmers.  

Hence there has been a long-running quest to improve productivity by allowing business people to generate their own programs using rapid application development (RAD) tools. These are visual development environments that involve little coding other than the entry of basic expressions and text.

The idea first gained impetus in the 1980s and 1990s, and the tools involved were termed 4GLs. Most of the pioneers floundered after a few years of success. However, the idea has gained traction again in recent years, rebranded as low-code, or for the ambitious, no-code programming

Low-code development tools are declarative – that is, they enable the visual modeling of the user interfaces, business logic, algorithms, and data handling that make up a typical application, without the need to describe the controlling code. They may generate thousands of lines of code behind the scenes, which in a low-code environment can be accessed and modified – the more this is required, the more technical the task becomes. The degree of reversion to 3GL skills will depend both on the requirement and the product being used.  

Most of the providers of low-code tools claim their new generation of products really can support teams of business people and traditional developers building enterpriseclass applications. One of the reasons they believe low-code will succeed where 4GL failed is that the average business person is more technically savvy than they were 20 to 30 years ago. Another is that the applications are often deployed to tool providers’ own cloud platforms, giving central control of performance, availability, scalability, service levels, and security. 


Pros and cons of low-code development 

This mode of deployment gives rise to one of the chief downsides of low-code development – proprietary lock-in. However, this can be over-egged by detractors. For a start, many suppliers support deployment to widely used public cloud platforms such as Amazon Web Services (AWS), Microsoft Azure and Google Cloud. However, the code generated may also be proprietary, meaning it cannot be ported, and even when non-proprietary 3GL code is generated, it may have a structure and format that are hard to work with, even for traditional programmers. 

Low-code tools come with libraries that provide off-the-shelf components, for instance to support the latest innovations such as blockchain and artificial intelligence. Components may be provided by the supplier, third parties or the community of users, and may be free or paid for. There are also application programming interfaces (API) that enable external integrations – calling web services, for example. APIs were often lacking in the original 4GLs. Low-code tools will vary in their support for other features many consider now central to any application building effort, such as version control and support for DevOps. 

Low-code tools providers also claim faster testing of applications, lower error rates, and more reliable security, all of which reduce cost and are areas where 4GLs were felt to fall short. Of course, the low-code tools themselves must be paid for, whereas many 3GL compilers are open source and make use of free open source libraries.  

Low-code suppliers argue their products are costeffective because programmers are expensive, and they reduce the need for them through giving control over development to business people. The reality will, of course, depend on how far that is achieved – in many cases they may just make existing programmers a bit more productive.  


An array of suppliers 

More suppliers have attached themselves to the low-code/no-code genre than can be covered in this article, which is, by necessity, selective. They approach low-code from various angles and address different niches. Some are small and privately owned, having only recently emerged, but there are also some old hands and big names. Acquisitions have started and there will be ongoing consolidation. 

Big names include Microsoft, which has recently brought several pre-existing products together to create a low-code tool called PowerApps, which is closely coupled with Microsoft’s Azure cloud platform.  

Oracle has two low-code tools – Application Express (Apex), which is linked to the supplier’s database management system, and Visual Builder Cloud Service (VBCS) – through which cloud-based and on-premise deployment are supported.  

In 2014, Salesforce brought together several offerings as Salesforce Lightning, backed by its AppExchange library, often used to extend the use of other applications on the Force.com platform – the product generates proprietary Apex code.  

Quick Base is an old hand dating back to 1999, but now an entirely cloud-based platform based on an in-memory database. Another is Pegasystems, dating to the 1980s. Its Pega Infinity low-code platform evolved from business process management, while its App Studio library includes components for complex requirements such as robotic process automation 

Zoho’s Creator was launched in 2006 and claims more than five million applications running on its platform. This is partly down to a small business focus, but there are also enterprise users. It uses a proprietary scripting language called Deluge.  

OutSystems’ low-code platform supports the development of mobile, wearable, internet of things (IoT) and web apps. C# and .Net code is generated and delivery can be on the supplier’s own or public cloud platforms with some support for on-premise. Users are more likely to be professional developers than business users. 

Newer niche suppliers include Betty Blocks, a no-code platform first released in 2012. Applications are assembled from “blocks” which encapsulate core functions. Some 90% of customers deploy to the supplier’s own cloud, but Microsoft Azure and onsite hosting are also supported. A language called Elixir can be used to write extensions.  

Skuid was founded in 2013. Its design-and-deploy platform helps users connect to disparate data sources to assemble made-to-order applications without writing code. It has partnerships with SAP and Google. 

Some of the new suppliers have a niche focus. Appian originated in the business process management market. Its low-code platform helps businesses automate their processes, both defining rules and providing analytics. DevOps support enables automated continuous integration and delivery, and there is a comprehensive set of security certifications.  

Mendix’s strength lies in IoT support, and to this end it was acquired by Siemens in 2018 and is being integrated with Siemens’s MindSphere IoT. Deployment is supported on-premise as well as to a range of cloud platforms. It has partnerships with IBM and SAP. AppSheet is mainly focused on mobile app development and believes pushing business people as developers is key to success. 


Caveat emptor 

Many experienced programmers started working with 4GLs in the 1980s. The first was VAX Rally backed by Digital Equipment (DEC), one of the most successful IT companies of the day. A Google search for the product these days throws up a sole entry from the Computer History Museum 

Suppliers believe the low-code and no-code tools of today will prevail where the 4GLs of the past faded. Some may do, but not all – the market is too busy for all to survive.  

Any evaluation should not just include looking at development capabilities of the various platforms, but the long-term support for the applications and code generated, possibly beyond the lifetime of the supplier itself. Some may conclude that traditional 3GL programming languages provide better long-term support.