Hacker News new | ask | show | jobs
by Beltalowda 1339 days ago
Yeah, that's the part that really kills me about JavaScript. I can deal with the language, npm, some curious conventions in the community, every "npm install" telling me I have 100+ security vulnerabilities. It's the whole "THIS IS THE MOST AWESOME THING OF AWESOMENESS SINCE THE INVENTION OF AWESOMENESS!!!!" that kills me, which is really just my snarky way of saying that I found there's generally some serious lack of introspection in the community at large. Something like, say, the Python packaging situation is far from ideal, but people are generally pretty honest about the fact that the situation sucks, and that it has sucked for quite a few years. Python devs tend to get embarrassed when you ask about packaging, or the GIL, and most ecosystems have some pain point(s) like that.

I understand that some problems are just hard, that there are obstacles, or that things you build don't always turn out to work as well as you intended when you started out (sometimes what seemed like a good idea at the start turn out not to be so good ideas later on), and that many things are also trade-offs where there is no perfect solution. That's all okay. It's the whole attitude I find hard to deal with.

3 comments

> It's the whole "THIS IS THE MOST AWESOME THING OF AWESOMENESS SINCE THE INVENTION OF AWESOMENESS!!!!" that kills me

I joined a project using node, npm and angular. Everybody said things like that; "this is so awesome", "JS is great", "never had so much fun".

I tried installing it and needed help at every step, "Oh right! We need to do this in our env because X and Y", "Oh, you missed a step, trust me, it's easier to nuke everything and start again now." I ended up with a 30+ step guide that nobody had documented before. We had a little less than 100 security vulnerabilities.

Almost every standup was an exercise in figuring out some strange problem with node or angular, sometimes several.

This team was definitely doing things poorly, but the unrelenting toxic positivity mixed with the "Rails and Django and Symfony all suck so bad" was hard to take, especially as we struggled to ship a really basic MVP.

Toxic positivity goes a step further. It's not just the gung ho "everything is awesome". There's also pushback against critique. In some communities, you can't say, "this project has aspects that are not good" without getting met with "be quiet, the devs are trying really hard".

I'm sorry, but certain things shouldn't involve participation trophies. Building bird houses with your kids in the backyard, yes. Building anything at least as complex as a toolshed for other people, no. At a certain point (i.e. when our work can have consequences for others), we have to take responsibility for our work, and expect responsibility from others.

> It's not just the gung ho "everything is awesome". There's also pushback against critique.

And the required "buy in", not only can't you critique, you must ALSO actively assert everything is great or you're not "part of the team".

Any team without a few, "I disagree but support the group" engineers on it, is probably in a bad way.

maybe people enjoy working with it .. I love it, I went from a systems admin/customer support to being a senior react dev, I learned angular, than some javascript, than some programming and then some more and some more.
Perhaps your love of JS/TS/whatever is based more on the path you took and your starting point than the tech you use.

Having been through half a dozen programming languages and most phases of the evolution of web development, I have a very different perspective. The complexity and fragility of modern JS-centric web development would have been unimaginable to us 15 years ago.

What started (as far as most people experienced) as Jquery, where you could sprinkle a little JS and make some big UX improvements ballooned into this monster where you need thousands of libraries, package management, bundling/minifying/babeling/etc., and fallback plans (you do have graceful degredation built into your JS frontend, yes?).

As the phrase goes, we can't see the forest for the trees. If we did carefully review the path we took from then to now, the promises or beliefs we bought which led us down certain trails, and then considered the outcome... I expect we wouldn't be even close to this situation we find ourselves in now.

I’ve written quite a few old-school web apps in Rails and ASP.Net. Unless you stuck to really basic stuff, they were much harder for me to reason about than the React codebases I’ve been on. jQuery consists of trying to reason about accidentally over aggressive global event handlers and effects, etc.

I prefer the modern mess.

It’s still a mess, though.

That's fine, but lots of people also enjoy working with Python. I happen to not particularly like Python all that much, and that's never really caused that much friction (responses tend to be "yeah, that part isn't very good" and/or "right, I see where you're coming from"). Frontend on the other hand...

I don't want to paint with too broad of a brush. Some of my best friends are frontend developers! But a community can have a certain "atmosphere" or "vibe" to it. I do a lot of Go programming these days, and I find the "vibe" in Go is one of self-righteous arrogant twattery. Does that mean every Go developer is like that? Of course not. But I found that's the overall "vibe" in the community nonetheless (it's a bit better than it used to be though).