this post was submitted on 16 May 2025
501 points (99.2% liked)
Programmer Humor
23286 readers
1958 users here now
Welcome to Programmer Humor!
This is a place where you can post jokes, memes, humor, etc. related to programming!
For sharing awful code theres also Programming Horror.
Rules
- Keep content in english
- No advertisements
- Posts must be related to programming or programmer topics
founded 2 years ago
MODERATORS
you are viewing a single comment's thread
view the rest of the comments
view the rest of the comments
I don't know about "fine". It has a lot of weird stuff baked in. Hoisting. Unexpected type coercion. Too many ways to loop over something and I always forget which one is which. "There's more than one way to do it" is kind of a recurring problem, come to think of it. Several function declaration syntaxes. Dot notation AND bracket notation for objects.
Also it will forever bother me that object keys aren't quoted.
const foo = "hello";
const bar = { foo: "world" }
That should be, in my mind,
{ "hello": "world" }
. It's not. It's{ "foo": "world" }
But if you want to do that, you need to do
const bar = { [foo]: world }
. Which looks like your key is an array with one entry, a string with a value of "foo"You also end up learning a whole framework, with its syntax and idioms, every couple years. Angular. React. Redux. Whatever.
There's also a lot of people who have never used anything else, and want to use javascript for everything.
Javascript is basically D&D. Wildly popular. Full of legacy jank. People try to use it for anything even though there are better or more specialized tools.
This lightning talk is great for the oddness of JavaScript. He starts with Ruby but pretty quickly spends the rest of the time on JavaScript.
No need to convince me it's shit. Also how do you end up only knowing Javascript? Who the hell starts out using Javascript of all the languages?
Anyone entering through web development. If you're self taught or did a "coding boot camp", it might be the only language you've used. A lot of places use it for backend stuff now, too
After reading the JS Bible and listening to a lot of Kyle Simpson, I don't find any of those unusual or unexpected, but rather neat in the context of the language. And with enough practice, even the implicit return of an arrow functions jumps out at you.