Clojure is really nice to write
I was a happy Ruby on Rails programmer in my previous office, and out of the blue, my boss asked me to learn ReactJS. JavaScript doesn’t suck for me, it sucks, it sucks, sucks, sucks, and it was no way I am going to learn it. But my boss persisted, he seemed like a good guy, so I tried out ReactJS. The more I learned it, the more it sucked.
I was assigned ReactJS tasks, and God knows how I finished it. I hated it. I am a programmer, and you want me to do what a programmer mustn’t do, that is to code in JavaScript. It’s not a programming language, everyone uses it because they have no other choice, the browsers won’t offer first class support to any other language.
In my job prior to this sucking ReactJS job, I was shielded by jQuery and Coffeescript (wow! I loved it), But this time it was ReactJS, and it seems to make even little things complicated. We were working on Ruby on Rails project, and Rails had killed ReactJS even before it was born. I had to wonder what brains (or what kind of idiot) will it take to use React with Rails?
So I had to learn, learn I have to learn this ReactJS, the curse for my previous birth’s evil karma. So while I need to code ReactJS app, I did need a backend, but for each and every type of project I had to develop a back end. I am a lazy guy and thought: ‘why can’t I develop a simple CRUD backend that will suit a front end learner? And it should require no configuration’, and hence was born Injee - The no configuration instant database for front end developers. I wrote it using Clojure.
The agony of developing a stuff in JavaScript was soothed by developing Injee in Clojure. I reckoned that, just like I hate front end, a lot of front end developers will hate back end and Injee will help them to develop POC of their idea before reaching out to a back end developer.
I am aware of HTMX, and Injee was primarily designed to deliver CRUD payload’s vis JSON. For HTMX we need some sort of templating engine that converts JSON to HTML, hence was born the idea of Injex, that is Injee’s CRUD working well for HTMX developers. To do so this is my code change https://codeberg.org/injee/injee/compare/f63362049f3b9b20c830df1aa3266cb9d0ab1145...injex, thats it (yes more refactoring should be done, but this is it for now). As I add feature upon feature in Injee using Cloure, things just work. Nothing really breaks. It’s awesome. Why I haven’t discovered Clojure 10 years before? I feel HTMX will replace many JavaScript frameworks out there simply because it’s super productive, so Injee has a better chance of picking up if it supports HTMX, thanks to Clojure this was implemented without pain.
I was thinking of developing an admin front end for Injee with Svelte, but with this code change I can do it with HTMX! Which I think is awesome and will make me enjoy coding than deal with JavaScript. I want to thank Clojure, its creator(s), people who helped me a lot in the community and people who are trying to make this wonderful language shine.
Personally I don’t need Injee any more, the boss who told me to learn ReactJS threw me out of the job. I don’t blame him, looks like companies financial are not good, but I feel I have to develop Injee because some front end developer will benefit out of it, just like I benefited having a backend to learn ReactJS.