No-code (the ability to create new software applications without writing a single line of code) and its less extreme version, low-code, are trendy. All big companies are buying into it.
We’ve discussed before that no code and low-code ideas are not new. They are just the latest reincarnation of modeling and code-generation techniques. Same as the difference between model-driven and model-based software development, we could see no-code as belonging to the family of model-driven approaches while low-code could be somehow more aligned to model-based ones (depending on how “low” is the code).
As such, to me, no code means it’s all modeling. As Antoni Olivé used to say (make sure you read his excellent book on Conceptual Modeling):
Modeling a software system is not an option. The only decision is whether to make those models explicit – Antoni Olivé
Depending on the no-code tool, models will be more or less explicit. Some no-code tools offer a kind of (limited) graphical modeling / visual programming environment. Others follow a more template-based approach where the user role is mostly configuring the template. In the former, the models are explicit, in the latter, they are implicit and embedded in the template itself. This is the typical trade-off: a template-based approach is easier to learn and get started with but it is restricted to a very limited range of applications.
Unfortunately, marketing around (especially) no-code tools is not that clear on their limitations. I feel we are repeating the same mistake we did a long time ago with UML and we are going all over the hype cycle again. We must be close to the Peak of Inflated Expectations by now. I’m afraid the no-code bubble will burst at some point.
The good news is that regardless of the term we use, every time the software community aims to improve productivity, reduce costs, simplify the development, democratize it,… it always ends up pointing to the same solution: higher abstraction and modeling. Call it no-code if you want, but you and I know the truth: it’s all about modeling!.
ICREA Research Professor at Internet Interdisciplinary Institute (UOC). Leader of the SOM Research Lab focusing on the broad area of systems and software engineering