Low-code application development was a term first used by Forrester in 2014. They stated that low-code application platforms “accelerate app delivery by dramatically reducing the amount of hand-coding required”. Low-code development aims to make building software faster by not only reducing the amount of code, but also by enabling more people to participate in software development. Other technologies, like computer-aided software engineering (CASE), fourth generation programming languages (4GL), and early rapid application development (RAD) tools, have tried to do this before. But low-code can deliver on these promises where they didn’t. This is why low-code development platforms, like Five, are the next generation of software engineering.
Computer-aided software engineering (CASE) refers to a group of automated tools that assist in the creation and maintenance of software. CASE emerged in the late 1980s as a way to decrease the time and costs associated with software development. CASE tools were designed to increase programmer productivity.
However, the uptake and adoption of these tools was much lower than expected. One of the main reasons suggested for this was that they couldn’t live up to expectations. CASE tools were also difficult to implement as they had a very steep learning curve. This learning curve also caused an initial drop in productivity. Cost was another reason for poor adoption, especially in the face of uncertain benefits. Some CASE tools were already expensive, and the training required added yet another cost.
James Martin introduced fourth generation programming languages in 1982 in his book application development without programmers. He proposed that the use of 4GL technologies would enable non-programmers to develop software. 4GLs were meant to increase productivity and ease of development. This was through an increased level of abstraction, using declarative statements and pre-built components.
However, the popularity of 4GL waned over the years. This occurred due to a number of limitations in the technology. The complexity of the software required limited the use of most 4GLs. Once an application became too complicated, it was easier to develop in 3GL. Many 4GLs were also restricted in what type of software they could be used to develop. Some 4GL technologies also limited what they supported in terms of operating systems, databases, and other software. Software built with 4GLs was also more difficult to customize, which further limited their usability.
The term rapid application development (RAD) can refer to either a method of application development or a type of software development tool. The RAD method emphasizes rapidly building prototypes of sections of the final product (modules), with ongoing end-user involvement and feedback during the process. The modules are all developed in parallel, and then combined into the final product. Rapid application development tools enable development using this method. These tools included code generation features to help create software more quickly with less coding.
There are still rapid application development tools available today, however they have evolved from the early tools introduced in the 1990s. These early tools were not successful for several reasons. After the launch of early RAD tools, the focus of software development shifted to web development. These tools could not adapt fast enough to this change. RAD was also not suitable for projects that weren’t able to be split into modules or involved more technically challenging software. They were also limited in terms of the scalability of the software. The emphasis on rapid development and the user interface also resulted in a reduced focus on requirements planning and modelling. This then affected the quality and maintainability of the software.
Low-code application development has learned from what came before to avoid repeating the same mistakes. These development platforms have a low learning curve. This makes it easier for developers and non-developers alike to use them. These platforms also acknowledge that not everything can be achieved through pre-built components. That’s why they allow for customization through the addition of code. Some platforms also let developers do this in common coding languages, which further lowers barriers to adoption. Low-code platforms also harness the benefits of cloud computing.
Low-code is essential to meet the increased demand for software today. Businesses now need to become more digital to remain competitive. According to IDC, by 2023 over 500 million new apps will be developed and deployed using cloud-native approaches. Building software using only hand-coding cannot meet this demand. In addition, there is an IT skills shortage that makes developing this number of applications even more unrealistic. Over half of CIOs identify an IT skills shortage is holding their organization back. We need a way to not only build software faster, but also to widen the developer pool. This is why low-code application development is currently growing in popularity. Gartner predicts that by 2024, almost two-thirds of application development activity will be due to low-code development.
Throughout the history of software development, new technology continues to aim to increase speed, ease of development, and abstraction. The evolution of programming languages clearly shows this, from 1GL through to 4GL. Five is the next generation of software engineering.
Contact us to find out more about Five, the next generation of software engineering, simplified.
Five is a low-code development environment built by developers for developers. Five accelerates and simplifies software engineering. Software engineering is a discipline that is constantly evolving. Low-code solutions are the next generation of software engineering by introducing higher levels of abstractions than traditional full-code approaches to building applications.