If you’ve only been paying attention to tech trends for the past decade or so, it’s easy to think that low-code and no-code programming platforms are one of the more notable innovations of recent times.
But the reality is more complicated. It’s true that low code/no code has become trendy again over the past eight years, but this programming strategy has a much longer history. That history is worth exploring to understand what’s actually new about low-code/no-code development as we practice them today, versus the way they were implemented in previous decades.
Origins of Low-Code Programming: ‘Autocode’
Who created the first low-code or no-code programming platform or framework? That’s a hard question to answer because it depends on exactly how you define low code and no code.
If you take those terms to mean a programming solution that significantly reduces the amount of effort required to write code, you could argue that the first high-level programming languages, including Fortran and COBOL, were something approximating low-code platforms. They saved developers from having to write arcane machine code to write applications.
Most programmers today wouldn’t think of languages such as Fortran and COBOL as being low code, of course. You have to write a lot of code to program in these languages. But when these languages appeared in the 1950s, they certainly felt to developers at the time like low-code solutions compared to what had come before.
In fact, the term “autocode” was coined at the time to describe some of these new, high-level programming languages, reflecting the perception that coding had been simplified to the point that it felt automatic.
The HyperCard Revolution
The next big leap forward in low-code and no-code programming was Apple’s release in 1987 of HyperCard.
HyperCard was a development platform and framework that allowed programmers to build quite complex applications without writing any code. They could define interfaces and functionality using graphical menus. HyperCard also supported scripting for developers who wanted code-level control, but it didn’t require it.
Indeed, HyperCard’s creator, Bill Atkinson, called it a platform that “non-programmers” could use to “put together interactive information” without advanced technical skills.
The Reinvention of Low-Code/No-Code Development
Although HyperCard enjoyed success in its day, Apple discontinued development in 1998. Today’s generation of developers barely remembers the platform.
That history forgetfulness has created an opportunity for development platform vendors to resurrect the low-code and no-code premise once again. That trend was underway by 2014, when Forrester coined the term “low code.”
It’s less clear when “no code” became a common part of technical parlance, but it was certainly in widespread use three or four years ago.
What Makes Modern Low Code and No Code Different
In many respects, today’s low-code and no-code platforms are no different from predecessors like HyperCard. They’ve just been relabeled by marketers eager to convince developers that they have something novel to offer.
That said, there are some differences between modern versions of low-code and no-code frameworks and earlier iterations:
- Catering to “business” users: Some, but not all, low-code and no-code platforms are designed to enable self-service programming by non-technical users – such as people who want to build simple marketing or sales apps. In contrast, no-code platforms like HyperCard were mostly designed for developers.
- Cloud-native: Today’s low-code and no-code platforms are network-internet tools designed for the most part to build cloud-native apps. Earlier generations of these platforms didn’t take heavy advantage of networking or enable integration with remote data sources.
- Security: Partly because modern low-code and no-code apps are internet-connected, they pose greater security challenges. They also give programmers less control, which can make it difficult to enforce security best practices. (To be fair, even HyperCard experienced its share of security issues.)
- Development velocity: A major focus of modern low-code and no-code frameworks is to speed up application development, not just make it easier. Decades ago, before the advent of continuous development, velocity was less of a priority.
History shows us that, when it comes to low-code and no-code programming, what’s old is new again – for the most part, at least. Modern takes on low-code/no-code development are less novel than many vendors in the space tend to admit – although it’s true that they introduce some new features and concepts that weren’t present in predecessors like HyperCard.