How GraphQL will go extinct
Tags: graphql, programming, productivity, webdev
Published: 2022-09-20 10:20:57

Since [my opinion about GraphQL](https://dev.to/polterguy/graphql-is-a-hot-smoking-pile-of-garbage-141g) seems to have gone viral on YCombinator, Twitter, Reddit and a lot of other sites out there, I feel the need to clarify a bit. However, instead of bashing GraphQL, I want to explain what you _cannot_ do with GraphQL in this article, and why Hyperlambda as an alternative results in higher quality software, with less security issues, becomes a bajillion times more scalable, in addition to reducing your workload as a software developer compared to GraphQL by some 3 to 5 orders of magnitudes. AKA; Explain to you how GraphQL will go extinct!

First some background information explaining my motives. [GraphQL](https://www.graphql.com/) is marketed as a LowCode productivity solution. In such a regard it's a competitor of [Hyperlambda](https://aista.com/hyperlambda/). That comparison however is like comparing a steam engine from the 19th Century with a UFO from the 3rd millennium as you will soon realise. Let me start with the punchline though, and show you something I created in 5 minutes using Hyperlambda and [Aista](https://aista.com).


![Things you cannot doe with GraphQL 1](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/mi4fpgxxg1y3kjybqx4c.jpg)

The above is a screenshot of an app I created in 5 minutes, with _zero_ coding! Below is another screenshot from the same app.

![Things you cannot doe with GraphQL 2](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/yh1xa9bz3h8073m6b3w8.jpg)

I want to emphasise that I created the above app in 5 minutes, and I didn't have to manually create a single line of code myself at all. In fact, if you're smart enough to use Excel, WordPress or ClickUp, you're smart enough to re-create what I did. You can try a similar app [here](https://sakila.aista.com).

## Meta programming

The reasons for that I can create apps such as illustrated above in 5 minutes, is because of a word few have really used the last 50 years - Yup, our _"invention"_ is literally 50 years old. This invention is called _"meta programming"_. Meta programming allows the machine to dynamically assemble snippets of code 100% automagically, without needing anything but configuration settings from the software developer.

With GraphQL there is no meta information available - At least not to the extent there is in Hyperlambda. This results in that you have to rely upon manually coding things.

The way Magic works, is that it reads this meta information from your database. Then it creates default settings for you, for then to allow you to override these settings. _"Settings"_ here implies checkboxes, select dropdowns, and text fields - There is no _"code editor"_ or complex configuration files the way you've got it in GraphQL. If you're smart enough to use Facebook, you can easily teach yourself how to configure the [CRUD Generator](https://aista.com/crud-api-generator/) in a couple of minutes.

> Hyperlambda allows non-software developers to create web apps 1,000,000 times faster than software developers

Without this meta data, the CRUD generator wouldn't be possible to implement - Not even in theory. This is a part of my motive for [not being particularly found of NoSQL](https://dev.to/polterguy/sql-is-almost-always-superior-to-nosql-361g) for the record. NoSQL basically have no meta data. No schema, no meta data. Hence, from my point of view, automating development intended to insert items into a NoSQL database without a schema, is like trying to squeeze a square peg through a round hole.

In the video below I am demonstrating how this configuration process looks like, and how I ended up with the above screenshots.

{% embed https://www.youtube.com/watch?v=Xo_c2eoCjYs %}

## Productivity

If you're a freelancer or work for an outsourcing company, you probably already know that _"time is money"_. If you can deliver something in half the time as your competitor, you can underbid your competitor, get the job, and still have larger profits when you invoice the client. The above app is roughly 30,000 lines of code in total. 26,000 are Angular frontend code. We know due to research in the subject that the average software developer can produce roughly 550 lines of code per month. This implies that **the average software developer would need 55 months to deliver the above app**. Yet again, I created it in 5 minutes.

Because of meta programming Magic can read meta information from _any_ relational database system, use this as a formal specification, and automagically generate code wrapping your database in the same time frame. It doesn't matter how many tables you've got. 1,000 tables becomes roughly 2 million lines of code, and Magic will still happily create the code in a handful of seconds, 100% automagically for you.

This implies that if you are to choose between GraphQL and Hyperlambda, your choices are basically as follows.

1. Use GraphQL, spend 5 months, go bankrupt in the process, and deliver inferior solutions in the end, riddled with bugs, security holes, and scalability issues
2. Use Hyperlambda and deliver superior solutions in 5 minutes

## Conclusion

I don't mean to bash on GraphQL, or developers having fallen in love with it. I really feel kind of sorry for them to be honest with you. From my point of view GraphQL developers are kind of like the Dodo - Happily walking the fields, having no idea of what's about to hit them. Because there's simply no way GraphQL can outperform a Hyperlambda developer - Not even in theory. However, the truth is still the truth, regardless of how many people believe it is false. And somebody needs to say this out loud, and it might as well be me ...

> Hyperlambda makes you 10,000 times more productive than GraphQL - And this implies that GraphQL's destiny is to go extinct ...

This tragedy is of course made worse by the fact that hundreds of VC firms have invested billions of dollars in GraphQL startups. However, what can I say? I'm just the messenger here. At the end of the day you've got two options though.

1. [Do like the Dodo](https://www.graphql.com/)
2. [Choose Hyperlambda](https://aista.com/hyperlambda/)

To reproduce what I'm doing in the above video, feel free to signup for a free month trial at Aista below.

* [Create LowCode CRUD apps in seconds](https://aista.com)