In July of 2020, MIT & Intel research teams developed a new machine programming system called machine inferred code similarity (MISIM). This is an automated engine designed to learn what a piece of software intends to do by studying the structure of the code and analyzing syntactic differences of other code with similar behavior. Simply put, this system would be able to recognize the intent behind a simple algorithm input by a developer and offer candidate codes that are semantically similar but with improved performance – taking automated application development one step closer to becoming a reality.
The idea that computers will one day code themselves has been around for a while. Indeed, the recent pandemic has accelerated the adoption of low-code platforms by enterprises whose IT departments are short on time, but still need digital solutions to connect with their customers as companies have begun to work from home.
The rise of no-code software and citizen developers sure does make it seem like this is what the future looks like. But what exactly is no-code? How is it different from low-code? What kind of applications can you build using no code, and how will this digital disruption impact the future of application development?
Let’s take a deep dive into the world of no-code and understand it better.
What is no code software?
No code platforms allow anyone to build an application, without needing to write a single line of code. It works with a pre-written code that lays a foundation for the visual elements that you then use to build your application. No-code software platforms aren’t new. Tools like Dreamweaver allowed anyone to build a website using drag and drop tools even two decades ago. So no-code still means coding, just not for the person building the application.
No code platforms typically work using a user interface builder which allows people to drag and drop web pages together, visual modeling to work with data, reusing bits of old applications to build new applications, and allowing for integrations with most web services in the IT landscape.
Low code Vs No code
The terms low code and no code are often mistakenly used interchangeably. Although their functions are similar, they are not the same thing.
No Code software is for people with absolutely no coding knowledge. It uses declarative coding and is more about what you want your application to do, rather than how you get your application to do it. In traditional software application, the code would tell the system how to implement the functionalities you desire. With no code, you get to say what the app does, and the platform will build it for you.
Low Code Software platforms can also be used by those who don’t know how to code, but at some point, you will need a professional to intervene. Low code platforms typically have pre-built functionalities that allow users to build the application they need up to a certain point, after which a professional coder would have to step into the scene to complete the build. Developers have the skill to tell the application how they want the components to work.
What kind of applications can you build using no code?
No Code tools allow you to build back office, web, and mobile applications. Some examples of fully functional apps you can create using no-code platforms are CMS-driven sites using Webflow, e-commerce shops with Shopify, Facebook Messenger bots for your shop powered by Octane AI, or web apps using Bubble, and many others.
However, the rigid templates that no-code platforms work with can limit what a person can build with it – the templates and components are configured to meet the needs of a set number of use cases. As soon as a little out-of-the-box solution needs to be implemented, a specific piece of business logic that’s imperative to the application, the inevitable dead end will be hit. These scenarios will force people to find costly and complex workarounds that could have probably been easily avoided. Finally, after making the application work within the constraints of the no-code provider, all that’s left with is a piece of software more rigid and costly than a bespoke solution ever would have been.
How will this cause digital disruption, if it even is one?
At first glance, no code and low code platforms if implemented properly feel too good to be true. The speed at which a new application can be rolled out, along with the cost-effectiveness of being able to do it without a developer seems to be the perfect answer to the software solution needs of enterprises and startups.
While building a basic website is something you can easily do with no-code tools, building large, enterprise-scale applications with complex requirements is still something you need professional developers for. Something that seems cost-effective in the short-term has the potential to cost you much more than you bargained for later down the line. Taking the total cost of ownership of any application that’s being built is crucial to the success of a software project.
As the complexity of the requirements increases, the need for a professional developer gets more and more clear. For example, even though a person knows exactly what the house he wants needs to look like, and he has all the building materials ready to start construction, he still needs an architect to draw out the plan and tell him why his idea for a glass wall on the east-facing side of the house is a bad idea.
What does No code mean to my data and information security?
Not knowing your code from the inside out, not knowing the technology stack used to build it, and having no control over the company that provided the no-code platform can lead to several security risks. When a no-code path is chosen, it is often at the cost of the security and reliability of the application being built.
And finally, using a no-code platform usually means the company doesn’t own its source code. If the decision to move away from no-code is made, problems like vendor lock-ins crop up, leading to the inability to switch providers or huge costs to do so.
In conclusion, is this the future? Probably not.
Programming as we know it isn’t going away any time soon.
In the words of Amit Zavery, vice president and head of Platform for Google Cloud, “Big, complex applications are just that, big and complex. No amount of abstraction will replace the need to understand how an application functions at the line-of-code level. If I’m building a very sophisticated e-commerce website, if I’m building an Uber or an Airbnb … you are not able to build any of the things using those tools. No-code. Low-code – It doesn’t make any difference. It’s going to be done by professional developers using professional tools.”