September 22, 2021
Waves of fashion happen in the IT industry just like that do with clothing, and history often repeats itself in funny ways but with interesting twists and turns with each new phase. So it is with application programming, where languages come into fashion and sometimes fall out of favor as they reach the limits of their usefulness, and very old ideas are gussied up with a new set of buzzwords and old techniques applied to new languages or frameworks.
The new low-code movement is just such a repetition in the fabric of history. And so some history is in order. In the beginning, computers were programmed with very specific machine code that was tied to a particular processor architecture, and eventually hardware was abstracted a bit so that second-generation assembler code was somewhat portable across architectures. With third generation programming languages, or 3GLs, such as BASIC, COBOL, Fortran, C, C++, C#, Pascal, and even RPG by some definitions, the levels of abstraction in the programming language were increased, which made the code even more portable across architectures and also made application development accessible to a wider range of programmers.
The irony, of course, is that what would have been considered a high-level programming language in the 1970s and 1980s looks like a lower-level language in the world where interpreted languages such as Python and Ruby are less structured.
With fourth generation programming languages, or 4GLs, the abstraction goes up another notch, with the languages themselves actually generating the code rather than having their algorithms hand-crafted by people in a 3GLs and compiled down to iron. Computer-aided software engineering, or CASE, tools were created in the 1980s and 1990s to automate the application flow, to create code repositories, and to generate code based on higher level models of business processes, often using one or more 4GLs. Sometimes, CASE tools generated and compiled 3GLs that ran more efficiently on a specific computer architecture.
It is with this history in mind that we now contemplate the new low code and no code programming tools that have sprung up and make the case for what we at LANSA call hybrid low code as the better option to using these new low code/no code tools as well as using 3GL languages to either create new applications or modernize existing ones.

With no code tools, they have a very simple user interface that is normally focused on designing one type of application or very simple applications that wrap around core systems. These no code tools have very specific functionality – you can’t enhance them and you can’t change them – and they are normally designed for “citizen programmers” who would very rarely be found within the IT department.
With low code, you can create the applications and plug them together just like you can with no code approaches, but you can actually do some coding in a specific language. This is all well and good so long as you can make the applications you need with the functionality that is available within the low code tool. If you need to do a certain thing and the functionality is not there, then programmers have to leave the low code tool environment and start coding in a more traditional 3GL like JavaScript, HTML5, JSON, and so forth if you are talking about Web applications or other languages such as Java, RPG, or COBOL if you are talking about more traditional, back office, mission critical applications that generally have a heritage that predates the Web.
The hybrid low code approach that the LANSA toolset uses does as well, and many of the ideas that are being rediscovered in low code tools we have been doing for decades – and frankly, we do them in a better way that matches how real programmers create real world applications. We represent the best of both worlds – low code development and traditional development, and you can create your applications quickly within LANSA and if you do need to create functionality using other lower-level languages, you do it within the LANSA environment, not outside of it.
This is a very important distinction.
Right out of the box, all you need to learn is Visual LANSA, and you don’t have to do any of the lower level plumbing. That is handled by the tool itself. And you don’t have to think about client-side and server-side aspects of the applications, either. That is handled by LANSA, too. You get a library or reusable parts, and you drag and drop them onto forms. And because everything is centralized in a repository, it makes maintenance a whole lot easier. Change it once, it changes everywhere all at once where it is supposed to. The maintenance load can drop by 90 percent in a lot of cases – which is a huge benefit and more than offsets the challenge of learning a new tool and a new 4GL programming language.
This repository approach to application development, which was central to CASE tools in days gone by, was first started by LANSA in 1986 with some groundbreaking work that the company did with Colgate-Palmolive in Australia. The company was looking at how it could speed up development as well as reduce the ongoing maintenance of their applications. The key innovation that was made at the time was that anything at the company that was repeated – validation rules, a method or routine, snippets of code, whatever – was defined in the repository and the repository was searchable. The net result is that if someone wanted to, say, change the size of a field in an application, with a single click of a mouse they could know how everything in the application stack was going to be affected and within seconds have an impact.
We have been at this a long time, and that is why we espouse the hybrid low code method, which allows a mixing of the low code templating and traditional algorithmic programming as needed. While you can grab a low code tool and use its templates to create an application, and do so very quickly in many cases. Which is great. But how do you maintain and extend that low code application going forward if you had to punch outside of it to use JavaScript or HTML5 or some other language to extend that application in some fashion that was not supported inside the low code environment? How are you going to keep track of what is inside and what is outside of that low-code environment, and where the exceptions are?
With the hybrid low code environment embodied by LANSA – and tested out in the real world by thousands of companies and tens of thousands of programmers every day around the globe – everything is kept in one place, you make the changes as you need to, and you don’t really have to care that underneath it all LANSA is generating C, C++, or ILE RPG on the server side on the IBM i platform or .NET, Java, or C on Windows Server or Linux platforms. In fact, you don’t get access to that lower level code at all because that is our job to handle that, to make sure everything is being done efficiently based on the platforms where the code is going to run. All that you really care about is that LANSA handles all of that and you don’t have to. You make changes to the application, push them live, and move on to the next problem.
Eventually, we think, the emerging low code tools will have to mimic what we do or be relegated to a relatively unsophisticated pool of application developers who create a relatively unsophisticated set of applications. In the meantime, LANSA already does this hybrid low code thing right.
It’s something to think about.
Eugene King is presales technical consultant at LANSA, where he has worked for the past 24 years.
This content is sponsored by LANSA.
Visual LANSA Customers Can Now ‘Portalize’ Their Apps
Idera Bolsters Visual LANSA 15
LANSA Revs Low-Code, UI Modernization Tools
LANSA Bought By Software Conglomerate Idera
Visual LANSA Goes Low-Code With High Tech Update
LANSA Shows Off Responsive Design Capabilities
LANSA Adds jQuery to Visual LANSA
Visual LANSA Apps Now Deploy to Mobile Devices
LANSA Turns aXes into IBM i Cloud Enabler
Tags: Tags: , , , , , , , , , , , , , , ,
Accelerate Portal Development with Portalize
If you need to create a portal with broad capabilities but do not have the time or resources to create one from scratch, Portalize is the best alternative for you. Loaded with out-of-the-box features, this customizable software development toolkit is ready to go as soon as it is set up.  Its advanced functionalities can be easily modified and customized based on technology and user requirements.
Learn how to activate an offer for Free Portalize Source Code

Copyright © 2021 IT Jungle


Leave a Reply