1 minute read

One thing that my curmudgeonly-self has had issues with lately (the past few years) is the pain I feel when dealing with the JS ecosystem.

Let me give some background to explain. I’ve been using Ruby and Rails for over 10 years now. I originally found it when searching for an alternative stack to the existing business code I had written in PHP.

Ruby was a breath of fresh air. Of all the delightful discoveries I made while learning about Ruby (the language), and then Rails (the web-dev framework) was the philosophy behind them.

Some highlights:

  • Philosophy of Ruby from the creator Matz
    • “For me the purpose of life is partly to have joy. Programmers often feel joy when they can concentrate on the creative side of programming, So Ruby is designed to make programmers happy.”
    • “You want to enjoy life, don’t you? If you get your job done quickly and your job is fun, that’s good isn’t it? That’s the purpose of life, partly. Your life is better.” - Matz
  • The philosophy of Rails, much like the intent of Ruby
    • “Optimize for programmer happiness”
    • “Exalt beautiful code” (this one is tough, I appreciate it, but struggle to do it)

I appreciate the intent behind these. At least for small scale, and arguably big scale software projects, happiness of the people building seems like something noble to strive for.

And now to my rant.

There are good things about JS the language, the Node ecosystem, and especially the body of collective work done in this stack.

However, the sheer speed, (needless) complexity, and poor or un-ergonomic choices make for a near constant grating and cognitive load that I haven’t inflicted on myself in many years.

Why the rant?

Dealing with JS and the front-end after not doing that much of it for the past few years is making me come to grips with a whole new stack. I thought I knew JS before, but not like this.

While there may be potential hope on the horizon with Hotwire and stimulus, they’re still bleeding edge, and changing rapidly. While playing around with stimulus and the fantastic book, Modern Front-End Development for Rails I got that bleeding-edge feeling, where very few resources are available, and the quality and accuracy of the information varied greatly.

Oh well, hopefully it stabilizes. I’ll keep plugging away at it.

Categories:

Updated: