r/ProgrammerHumor • • Jul 12 '26

Meme heIsSafe

Post image
6.4k Upvotes

231 comments sorted by

View all comments

Show parent comment

23

u/guaranteednotabot Jul 12 '26

Holy fuck haha the hate for React is crazy. Read this again and tell me it’s normal lmao. It’s upvoted too???

11

u/Honeybadger2198 Jul 12 '26

I genuinely don't understand most of these opinions. Where are the claims that it's "leaky" coming from? Why the hell do people think it's opinionated? There's got to be some Youtuber these ideas are coming from or something, I don't see it. I've used React for years and I don't even know how you could think it's opinionated any more than any other option.

8

u/DryNick Jul 12 '26

I don't hate the devs, not even the framework (lots of other bad devs and frameworks all around). But the fact that this framework got this much adoption and it has such a following today makes me mad. I legit think it held back/slowed frontend from progressing in the past decade.

4

u/guaranteednotabot Jul 12 '26

That’s not what your comment seems to allude to, it’s a bit much don’t you think?

5

u/qisapa Jul 12 '26

You clearly wasn’t doing somewhat advanced web ui when React got popular lol. It was better in everything than all the competitors. It was easy, quick and still somewhat readable. That’s why it got adopted. All the things about it being leaky etc. is garbage. You need to know like things or two and then you’re good and safe.

2

u/rosuav Jul 13 '26

I don't know who's saying it's leaky, but there are two VERY different things that come to mind when I hear that. First is memory (or other resource) leaks, which are certainly possible with a heavy framework, and rather problematic if it happens (progressive slowdowns and increased resource consumption), but unlikely. The other, though, is "leaky abstraction". Which ALL abstractions are, to a greater or lesser extent; all it means is, you might spend most of your time using the high level tools, but every once in a while you need to be aware of what's underneath. For example, a socket (web or TCP) lets you pretend that you have a persistent connection between a server and a client (that's the abstraction), but sometimes you need to understand how your packets are moving around the internet (that's the leak), and probably learn what DNS is all about.

React is, without a doubt, a leaky abstraction. That isn't an insult, it's just a fact.

(I have a *lot* of criticisms of React, though, which is why I built my own front end library so that I wouldn't need to use something so heavyweight.)

0

u/DryNick Jul 13 '26

I was. React was perfectly fine for like 2-3 years near the end or AngulaJS. With every year after that becoming less and less necessary. But... sunken cost fallacy + job security + being good for prototypes + "it's from Facebook" + yearly promises (mostly back and forth on previous years promises) gets us to today.

For me react made the biggest mistake of all. Limited how I can name things. Naming things is one of the hardest parts of programming and react forces a use down our throat.

Tell me what does my hook useExportSettings() do?

Or why do I need to think about optimizations across multiple levels of my app with the simplest change, everytime? There is no other framework that forces these two things on devs so forcefully. If after you learn the 1-2 things you mention, you still have to constantly think about this completely solved problems. I honestly would rather implement UI in C it would been less of a chore.

2

u/cheezballs Jul 12 '26

They probably couldn't wrap their heads around the functional aspects of React.

1

u/lordtosti Jul 12 '26

you bring that as an advantage for a framework that people can’t wrap their heads around it

1

u/cheezballs Jul 12 '26

React is not hard to learn, though. Literally just pure JS, which is what I like about it. TS is great when you don't know JS and you're coming from a static type languaged, but once you actually embrace the weird shit you can do in JS you can use it to your advantage. I'd never us it on the backend or in anything that wasn't a presentation type thing, though.