All I hear is "What is low code?"

All I hear is "What is low code?"

Nobody asks "Why is low code?"

You say Low Code and I say Low Code Application Platform

Low code gets a bad rep. I know I was certainly guilty of looking down on it in the past. When people first started talking about low code they would come to me and say, "You'll be out of a job soon. Everyone will use insert low code tool of choice here and they'll be able to write their own software!". I'd just laugh, shake my head and tell them that was ridiculous. I'm reliably informed (thanks Adrian!) that this has been going on since the 1980s!

That kind of marketing has left low code with a big hill to climb in the development community and it certainly doesn't help that people are still saying it! When it comes to low code application platforms it's certainly not true. Yes, they can help people who aren't developers build simple things but the real beauty and power is when you give it to someone who knows how to develop solutions.

It's probably good to clarify at this point the difference between "low code" and a "low code application platform". Low code on it's own is a type of language, like C# or Python are programming languages. It's a description of a set of languages for defining a solution. I hesitate to call it a programming language because not all low code languages are for programming. One low code language could be designed to program a web app but another could be designed just to build a workflow or an integration. If you're visually creating a logical flow of data you can slap it with the name "low code".

Good low code application platforms, on the other hand, aren't just about building a visual logical flow for a single purpose. They will also support code extensions of that flow in traditional code and are aimed at creating entire applications. They also come with a whole host of other benefits. So when someone shows you something and says "This is low code" bear in mind that not all low code is the same...

So why low code? Why now?

Let's face it, if you tell a developer they don't have to write code anymore they're not going to be happy. I've been there too. They tried to tell a team of .NET developers that they'd just be using a low code Business Process Modelling tool from now on. The whole team quit. However, if you could get a developer to try a good low code application platform I think they might start to think differently (I know I did!). Why though? Why should developers even think about switching to an LCAP?

Consider this, when you want to write an application you don't turn to Assembly do you? It would be a nightmare trying to create a robust, modern, good looking application using GO TO statements and you'd probably retire or quit before it was finished. Similarly, you could start out in C and do it that way but it's not ideal for creating a web application is it? Languages have moved on and frameworks have been created to enable us to develop applications quicker and with less need for micromanaging performance.

Now developers have front end frameworks like Angular and React sitting on top of modern language backends built in languages like C# and Python. These tools have abstracted away some of the complication of using low level languages and made it easier to construct slick front ends. So what comes next? Low code platforms.

Low code platforms push that a step further and say, "You don't need to write code for anything but the most niche or complicated of tasks." but with a good low code platform you can when needed. You will still get all the fundamental tools you'd expect with a traditional code approach, like CRUD actions, IF statements, WHILE loops, but it's done visually and expressed in something that looks like a flow chart.

They also come with a frontend framework built in; to help you build a sleek and secure front end without spending masses of time on it (although you can always customise and extend this too). On top of all that they provide easy scaffolding out of the box, so that you don’t have to write user management, provision databases or set up and manage development infrastructure.

Still not convinced?

I get it. It's hard to believe that drawing pictures could possibly do what you can do with traditional code and I felt the same. In fact the first thing I did when I tried it was to recreate an application I'd recently built in C# and Razer. The platform was more than up to the task. Even with the limited exposure I'd had to low code I still managed to recreate the application in a quarter of the time.

As part of my job I actually thought I'd push this a step further and I've done a series of blogs on completing LeetCode challenges in low code. I wanted to prove that you can tackle even complex operations in low code.

Low code is not a revolution. It's not a brand new thing that is here to change the land scape of development forever. It's an evolution of coding. It's the next step in coding languages. Just like those that came before it, it builds on the backs of other languages. In the way that C beget C++ beget C#. Just like those languages one doesn't completely replace the other, it's just a new tool for a different job.

As a developer "low code" is not something you should just dismiss as a whole. A good low code application platform is something to be considered and embraced. It will make it easier for you to build solutions without having to micromanage the boring bits, leaving you time to focus on the value added. Or the fun bits as I like to call them!

What do you think? Let me know!