In recent years, there has been a growing trend of “no-code” platforms and tools that allow users to create complex applications without a single line of code. At the same time, artificial intelligence is becoming more and more advanced, capable of completing tasks that were once considered impossible for machines to do. So, the question is: will no-code platforms and AI ever make us all software developers? Let’s take a look.
The Pros of No-Code Platforms
No-code platforms have a number of advantages. First and foremost, they lower the barrier to entry for people who want to create software but don’t have the skills or knowledge to do so. Second, they allow for rapid prototyping and iteration; with no need to write code from scratch, you can quickly put together a working prototype of your idea and make changes on the fly. Finally, no-code platforms can be a great way to learn about coding; by using them, you can get a feel for how coding works and what it’s like to work with code, without actually having to write any code yourself.
The Cons of No-Code Platforms
Of course, no-code platforms also have their disadvantages. One major downside is that they can be inflexible; if you want to add a new feature or make a change that’s outside the scope of what the platform allows, you’re out of luck. Additionally, no-code platforms can be expensive; while there are some free options available, many of the best no-code platforms come with a hefty price tag. Finally, because no-code platforms remove the need to write code, they can foster a false sense of security among users who think they know more about coding than they actually do. This can lead to problems down the road if those users ever need to hire a developer or collaborate with one on a project.
The Pros of AI
When it comes to artificial intelligence, there are also some clear advantages. First and foremost, AI is incredibly fast; it can process large amounts of data much faster than any human could hope to. Second, AI is unbiased; because it relies on data instead of human opinion, it can make decisions that are free from personal biases or prejudices. Finally, AI is scalable; as more data is fed into an AI system, it only gets smarter and more accurate over time.
The Cons of AI
AI also has its drawbacks. One major downside is that AI systems require a lot of data to function properly; without enough data points, they simply won’t work. Additionally, AI systems can be opaque; because they rely on complex algorithms that are often inscrutable even to their creators, it can be difficult (if not impossible) to understand how or why an AI system came to a particular decision. Finally, AI systems can be brittle; if something changes in the real world (e.g., a new law is passed), an AI system might not be able to adapt quickly enough and could become obsolete overnight.
The No-Code Movement
No-code platforms like Bubble, Webflow, and Carrd have been gaining in popularity in recent years. And it’s not hard to see why; they allow users to create complex websites and apps without a single line of code required. All you need is a basic understanding of how the platform works, and you can build just about anything you can imagine.
Of course, there are some limitations to what you can do with no-code platforms. They’re not quite as flexible as traditional development environments, so if you want to do something truly unique or complex, you’ll likely need to hire a developer to do it for you. But for most people, no-code platforms are more than sufficient for their needs.
AI-Powered Development Tools
In addition to no-code platforms, there are also a number of AI-powered development tools that allow non-developers to build software without any coding required. These tools range from simple website builders to full-fledged app development suites. And while they’re not quite as easy to use as no-code platforms, they’re still relatively user-friendly and require no coding knowledge whatsoever.
The Future of Software Development?
So will we all be software developers in the future? It’s hard to say for sure. No-code platforms and AI-powered development tools are certainly making it easier for non-developers to create complex websites and apps. But whether or not that will lead to everyone becoming a developer is impossible to predict. Only time will tell.
This is an interesting take from Harry Dewulf on Quora:
Have you ever heard of Microsoft Query?
Microsoft Query (in several forms) still exists and is still in use today. It’s the living embodiment of the infamous definition of madness oft (wrongly) attributed to Einstein that it’s doing the same thing over and over, and expecting different results.
There’s a reason people keep doing the same thing, even though it doesn’t give the intended results. Some strategies just look so much like they will solve the problem that it’s almost impossible to believe that they don’t. So people prefer to disbelieve the results than believe the solution can’t work. This isn’t insanity. It’s a perfectly sensible feature of inductive reasoning which is that the more times you try, the more likely you are to get the result you want. You’d be insane to argue with that. So you have to do quite a difficult (for many people, it seems) piece of reasoning: separate strategies and techniques susceptible to improvement by practice from those that are not.
Of course, in the case of Microsoft Query, there’s a powerful economic motivator.
People want to believe that you can carry out analytical operations on data without having to use computer code.
The idea of this is just sufficiently removed from simple repetition of the same failed strategy that many people will never realise that they are repeating the same action expecting different results.
The idea is that it’s easier to define complex relationships between data structures visually than verbally.
The theory being that drawing lines between visual representations of tables is easier than writing the words of an SQL statement.
People who don’t routinely work with data genuinely think that the choice is between the visual and the verbal, and they imagine that data analysts visualize data, so it must surely be easier to represent those visualizations directly, right?
The problem is that although we often call it a visualization, when you are imagining a data structure…
… okay. This is going to get weird but come with me on it.
The set of all integers is a one-dimensional space.
Add a dimension and you get a graph with coordinates that we normally represent as two numbers. Those two numbers give a location on a flat plane. So you can plot points on a graph, and maybe join them up with your choice of line of best fit.
Add a dimension and you get 3D. You can still just about represent that as an image, if you have a good understanding of the mammalian visual system. You know about perspective, right?
So what if you need a fourth dimension?
Coordinates in 1 dimensional space are expressed like this: 5
Coordinates in 2 dimensional space like this: 2,5
Coordinates in 3 dimensional space like this: 1,2,5
… and if you’re with me so far, you’ll know that the first two numbers refer to locations horizontally, and the third vertically. 3D printers, CAD programs, Blender, 3 point geometry, vectors in three dimensional space, etc.
All this can be represented by images that look meaningful to the human visual system, which is handy, because that’s what they are for.
But typical data structures can have dozens of dimensions.
Even the simplest ones usually have more than 4. Consider the database that underlies every Enterprise Management System. It has tables for products, clients and orders. You’ve already used up 3 dimensions right there. Supposing you need to create a proposal that demonstrates your ability to provide a subset of your product range to multiple client locations, taking account of vendor and resource availability and seasonal variations? That sort of thing is child’s play compared with evaluating the data from a clinical trial to determine if a new medical device is safe and effective, yet you’re already working with a minimum of five dimensions.
So sure, when thinking about data structures, we frequently “visualize” them, but not as cute 2d images that seem like 3d images “projected inside your mind.” Visualizing data structures so you can design queries for complex datasets is sometimes so difficult it has to be done iteratively. Processing time becomes a factor of query design. You can finish up with a sequence of queries, each of which is multi-dimensional.
Often, the only way to describe them is through the SQL statements that represent them. There will NEVER be a way of representing that as images, because the best that images can ever do is be 2 dimensions that fool your visual system into thinking there are 3 dimensions of space and one of time.
Microsoft Query persists because there will always be people who wishfully think that they can learn to analyse data without learning the “texty part;” without learning to process data (these days, mostly with Python it seems) and without learning to query data with SQL.
No-Code and low-code are wishful thinking except when they are teaching aids (as such, I will admit, they can be a good early stepping stone).
So no, no-code will manacle you, and you’ll love your manacles right up until you need to reach for the door handle.