Hacker News new | past | comments | ask | show | jobs | submit login

I think this is a symptom of being accessible not the language or its tools. NPM is fantastic and anytime I use Go or anything like that I miss it sorely.

Even javascript itself isn't "bad". There are ugly parts but anything written in the modern spec is basically semantically the same as any other language like python.

The problem is that people writing packages on the backend are bootcamp grads, frontend devs, and any number of other people who don't take the backend as seriously as someone who has been devoted to it using a non-javascript language.

I think the other issue is the javascript community wants to reinvent itself every couple months, instead of having one project that becomes defacto for x function over many years.




I don't think it is possible to separate language from tools or community. Those things are always together.

It is entirely possible that Javascript itself is an OK language, but it is too late now. The community has already decided that packages should be tiny, that changing prototype of "array" object is an acceptable thing to do, that failing fast is bad and the best reaction to errors is to mess up the page layout in the unexpected way, and so on.

Maybe one day, Javascript will re-invent itself and get reliable software engineering practices. But I highly doubt that -- there are countless people who know the laguage already, and they are not going to be changing their opinions overnight.


> changing prototype of "array" object is an acceptable thing to do

Uhh, no? I code in JS every day and do nothing of the sort, and I would object if I saw it.

> failing fast is bad and the best reaction to errors is to mess up the page layout in the unexpected way

I don't even know what you mean by this, but the fact that you're conflating JS with "the page" suggests to me that you're not that familiar with server-side JS (which has no "page") and the enormous amount of code that is written to be compatible with it.


>Uhh, no? I code in JS every day and do nothing of the sort, and I would object if I saw it.

If you use Babel you already have that, and just don't know about it. Most "upcoming features" shims do just that.


>I don't think it is possible to separate language from tools or community. Those things are always together.

I don't think so, you can always just use the language in your own style and cherry-pick any tools that align with it.

Like e.g. the Play framework ignored the main standards and idioms of Java development in its day.

Or how every game studio just uses its own version of C++ and forbids tons of features.


JavaScript is a god language. Changing Array.prototype is very much considered an antipattern, except in the case of shims, where it's really useful. JavaScript is reinventing itself, introducing a nice, traditional OOP facade with `class`, and making improvements to functional-ish programming with `let` (as opposed to `var`), arrow functions, and object and array destructuring. The DOM is still very much a "try to display something at all costs" mess that doesn't at all fail fast, but most of the things that you want to happen are indeed happening!


Well, Go is not a great example for dependency management either. That’s like saying how much you miss being slapped in the face after now being punched in the face.


Npm might be a good tool like pip. But unlike pip it encourages installing shit.

Even react which from limited experience is pretty cool. But apparently there must be dozens possibly hundreds of true senior devs in the US. Most everyone else fucks it up.

And I agree there is a shallow depth in the js world. Everyone wants the new shiny toy instead of using an evolving toolkit. JS is the embodiment of ADD.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: