6 min read
What is low-code?
Low-code itself means “less coding” or “less programming”. Usually the term is used when describing a piece of software – which otherwise had to be hand-coded to be used with more simplified configuration instead. An example for this would any graphical user interface (GUI).
Famous low-code example: WordPress
To better understand the concept, we looked for one of the most famous examples we could find.
WordPress is probably the most popular content management system for websites: Over 70% of the top-1-million websites use their content management system, CMS. With WordPress, you have a (relatively) easy way to create your own website, including all the important features like creating a blog, adding pictures or changing the appearance of your own website.
WordPress was released in 2003 and has since then created a huge ecosystem with it’s Opensource approach (WordPress as a system is free to use and change). It is now easier for users to integrate a variety of media on their own website, to purchase beautiful, pre-designed designs, or to integrate special functions with plugins. These enhancements are provided by independent developers and studios who can earn their money with creating plugins, rather than through the individual development of websites.
On the other hand, a large number of freelancers have found themselves in the WordPress development market, some of which, without or with little programming knowledge, meet the needs of the user.
In summary, WordPress provides a system that allows users to configure web sites, while providing developers with the freedom to program specific features. This is one of the basic principles of low-code.
Where did the low-code movement come from? A short history lesson
As mentioned, the low-code approach is aimed at simplifying the operation of a complex system. In this example WordPress is the configurer of websites and the control goes from the developer to the end user or power user. The low-code movement started much earlier. With so-called 4GL, the trend began in the 1980s.
4GL are “Fourth-Generation Languages”, a term from software development history. It describes programming languages that are on a higher abstraction level than those of the third, second, and first generation. While 1GL is the machine language – binary code – closest to the hardware”, 4GL is already far away. The generations can be expressed as follows:
1GL: Machine language
2GL: Assembly language
3GL: Procedural programming
4GL: Declarative programming
5GL: Artificial intelligence
The Assembly language (2GL) is also to be referred to as a low-level programming language for a computer or other hardware. The source code, also known as assembler code, is directly converted into executable machine language (1GL) by the assembler.
Now what’s the difference of 4GL and 3GL? While 3GL has mainly characterized the introduction of standardized control structures, programming environments of the fourth generation have the goal of providing functions or complete applications as quickly and with as few code lines as possible for a particular application.
That might sound exciting, but it is a spongy term and was used mainly for marketing purposes in the 1980s. Later, the area was somewhat limited, for example, to refer to closed-system scripting languages.
In any case, these modern development environments always have the following objectives:
- Easier, user-oriented presentation and support of the development process
- Improved maintainability and expandability by the user
- resulting shorter and more cost-effective development and deployment
And then there is 5GL. However, we’ll not go into anymore detail here. Just imagine 4GL squared, and you will end up with 5GL. It just gets even more spongy. But it hast something to do with artificial intelligence.
Differentiating low-code and Low-Code Development Platforms
Low-code has emerged from the different paradigms of software development. The term has experienced a real renaissance in recent years, especially in the US, namely with the emergence of so-called “low-code development platforms”. In short, these platforms offer a toolset to create software or applications with as little programming as possible, thus enabling users to create applications without the need for in-depth programming knowledge (Disclaimer: We also offer such a platform, the Simplifier).
LCP, MADP, RMAD, RAD, RADP, WTF?
Five minutes of looking through Google is enough to come up with the conclusion “who invented all these different terms?”. Providers of platforms are using many different descriptions for their platforms: Mobile Application Development Platforms (MAPD), Rapid Mobile App Development (RMAD), Mobile Backend Services (MBS) and Rapid Application Development Platforms (RADP).
All of these terms might be reasonable, but almost no one understands them. In order to provide a clear picture, it is important to capture the focus of the platform and to balance it with your own needs. We will have a look at the different types of platforms in a future article. Until then, ask yourself the following questions when considering a platform:
- What do I want to achieve with the platform?
- Who should use the platform (inside and outside my company or organisation)?
- What business values do I expect from it (Higher customer retention, customer satisfaction, reduced development time, access to information) and how do I measure it?
- What are the problems in my organization today that cannot be solved without such a platform?
Let’s have another look at the end user and the full stack developer: a low-code platform can help them both. As a user, I can either change parts of my application myself or point other users to the problem I want to solve; therefore, I can reassign developers or relieve them to save costs. On the other hand, I can quickly get to the point when communicating with the developer – because he has the opportunity to show me a first prototype much faster and to speak a common language.
From a developer’s perspective the benefits are the other way around: I can free myself from tedious, repetitive tasks and lend my time to more complex tasks and do not have to deal with recurring tasks by giving simpler tasks to other users of the platform.
If there’s low-code, there has to be no-code, right?
When searching for “No Code” on Google, you will find an album classic by Pearl Jam. But seriously, it is low-code, but even simpler. Everything can be done without using any coding or scripting. Strictly no programming required. Solutions in the no-code space are strictly tailored to end users in an organization or consumers. There are benefits however, as excel professionals and macro masters will find themselves at home. But there are also many safeguards to not break an application or site. Adding custom functions, plugins or APIs? More often than not, this is not possible at all.
This approach leaves the role of the developer out of the game. And it will probably cause many phones of software development agencies to ring.
What does this mean for business applications and for process optimization in an industrial environment? With no-code, you will probably fall flat on your face pretty quickly, because requirements are ever-changing.
From our experience, most all projects are unique. There’s always something different to consider. That means flexibility and openness is key for our customers. Therefore, we call our platform, the Simplifier, a low-code development platform.