No-Code Software Development
No-Code Software Development
This developer builds a case for no-code software with his project that creates high-performing software in a fraction of the time.
Join the DZone community and get the full member experience.Join For Free
Every single software bug in the history of computing was created by a software developer, writing a piece of code, that for some reasons didn't work the way it was supposed to. So I figured "Let's eliminate the root cause of the problem: writing code."
Some years ago, an acquaintance of mine told me he had just finished a project. His customer wanted to have a web app, wrapping a single table from his database, such that he could perform all CRUD operations on his database — and do some basic sorting and filtering in the process. My acquaintance bragged about how he had only spent 12 hours creating this system, yet still invoiced his customer a fixed price of $20,000. The customer had happily paid, and even mentioned something about how cheap this price was, and how grateful he was. Ignoring the ethical aspect of this story, having a developer invoicing $1667 per hour — this problem is actually quite interesting. I can easily imagine thousands of different use cases, which arguably are an exact match of this specification, only with slightly different columns, and slightly different features. And in fact, I bet most of you have heard similar stories, too, and seen dozens of similar use cases yourselves.
I cannot find a single reason why we should have to "code" the above system though. I think that the fact of that my friend had to spend 12 hours to implement this, was really quite ridiculous to be honest with you, when he should have been able to implement it in 5 minutes! However, if your only tool is the ability to create code, all problems will appear to be bugs! In the video below, I am creating a software system in 2 minutes, that arguably is an exact match of the specification to the $20,000 software system from my above story — and I am doing it in 2 minutes! Implying that if my friend had used Phosphorus Five when creating his original CRUD app, he could have charged $20,000 for 2 minutes of work. This equals an hourly rate of $600,000! And the end product would have had 100x more features and probably been 1000x more stable and bug free!
Computer code is arguably a form of communication. However, instead of communicating to a human being, you are communicating to a computer, giving it instructions, such that it understands what you want it to do. In a modern programming language, there are no reasons why the act of creating code should have to be (exclusively) done by human beings. In fact, a computer is much better at creating code, that is bug-free, with way better performance, than even the best software developers. All we need is the ability to communicate our intentions to our computers, or specifications to be accurate, to have the computer create the code necessary to solve that particular problem. And in fact, what you don't see in the above video, is that the above process actually creates 1902 lines of code automatically with 446 comments, with a code to comments ratio of 1/4. See the meta information for the module below.
In 2 minutes, I created a software system with 1902 lines of code, 446 comments, automatically created documentation, and a total size of 130KB. Not bad for 2 minutes of work, and in fact, the bandwidth consumption of my end product is far superior to whatever anyone could possibly implement using a traditional "hand coded datagrid". See the screenshot below that illustrates this difference.
So we are talking about a difference in quality of at least 100x, possibly more, depending upon what you measure. Here is a video where I demonstrate usage of such a CRUD app, with more than 315,000 records, and it is still blisteringly fast, loading my pages in 0.5 seconds, and allowing me to query, search, and sort my records in roughly 0.2 seconds.
When the system is done, it even has an API. You can see parts of it in the above screenshot. For instance, if I want to, I can inject an extension widget (think ASP.NET "
UserControl") wrapping my datagrid for my table into any other place I might need such a thing. I can pass in arguments to my user control, controlling every aspect of my datagrid, such as whether or not I want to have column headers, how many items I want to show at the same time, etc. And if my customer wants to change the color of his search toolbar button to become green, that is as simple as editing my module's automatically generated CSS file, in for instance Hyper IDE. Below is a screenshot of this BTW.
Which brings me to my final point: although my computer created all of this code automatically for me, I can still edit the files it created afterward, the exact same way I edit any other code files, to apply my own modifications to my software system. So the computer doesn't really "steal your job." It simply does all the boring stuff automatically, leaving all the fun stuff for you! Saving you at least 12 hours of work in the process, which allows you to enjoy some time at the beach, instead of having to put in 100 hours of work every week, struggling with bugs that shouldn't really be there in the first place.
I don't know what you guys are going to do today, but I think I'll go swimming in the ocean, and maybe have a beer or two. I can enjoy some time at the beach, because I have superhuman capabilities, and I can create my code 100,000x faster, and 100x better performing, with 1/1000th of the bugs that you can. If you want to join me, and get superhuman skills, too, you can download Phosphorus Five here. It's all open source and free software.
Thomas Hansen :)
Opinions expressed by DZone contributors are their own.