JavaScript Gods
JavaScript Gods

Tuesday • November 19th 2024 • 11:54:56 pm

JavaScript Gods

Tuesday • November 19th 2024 • 11:54:56 pm

There was once an SQL rebellion, where many still lay slayed.

Nerds and professors scoffed themselves into an early grave, an on the other side many fell to distributed map reduce functions.

Both sides had great casualties, but as it always in the programming word, there were no losers.


It turned out that SQL databases, were not the only way, and may not be the best way.

Arguing, that there is only one way to do things correctly...

In a world where every program has unique constraints, and where initials conditions change…

Where flush may not always flush data do disk, is not just silly, but kind of crazy.


More than that, always using other peoples work, is boring, and does not teach about the fundamentals of their techologies.

As I write this I am watching The Data Engineer Handbook, trending with 18k stars.

My occasional reader loves to argue with me, because they find mainstream easy to argue for, they want to follow.

And that is why it will take them decades to learn, what they could master in their own unique way in months.


The mainstream lovers are in fact making the argument for SQL, and the damn dirty apes like me, I am on the noSQL end.

What the rebels get out of it, is knowing what a key value storage engine is, what periodic sync does, what memory mapped disk locations offer.

I am using SQL as an example here, I am showing that there is another, equally large side.


Now, finally, let me give you a gift, and a recipe for more.

I give you hot reloading of modules, in a singe line of code, one function: upgrade.

We are going to upgrade you first, we are going to change the way you program.

You will program with the Actor model from now on, it is powerful.

Not just actors, but also connections, as it appears that Erlang/OTP may not be perfect yet.

And we want compatibility with Visual Programming, where lines co-exist with the actors on a stage that is the context.

When you are armed with knowledge of connections, coming from other actors on your stage.

You are not able to route data the way RxJs does, knowing the connections allows you to make smart choices.

For example wait, until all connections sent in data, as the case is with combineLatest.

But now you are the architect of your own operators, and they are stupid simple to make.


So now that you have actors that have a process function, where data from connections is smartly mangled into.

You give yourself an upgrade function, where you send in a new function to replace the process function.


That is the hot reloading of modules, it means you can develop your program, without restarting it.

Of upgrade, a live production version, like a maniac, without affecting anything else that is already running.


And no, you don’t need to read up on the actor model.

Here is all you need, on one line.

“Generate several genius level JavaScript snippets inspired by Erlang/OTP. The snippet should utilize modern JavaScript/ES6+ syntax.”

This is something you send to your favorite free AI, and if you don’ like that, then install ollama and maybe “qwen2.5-coder

(Please compare results with leading AI, to make sure you are getting the finest results.)


Finally, I have even a greater gift for you, I wan you to use the same of similar line, but with other programming languages.

C#/.NET, Golang, Swift, Kotlin, Haskell, Elm, Elixir, F#, Clojure, Ruby, PureScript, Dart, Java, Groovy, Julia, OCaml, and Rust, to name a few.

So as long as you don’t follow, and stand a technology rebel.

There is no other feeling like that. You will be alone with the gods, and the nights will flame with fire. You will ride life straight to perfect laughter. It's the only good fight there is.

Artwork Credit