What is a Low-Code Software Development AI Framework?
Tags: lowcode, automation, ai
Published: 2024-05-12 12:01:36

**10** // You won't understand this line of code quite yet, but relax, it will become clear as we procced.

AI is incredible. However, AI is just a sub-section of automation, and automation is something we've had for a very long time. Some would argue we've had automation for thousands of years.

The amount of automation AI is promising us is baffling to the point where it's almost difficult to believe - Still, it's not a new thing. Automation has been here ever since we invented the wheel 15,000 years ago. This implies that AI is actually just smaller incremental steps, one built on top of the other, to where we're now at the point where we can almost create artificial sentience, that almost seems to exhibit human nature.

## My first computer program

I remember the first program I wrote, it was as follows.

```
10 PRINT "THOMAS IS COOL"
20 GOTO 10
```

Whether or not I'm cool I presume is in the eye of the beholder, but to understand what a low-code software development AI framework is, is to understand the above program from an economized point of view. If I was to use pen and paper to write the above millions of times, I would need thousands of hours. Yet, here I've got this thing, that allowed me to spend 10 minutes writing out a couple of instructions in a terminal, for then to execute it, and have it write my sentence trillions of times, without getting tired, or misspelling any words.

## Magic Cloud and Low-Code

A friend of mine asked [ChatGPT](https://chat.openai.com) to suggest an open source low-code software development platform for AI solutions, and it suggested [Magic](https://docs.ainiro.io/). Magic is our flagship product, and when I describe what it does I tend to use a lot of words. Below is the identity definition of it.

> Magic is a Low-Code software development and business process workflow orchestration platform, particularly well suited for creating and managing AI solutions

Describing it using the above is of course impossible in every day conversations. Magic as a word eliminates the debate, and it's not like as if anybody (besides me) will probably ever understand all of its internals, so I refer to it as _"magic"_. The argument goes as follows.

> Any sufficiently advanced technology is indistinguishable from magic

The above is a quote from Arthur C. Clarke. Since I'll probably be the first and last person to truly grasp it, _"magic"_ does the job at communicating what it does. Below is how ChatGPT sees the world when asked for what Low-Code platform to use for AI development, so obviously I must have done something right.

<img alt="ChatGPT sugesting Magic for Low-Code and AI software development" src="https://ainiro.io/assets/images/blog/magic-suggested-by-chatgpt.jpeg" style="max-width: 350px;margin-left: auto;margin-right: auto;">

## Abstractions

An abstraction is a simplification of a higher level complexity. Language is itself an abstraction of thought, or _"logos"_ as the ancient Greeks would say. Abstractions are useful for communicating ideas, something illustrated by condensing the identity definition of Magic down to a single word. Abstractions are therefor useful as communication vehicles. When I talk about _"magic"_ for instance, everybody knows I'm talking about _"the thing who's identity definition is too long for me to be bothered using it in every day language."_

The funny thing is that software development as an art form is really nothing but communication. When I create software I communicate my _"intent"_ to the machine using a programming language. The machine sees my code, and transpiles it to CPU instructions. This results in a _"logos machine"_, that on a good day is capable of executing my intent, producing (hopefully) the result I intended for it to produce. 

So my thought or _"logos"_ have gone through several layers of abstractions, to the point where it's capable of executing my will, whatever my will happens to be at that particular day.

It follows that software development is really just another form of language. It's a human to machine type of language, instead of a human to human type of language.

> Code is language, and to create software is to communicate with the machine

## Low-Code

Low-Code again was defined back in 2017, and it basically implies a framework that allows us to create systems with less code than what would typically be required using traditional means. A good low-code framework again, is thereby simply just another abstraction, built incrementally on top of millions of other abstractions, providing a result where productivity increases significantly, and therefor reduces the cost associated with creating solutions.

If we're to create a common denominator at this point, encapsulating all of the above ideas, we could grasp for words such as follows ...

> Economize and optimise the ability to exchange ideas between humans and machines

Everything is about optimising processes, to deliver more with less resources, and such economize, which results in releasing energy, creating _"a better world, where we have more, with less work."_

## Wrapping up

We've now got all the elements required to create a common foundation for understanding low-code, AI, and where they intersect - At which point answering the question I started out with becomes superflous. At this point you either get or you don't. If you don't, no amount of explanation will ever make you understand - But I'll try anyways.

> A low-code software development AI framework is an abstraction that simplifies the ability to create AI solutions, making it faster to communicate intent to the machine, such that the machine can better leverage AI, to act upon the human being's will, where the end result is to _"magically"_ create more wealth, while having to apply less resources

If you still don't get it, my suggestion to you is ...

```
GOTO 10
```