RE: Why JavaScript development is crazy

I just wanted to react to this post on JavaScript craziness and the tendency to over-engineer JS apps by Sean, and it didn’t fit into a tweet.

Sean argues that the tools and technologies you find being recommended for a JS project are confusing, probably overestimate the complexity of your project, that they over-engineer and complicate your application way above your needs. That’s a valid point, but I don’t buy it as the main reason for the craziness.

I think the reason why developers are often unhappy with the JavaScript is the opposite. It’s not the ecosystem and the tools. It’s the people! We have unreasonable expectations that creating JavaScript apps is easy.

It’s not easy, it’s the same as with any other language and platform. You’ll need:

  • a build tool to get the output
  • a framework or the main library to organize your code around
  • a dependency management tool to import that essential left-pad code
  • tests: unit / integration / acceptance
  • compilers and transpilers, and obfuscators, and minifiers, and optimizers
  • many other things you need but don’t like to think about

The part that is confusing is that you can totally sacrifice using any of these. But when you strip all of them you’ll end up with an application like this:

But you don’t really want that, do you?

That’s why we struggle. We expect the ease of what we imagine JavaScript development be to be matched by what it actually is.

Unfortunately few things work like that.

Show your support

Clapping shows how much you appreciated Oleg Šelajev’s story.