this post was submitted on 16 May 2024
345 points (95.8% liked)

Programmer Humor

32361 readers
444 users here now

Post funny things about programming here! (Or just rant about your favourite programming language.)

Rules:

founded 5 years ago
MODERATORS
 
you are viewing a single comment's thread
view the rest of the comments
[–] [email protected] 33 points 5 months ago (14 children)

To any non-js dev taking this too seriously: A good half of the technologies mentioned in this meme are redundant, you only need to learn one of them (in addition to the language). It's like complaining that there are too many Linux distributions to learn: you don't, you just pick one and go with it.

[–] [email protected] 9 points 5 months ago (5 children)

Part of the problem is choosing from those options (when you have a choice). Open-ended questions like that nuke my productivity when starting a project because I spend more time researching and weighing options than actually programming.

As time has gone on, I've increasingly become a fan of restricting how many ways devs can do something.

you just pick one and go with it.

Might be my ADHD, but I can never just do that. But I posit that excess choice hurts feature development pace by wasting effort on reinventing the wheel.

A good example is the Nix ecosystem:

Nix expression language provides almost no constraints, leaving users to do the same things in a bunch of ways, and preventing a clear notion of which way is generally best from arising...which makes upstream super conservative with implementing new features the community wants, because any decision might break one those things. Leaving us with a 5+ year old "experimental" feature + CLI used by 80% of users, but no consensus on an official implementation. So many simple upstream changes become a series of 3 competing community projects providing a solution for that feature, further preventing consensus.

[–] [email protected] 2 points 5 months ago

I feel the same way. Designing good, opinionated APIs is HARD, but it also provides the best experience for both the author and the consumer.

  • Prettier is the undisputed king of JS formatters because it has no options by design. You set and forget.
  • One of the reasons iOS is so successful is because they lock down their APIs and put strict standards on apps, making it hard to write something that doesn't at least look good and slot into the OS well.

Among other examples.

load more comments (4 replies)
load more comments (12 replies)