DEV Community

loading...

Discussion on: The Shocking Immaturity of JavaScript

Collapse
peppesilletti_4 profile image
Giuseppe Silletti

The JS ecosystem is fragmented, there's not a single way to do something and newbies get feel overwhelmed by that. I totally agree with it.

But is it really a con?

I would argue that it provides flexibility and constant innovation. It provides you the freedom to choose the right tool for you starting from a really minimalist setup. I personally prefer the small and friendly web frameworks like express or fastify over a magical framework like Laravel (or many others). I really didn't enjoy working with the latter, I felt constrained and way less productive.

Working with JS requires devs to think even more about the impact of their decisions. Experienced JS devs know what are the best libraries out there. Oh, a new one is out? If it's REALLY something valuable, why not trying it out? I love this flexibility.

Newbies may feel overwhelmed maybe because they haven't developed a good engineering mindset yet, and that's normal. I wouldn't say the JS ecosystem is bad because of this though, it just requires a different approach.

If you prefer the tools to think for you, go for a framework. Nothing wrong with that, I won't rant over it :)

Collapse
spronkey profile image
Keith Humm

I think the main problem is that it has resulted in an “everything is always in some state of broken” problem. You can’t really depend on the tools you have to work for longer than a very short span of time, and unless you have a really large amount of time to dedicate to maintenance of the churn, it can really kill your efforts.

Try maintaining projects in JS that aren’t high priority, for example. Almost every single time you need to make changes, there is an inevitable massive and very difficult to estimate period of dependency and toolchain hell to get through.

You also can’t really avoid it, because vanilla JS really doesn’t have much in the way of a standard library.

I think its overall a good thing when people can agree on at least a few central aspects that will be common to many projects, even if there are a couple of variants of them.

Forem Open with the Forem app