Is it just me who sees this? JS development in a somewhat more complex setting (like vue-storefront) is just a horrible mess.
I have 10+ experience in java, c# and python, and I've never needed more than a a few hours to get into a new codebase, understanding the overall system, being able to guess where to fix a given problem.
But with JS (and also TS for that matter) I'm at my limits. Most of the files look like they don't do anything. There seems to be no structure, both from a file system point of view, nor from a code point of view.
It start with little things like 300 char long lines including various lambdas, closures and ifs with useless variables names, over overly generic and minified method/function names to inconsistent naming of files, classes and basically everything else.
I used to just set a breakpoint somewhere in my code (or in a compiled dependency) wait this it is being hit and go back and forth to learn how the system state changes.
This seems to be highly limited in JS. I didn't find the one way to just being able to debug, everything that is. There are weird things like transpilers, compiler, minifiers, bablers and what not else. There is an error? Go f... yourself ...
And what do I find as the number one tipp all across the internet? Console.log?? are you kidding me, sure just tell me, your kidding me right?
If I would have to describe the JS world in one word, I would use "inconsistency". It's all just a pain in the ass.

I remember when I switcher from VisualStudio/C# to Eclipse/Java I felt like traveling back in time for about 10 years. Everyting seemd so ... old-schoolish, buggy, weird.
When I now switch from java to JS it makes me feel the same way. It's all so highly unproductive, inconsistent, undeterministic, cobbled together.
For one inconveinience the JS communinity seems to like to build huge shitloads of stuff around it, instead of fixing the obvious. And noone seems to see that.
It's like they are all blinded somehow. Currently I'm also trying to implement a small react app based on react-admin. The simplest things to develop and debug are a nightmare. There is so much boilerplate that to write that most people in the internet just keep copying stuff, without even trying to understand what it actually does.
I've always been a guy that tries to understand what the fuck this code actuall does. And for most of the parts I just thing, that the stuff there is useless or could be done in a way more readable way. But instead, all the devs out there just seem to chose the "copy and fix somehow-ish" way.
I'm all in for component-izing stuff. I like encapsulation, I'm a OOP guy by heart. But what react and similar frameworks do is just insane. It's just not right (for some part).
Especially when you have to remember so much stuff that is just mechanics/boilerplate without having any actual "business logical function".

People always say java is so verbose. I don't think it is, there is so few syntax that it almost reads like a prose story. When I look at JS and TS instead, I'm overwhelmed by all the syntax, almost wondering every second line, what the actual fuck this could mean. The boilerplate/logic ration seems way to off ..

So it really makes me wonder, if all you JS devs out there are just so used to that stuff, that you cannot imagine how it could be done better? I still remember my C# days, but I admin that I just got used to java. So I can somehow understand that all. But JS is just another few levels less deeper.
But maybe I'm just lazy and too old ...

  • 4
    first of all. TY!

    I understand your vision by heart. There are cool and nice things you can do with JS, that are more pain in the a.. with C#/Java.

    But as I first discovered the library isOdd depending on isEven and negating the result. My world was shattered.

    I still think building backends with nodeJS sound insane, but there are things I like JS for.

    Overall you aee not alone and I'm not alone thanks to you. So... Thank you
  • 1
    jumping from classic OOP/C#/Java-land to Nodejs, and maybe some React too on the FE, is a huge thing, not everyone likes it

    i love having code over conf, no xml here and there to configure everything, properties, dotenvs, or big inheritance trees (actually, i consider prototypal inheritance quite better "by-design").
    but that's not important, that's only my opinion.

    debugging in Node.js these days isn't any worse than Java/C#, but it's very true that when .NET (here's it's way better than java) just works out of the box, the debugging environment in Node needs paradoxically a not immediate tuning, especially if you go with typescript

    the most important feature of Node.js world, to me and by a ridiculously huge margin, is how short the feedback loop is compared to compiled langs. running thousands of unit and integration tests in a matter of seconds every time i ctrl+s something is priceless to me
  • 1
    @thatsnotnice i rather prefer immediate compiler response as in java. Save and ups theres a compile error in another class. And running unit tests is pretty fast in java too ...

    Debugging isnt any worse? I cannot dissagree more. Debugging node and dependecies in various forms and languages is near impossible. You guys always seem to only debug ur own code. Thats possible imho only when ur doing relatively trivial things ...
  • 0
    I'm an accomplished android / Java /kotlin developer who has been trying to add React Native to the tool belt

    Holy shit, I spent two days just trying to install the right versions of things. I agree, it's a confusing pile of stuff
Add Comment