Low Code, No Code.

Ifiokabasibom
11 min readApr 29, 2022

“First, solve the problem. Then, write the code.” — John Johnson.

As one of my favorite lecturers in university; Dr. Jim use to say — “life is all about solving problems, there is always a problem to solve”. The day a man stops solving problems is the day he dies. Maybe that view might seem too extreme to some people, but you can’t agree less that this is true. From waking up in the morning to figuring out what you’d eat and how you’re going to get what you’d eat, carrying out your tasks and how you’re going to carry them out. These are all problems, as basic as they may seem.

Man faces a wide variety of problems daily and this continued phenomenon has prompted man into a lot of inventions including what we know today as the computer. It might interest you to know that what we know today as the computer was somewhat more like a calculator when it was first invented. Over the years, this particular invention has undergone a lot of refinement to become what we know it to be today.

The computer as we have it today is defined as a PROGRAMMABLE device that stores, retrieves, and processes data. The key emphasis here is on PROGRAMMABLE. What does it mean for a device such as a computer to be programmable? A programmable device can simply be seen as a device that can automatically carry out a sequence of operations under the control of a stored program. A program or computer program can be said to be a sequence of instructions in a programming language that a computer can interpret or execute. It can also be said to be a series of CODES to control the operation of a computer.

This takes us back to the topic of this write-up. Coding is simply writing sets of instructions for the computer for various reasons. So basically, it empowers us to tell the computer how to behave. Just like the computer itself, programming languages that help us write codes over the years have evolved. And we have five generations of programming languages that are recognized. Before we go into talking about and understanding the five generations, one thing has to be established. Programming languages exhibit, or could be said to depend on abstraction as they manage complexity by emphasizing what is significant to the user and suppressing what is not. The computer understands what is called machine language, and all of these generational refinements on the concept of programming languages asides from making these languages more capable have been to make these languages more human-ly. In essence less like machine language and more like a human language.

The first generation of programming languages (1GL), sometimes referred to as machine code or object code and was binaries made up of 1’s and 0’s.

The second generation of programming languages (2GL), sometimes referred to as assembly language or ASM was a low-level programming language that was device-specific, or could be said to have been particular about device architecture. This made these languages not portable across devices. But these languages today still have advantages, particularly in speed. The reason why they sometimes are still being used for parts of kernels or device drivers, video games and graphics programs, or any other intensive applications. But they have a lot of disadvantages when compared with more modern programming languages.

The third-generation languages(3GL) were designed solely to simplify the process of writing computer programs. This generation was regarded as a High-level programming language since a lot of abstraction had been introduced. It had easy-to-read syntax that is ultimately converted to low-level language which can be run by the C.P.U. Examples of languages in this generation are C++, C, Java, JavaScript, and Visual Basic. “ Code is like humor. When you have to explain it, it’s bad.” — Cory House.

The fourth-generation programming languages (4GL) were created with the vision of improving on the 3GL and providing a higher level of abstraction of the internal computer hardware details and making the programming language more programmer-friendly, powerful and versatile. While the definition of this generation has changed over time, it can be typified by operating more with large collections of information at once rather than focusing on just bits and bytes. Languages claimed to be 4GL may include support for database management, report generation, mathematical optimization, GUI development, or web development. Examples of languages in this generation are Perl, Ruby, MatLab, Python, and SQL. “Any fool can write code that a computer can understand. Good programmers write code that humans can understand.” — Martin Fowler

The fifth-generation programming languages (5GL) are languages based on problem-solving using constraints given to the program, rather than an algorithm written by the programmer. Most of the constraint-based and logic programming languages and some declarative languages are fifth-generation languages. While 4GL was designed to be more programmer-friendly, 5GL is designed to enable the computer to solve problems without exactly needing the programmer.

As the years have gone by, we’ve had programming languages evolve to be more humanlike than machinelike, even to the level that these days, it’s possible to create solutions without writing codes, solutions that you would have had to write codes previously. This has given rise to a group in the Tech community known as NoCodeDev. It is now a movement about making entire digital products and services using some random microservices on the NoCodeDev website. This is a disruption in the system, similar to what we’re having today; a decline in the need for conventional Database Administrators as a result of database automation mostly by the big players in the tech industry.

WHAT IS THE LOW CODE, NO CODE MOVEMENT?

This movement is very interesting as it allows you to ship a new product that’s completely ready, very quickly. “Make it work, make it right, make it fast.” — Kent Beck. It’s a movement of people that also call themselves “Developers” but do not write code and can do almost everything you’d regularly do writing code, but rather do these things using automation tools and platforms. Most of these platforms at the most basic levels have common features like landing page set up and email marketing. Checkout forms/pages are automated so that the programmer can focus on more custom features. NoCode platforms make it possible for you to have your whole blog setup and deployed without writing a single line of code.

If you have such a powerful tool at your disposal, why write any codes at all for projects or features that you could implement using automated tools and platforms? Except maybe writing code makes you feel more superior/powerful or something like that. Does this mean that we should throw our codes out of the window? No, I don’t think so. It just means that we don’t need to necessarily write code all the time, but could employ these automation services where possible to easily ship our projects faster.

THE LOW CODE, NO CODE REVOLUTION:

Recently, there’s been a huge fundamental shift in how enterprise application development happens. And this covers the full process of going from ideation to design to implementation to deployment and maintenance. Every aspect of application development is going through this revolution because of the broad changes in the technology industry. These broad changes can be classified into four broad waves according to Microsoft. These waves, together are changing a lot about Enterprise Application Development in the Technology Industry.

  • WAVE 1 -The Changing WorkForce;

In this wave, it is observed that at least 35% of the workforce are now millennials. 75% of the workforce will be millennials by 2025, and 24% of the workforce are generation Z. And all of these values mean that the expectations for application development (both web and mobile), are incredibly high. People are used to using cloud-connected applications, AI-enabled as part of their daily lives on their phones or whatever devices every day. This means that in development, we need to make sure that their desires or demands are being met always and this means a mobile-first development approach. This generation won’t be satisfied by the multitude of clicks, 100s of textboxes, 100s of screen applications most people that have been around longer are used to when it comes to enterprise application development.

  • WAVE 2 -The Surging Digital Demand;

In this wave, it is projected that 500 million new applications will be built between the years 2020 to 2025. This projection is more than all the applications built-in 40 years counting from 2020 backward. And for these 500 million applications, the demand for mobile applications is growing 5 times faster than a typical IT department can deliver. All these new digital experiences are generating a whole lot of data, of which a huge chunk of this generated data is unstructured. And according to Microsoft, about 85% of organizations are struggling to analyze these unstructured data. What all of this analysis means is that, for this period of 2020 to 2025, the tools used for analyzing data before now, won’t be the same tools we’ll be using anymore.

  • WAVE 3 -The Challenge Of Not Enough Developers;

Over the decade 2020–2030, it is projected that there’ll be a shortfall of about a million developers in the United States alone. This is a serious problem for companies across all industries, as can be seen in the fact that over the past years, the number of developers hired in industries outside of technology, like -energy, agriculture, retail, healthcare, financial services e.t.c, are constantly on the increase, year after year. Companies are having challenges hiring competent developers to fill up these roles. Looking at this, it’s evident that there’s a changing workforce, a growing need for digital experiences, but not enough developers.

  • WAVE 4 -The Economic Downturn;

The world currently is still trying from the effects of the COVID-19 pandemic which was very sudden and drastic. In 2020, the world G.D.P fell by 3.3% and the United States G.D.P fell by 2.28% against the world bank projections pegged at 5.2% and 6.1% respectively. These projected values have been the highest and most severe since the aftermath recession that trailed world war II.

What all of this means is that organizations need to get a lot more out of the resources and people they already have on the ground. All of these applications that use to take years to be actualized aren’t going to be viable anymore. The trick for the future is incremental progress that delivers high results with great ROI and addresses problems.

All of these transformations go back to low code development. For companies like Microsoft, their target is that you don’t need to be a programmer to get the job done. If you have experience using applications like PowerPoint and Excel, then you can be a low-code developer. Instead of teaching everyone how to develop by writing code, they’re changing how development is done. This is something that’s happening everywhere across several industries and not just in the field of computer programming. Low code aims to make everyone develop and make development seem more like a team sport. Low code isn’t just for developers, but business owners, IT professionals, and professional developers.

WHY TOP COMPANIES ARE MOVING TOWARDS LOW CODE, NO CODE:

The idea once again is to utilize platforms that get to help do some part or all of our application development for us. It is about NOT RE-INVENTING the wheel always and making sure that whenever we need any features that have been developed already or automated, we don’t write codes for such features but just lift them off the shelf and use them. Some of the reasons why companies are particularly very interested in no code are;

  1. Reduced software development cost.
  2. Time savings -thanks to automation.
  3. Increased employee engagement.
  4. Decreased security risks.
  5. Accelerated innovation.

POPULAR LOW CODE, NO CODE PLATFORMS IN 2022:

Listed here, are some very good and popular no-code platforms listed in no particular order.

  1. Retool
  2. Appian
  3. Knack
  4. Mendix
  5. Microsoft Power Apps
  6. Caspio
  7. Outsystems
  8. Quick Base
  9. Zoho Creator
  10. ServiceNow
  11. Oracle Apex
  12. Quixy
  13. Vinyl by Zudy
  14. Visual Lansa
  15. Airtable

CODE VERSUS LOW CODE/NO CODE:

Before going ahead to do the comparison here, it must be made clear that No Code is not the same as Low Code and these two can not exactly be used interchangeably. The main difference between these two lies in the target users and their output capability.

No-code platforms are targeted at smaller businesses and citizen developers who do not have the financial muscle to hire a programmer or developer -it is targeted at non-technical users. Using a no-code platform, a citizen developer can develop an application from start to finish without writing a single line of code. This technology uses declarative programming and is about WHAT not HOW. In no code, the applicator defines what the application does and not how it does it. As much as they’re a lot of upsides to this which include speed, ease, and simplicity. They’re also a lot of downsides too which include but are not limited to the following;

  • No code, for now, is only capable of developing mostly basic applications.
  • Security issues from lack of control.
  • No ownership of the source code.

Low code on the other hand is targeted at people with more technical knowledge. Low code platforms can also be used by non-technical people, but at some point, a developer will be needed to finish off. Low code platforms allow you to use some prebuilt features that you will customize to fit your requirements. With low code development, the developer tells the platform HOW they want to use the components the low code platform provides them with. Low code development isn’t as fast as no code. The main advantage of low code over no code is that the solutions that could be made with low code are way more customizable than no-code platforms.

Now, back to traditional code development against low/no-code. Traditional coding is best applicable under the following conditions:

  1. When there’s a high need for third-party integration and legacy migration.
  2. When a vast infrastructure and several employees are working with multiple sections, departments, etc.
  3. When the product requires a high level of customization and security, flexibility, and reliability.

The 3 instances above aren’t the only times when traditional programming is still preferred over low/no-code solutions, there are other instances beyond these three.

WHAT IS THE FUTURE OF DEVELOPMENT?

Does the advent of no/low code solutions mean that developers will be out of jobs? Is no/low code here to stay, or it’ll fizzle out with time? These may be some of the questions one may have in his or her mind at this point. No code and low code platforms have one thing in common, they’re all built to handle just non-bespoke features. There’s always going to be a need for customization in software and developers will always be in demand the demand for developers has continually been on the increase and it is projected that programming will continue to be an in-demand skill.
Low/No code solutions are here to stay and will continue to gain popularity as the years go by.

What all of this means is that developers will not have to be reinventing the wheel every time and doing the same things over and over again. Rather, they’ll be able to focus more on really custom features while employing the use of low code solutions for generic features.

I’m going to close with this instance. History has shown that the field of agriculture has grown and evolved over the years from humans using their hands to do all of the farms’ processes, to using tools like sticks and stone, up until mechanized farming, and not we even have autonomous systems for agriculture. All of these revolutions have not stopped mankind from having farmers, but rather it has changed how farming is done. And as long as it makes the process better, and produces more efficient results, it is a welcome idea and will only gain prevalence the more as time goes on.

--

--

Ifiokabasibom
0 Followers

Software Engineering | Entrepreneur | Data Analytics | Drones | Technical Writer | Technology | Real Estate Photography | Cars | Human Relationships | Christian