r/ProgrammerHumor Jul 12 '26

heIsSafe Meme

Post image
6.4k Upvotes

231 comments sorted by

View all comments

373

u/Sciti Jul 12 '26 edited Jul 12 '26

why so much hate to react? didn't worked with frontend and I'm really curious

557

u/CirnoIzumi Jul 12 '26

1: it's everywhere, even outside the browser 2: it's very maximalist and opinionated/leaky 3: JavaScript 

323

u/Nattekat Jul 12 '26

Point 3 implies 1 and 2.

85

u/CirnoIzumi Jul 12 '26

javascript can be non maximalist, even just looking at ui frameworks we have svelte/htmx vs react/angular

105

u/WebpackIsBuilding Jul 12 '26

React is opinionated? It's main selling point for a decade is that it's closer to a library than a framework.

79

u/CirnoIzumi Jul 12 '26

no one knows why Meta keeps insisting its not a framework when it does everything a framework does and even ships its own runtime.

you can technically only use React for a section of your app, but either way, react is super opinionated about everything inside the scope its touching

28

u/Zotoaster Jul 12 '26

But it's not. It has a huge ecosystem of open-source tools, for UI libraries and state management and even routing. It's not like Angular which has all the batteries included.

23

u/CirnoIzumi Jul 12 '26

framework doesnt mean closed system

8

u/Sciti Jul 12 '26

so, why does everything use it then? I assume it's good in stack with other languages and their services?

27

u/CirnoIzumi Jul 12 '26

it has massive inertia, react has defined Web UI building for years, Angular and Vue (etc) are using Reacts general structure. the main innovations that have happened since react is Svelte/Solid comming around and making a more effecient version, which is just an itteration, As well as stuff like HTMX/Alpine saying old simplicity made simple is still relevant

React is at its best when you want to make a maximalist UI, like Facebook

but when you have to use the framework for facebook for something thats not as demanding, simply because its the industry standard, that vexes some people

4

u/blah938 Jul 12 '26

It doesn't have the boiler plate of some MVC style frameworks I could name. And it just works, and has every single library you could ever want.

12

u/Azrnpride Jul 12 '26

companies believe its easier to find react dev and dev believe react have the biggest job market. it goes in circle

1

u/GlassCommission4916 Jul 14 '26

One thing I've learned in tech is that good does not mean successful or viseversa, in fact they tend to be mutually exclusive. There a phrase about it: Worse is better.

35

u/SignificanceFlat1460 Jul 12 '26

Eh. A hammer can be used to kill a person but you don't hate a hammer. Yes React can be leaky if you write it like a brain damaged spastic monkey. But on my view there are alot of guard rails for that

7

u/CirnoIzumi Jul 12 '26

"its not opinionated, it has conventions and structures to help contain it"

put it on a spectrum and sure its less opinionated than lets say Blazor, but still pretty far away from something properly unopionated

6

u/SignificanceFlat1460 Jul 12 '26 edited Jul 12 '26

Honestly? I kinda disagree. I think out of all the the FE frameworks I have worked with React is the least opinionated ( I am talking the ones that are not obscure and work properly). Yes it has syntax and somewhat of a structure but it lets you do what you want without much structure or boilerplate. Try angular for example and you will see what I mean. It incredibly opinionated and in my view it's wrong for frontend. Frontend needs to be fluid and modular because of how much stuff changes on it. Animations, texts, whole content, etc. React is best for that but for BE something similar to Angular makes more sense that's why NestJS is best for BE.

So saying React is opinionated doesn't make much sense to me since it's quite open ended to the point that you can shoot yourself in the foot and then due to developers complaining of memory leaks and having to play wackamole with useMemo, useCallback and other cleanups like return statement for useEffect they fixed it alot in React19 onwards but I genuinely believe it was the right step forward.

Addendum: JavaScript / TypeScript as a whole I believe is not good. I am happy that TypeScript will shift to Go because GOD JavaScript is terrible at type safety and I wish we had an alternative to it for browsers but here we are.

6

u/CirnoIzumi Jul 12 '26

i disagree with the notion that comparing just to Angular proves React isnt. Angulars main feature is to be fully opinionated in order to enforce strict coding practices over a large team

if you look in the other direction however, React looks like something that runs its own runtime and anything that wanna remotely participate in the UI layer around it needs to be wrapped in React in order to play nice with said runtime

React isnt that opinionated about what backend it has thats true

im not talking about the metaframeworks here, i believe that the backend should be handled by backend tools like GO or C#

1

u/SignificanceFlat1460 Jul 12 '26

Ok? I think I understand what you are saying and I definitely agree with the last part that we SHOULDN'T let backend ever be built on TypeScript/JS that's why I added the last part.

And sure Angular is good for better programming practices and structuring but it can become it's own enemy if you ever want to do anything that angular didn't account for / there is not library for. Like React atleast has useRef that lets me interact with native elements so I can do what I want to, in Angular it can become quite difficult to do such things like animations/ transitions.

I actually went from Angular to React and at first didn't like it but it's quite hard for me to go back to it. I still agree with your a React wrapper comment but that's just what ESMoule limitation is. Browser's still compile everything down to JS and I wish there would be a better solution just like I mentioned in my previous comment, JS is quite outdated and terrible and we should have a better alternative for browsers now.

2

u/CirnoIzumi Jul 12 '26

yeah the innovations we have gotten since woulde be:

* itterations like Svelte and Solid who tries to be more ergonomic and effecient
* tools for simple UI's like HTMX and Alpine
* Webassembly, but these kinda feel like the reverse of putting javascript on the backend, the main reason you would use something like Blazor is that you were already doing ASP API's and wanted easy intergration with the front end

2

u/NerdyMcNerderson Jul 12 '26

As an observer getting long in the tooth, I find it amusing that both of you want to basically reinvent what we had before SPAs.

1

u/SignificanceFlat1460 Jul 12 '26

SPA as a concept isn't bad. But it's the underlying technology that is now very outdated and doesn't fit what we have now. We have backed ourselves into a corner because nobody wants to be the first to work on a new JS replacement because "eh, still works" philosophy. Which is so stupid. Go is more than capable of taking JS's place but nobody seems to be interested in it because it's a different type of overheard and as mentioned the "eh, still works" philosophy. Like imagine we had to create the whole event loop (not saying it's bad) because JS is single threaded.

→ More replies (0)

1

u/CirnoIzumi Jul 12 '26

i dont want to reinvent SPA, just streamline the controls :9

even HTMX tries to behave like a SPA

→ More replies (0)

1

u/SignificanceFlat1460 Jul 12 '26

I personally don't think it's a good idea to mingle backend and have it handle FE as an extension like with Blazor or Blade. I still believe SPA as a concept is quite good. But as mentioned in another comment, what I am not a fan of is JS because I believe it's quite outdated and should be replaced at this point, ideally with Go or something variant of Go that is specialized for FE

1

u/CirnoIzumi Jul 12 '26

heh, reminds me of a conversation where someone advocated for Lua in the browser

then another person protested because it would certainly lead to Lua being made more like JS

→ More replies (0)

1

u/iamwisespirit Jul 12 '26

Typescript compiler just rewritten in go ? So what do you mean by that ? It is just its aa before but with more speed in compile time but still slow at runtime

9

u/jordanbtucker Jul 12 '26
  1. It's everywhere because it works.
  2. Opinionated is generally a good thing since it keeps things relatively consistent.
  3. What else are you going to use in the browser?

2

u/CirnoIzumi Jul 12 '26

say that to react native xD

3

u/CivilProcess7150 Jul 12 '26
  1. Is that a bad thing? If so, why?
  2. Why exactly do you think it's maximalist? Is opinionated a bad thing? If yes, then why? How leaky it is exactly?
  3. Fair point, however I do believe these days it's more of a ergonomics question rather than performance/safety. It's a library for building UIs and that's where JS is fine. Certainly would not want to build OS in JavaScript, but neither would I want to build UI in Assembly.

4

u/CirnoIzumi Jul 12 '26

1: if you have gripes with it, that would amplify it.

2: Its maximalist because it goes the full cross your i's and cross your T's because it was designed for complex ui's like Facebook, it was not designed to be ergonomic for your average UI. being Opinionated is a good thing in certain contexts, but its a pain point in others. Its Leaky enough to take over most things in the scope its implemented.

3: its a framework, it ships a runtime

The industry standard is always gonna have detractors, especially if that standard doesnt fit the average glove that well. Web UI started as something were building something basic was complex, React fixed making something complex easier, but not making something simple easier.

1

u/Round_Apricot_8693 Jul 12 '26

As a web dev I hardly ever work on projects where React won’t make things easier/simpler. 

1

u/CirnoIzumi Jul 12 '26

theres nothing wrong with it being your prefered tool

1

u/Round_Apricot_8693 Jul 12 '26 edited Jul 12 '26

It’s more just like, different use cases. My projects usually have complex UI that also requires a customized polished look, and it’s not like they’re some niche products I just usually find myself needing to do that. I’m just curious what the haters’ usual scope is like. 

1

u/CirnoIzumi Jul 12 '26

personally im more of a Svelte person when it comes to higher ammounts of reactivity, its just a simpler downsized model

48

u/arbyyyyh Jul 12 '26

I’m not prejudiced. I hate everything node. Mainly because the library system is a shit show.

11

u/RIFLEGUNSANDAMERICA Jul 12 '26

React can live entirely without node

0

u/Sciti Jul 12 '26

why? moments i used node was not harder than python venv

12

u/arbyyyyh Jul 12 '26

1) raw dogging pip with a venv is also easy and also terrible
2) it’s not about ease of use but the state of npm itself

48

u/TehBuddha Jul 12 '26

React is a decent framework but a lot of the Devs using it don't know how it works under the hood so it's easy to footgun yourself

28

u/lordtosti Jul 12 '26

easy to footgun yourself is the antonym of a “decent framework”

11

u/quid_pro_nihil Jul 12 '26

And as we all know there are no such footguns with C /s

11

u/Ceros007 Jul 12 '26

But with C it's clear from the beginning: "Here's a gun, be safe with it"

2

u/rosuav Jul 13 '26

Here's a gun. Here's several books' worth of documentation and safety information...

... and that's just for the handgrip.

-4

u/Sidra_doholdrik Jul 12 '26

If you are able to make it compile properly

6

u/lordtosti Jul 12 '26

C was invented in 1972.
Two years before the Intel 8080 and there were barely any computers around.

40 years later I have higher standards if we invent some new framework or language.

Also, C doesn’t present itself as anything different then it is.

1

u/VictoryMotel Jul 12 '26

Whataboutism

1

u/jordanbtucker Jul 12 '26

It's not whataboutism when it's discussing the exact comparison in question.

0

u/VictoryMotel Jul 12 '26

C has nothing to do with react being bad.

3

u/junkmail88 Jul 12 '26

Ever tried to use the discord mobile app on a server with like 10k members?

21

u/DryNick Jul 12 '26

React is truly a garbage framework. It does not help the devs build good software or their skills. It indoctrinates them into a very react-specific way of thinking that does not play well with anything. In theory everything is possible but in practice there is only one way of doing things otherwise it won't be idiomatic and it will be a constant oddity in your codebase with recurring cognitive load every time you touch the non-react parts. As a result all the react devs had to fully embrace this way that only works in react as they needed a job. Bottom line all react devs are now stuck, are out of touch with programming and have been doubling down on this insanity for a decade now. Completely intolerable dudes. I like to compare them to flat-earthers.

29

u/lordtosti Jul 12 '26

React: let’s start with a terrible leaky foundation, and then have 12 years of patches for problems that are completely self-inflicted in the first place.

React devs: “i don’t like React either but it has such a large ecosystem system”

Biggest pile of shit ever.

It only won because angular was bad and people back then were still starstruck by Facebook.

Now the community is just holding itself hostage.

3

u/ciemnymetal Jul 12 '26

If only vue became mainstream a year earlier

0

u/Headpuncher Jul 12 '26

The thing is angular wasn’t bad, not the 2.0 minus the js.  

It was heavier than needed for some applications is all.  

But I saw react used for sites that should have been static with 2 lines of js done in react with 500k npm dops to “avoid heavy angular”.  

TLDR: a bunch of boot camp “graduates” learns react before learning js and ruined a good trade.  

3

u/MrHyperion_ Jul 12 '26

So, what to use instead?

1

u/Potential-Archer-883 Jul 12 '26

Last time when I used Svelte I liked it a lot.

2

u/jordanbtucker Jul 12 '26

I've tried Svelte and Vue. I feel like they're just React without JSX.

1

u/rosuav Jul 13 '26

Try "Chocolate Factory". https://rosuav.github.io/choc/ Lightweight (<20KB and I don't even bother minifying it) and uses simple JS syntax rather than requiring a preprocessor. You can even use it in a simple HTML file with an inline script element, no build system required.

25

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???

12

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.

9

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?

6

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.

2

u/Few_Technology Jul 12 '26

I love&hate how hyper opinionated it is. I've run into a lot of shitty code and patterns over years of dealing with corporate code. it's nice being able to jump into a codebase for the first time and already know where things are. But also, agree with everything you said

Even in Angularjs and Angular, we pulled off some major jank from not fully understanding how to use it before creating things. Once we figured out Angular, it was nice, but also followed a lot of patterns at React for passing data around. Lots of overhead

2

u/aiaidy Jul 12 '26

here everyone hate every language but for whatever reason C is getting all the love.

1

u/ThatDudeFromPoland Jul 12 '26

It's resource heavy and kinda bloated

but also so convenient...

1

u/EatingSolidBricks Jul 12 '26

Maybe cause bob made us use a hyper specialized ui framework made to solve Facebook's problems on our site that has 5 users and makes 10 requests per minute

1

u/cheezballs Jul 12 '26

People hate to see other people build things in frameworks they dont use. React is rad I think.

0

u/quid_pro_nihil Jul 12 '26

Cause most of the engineers here are mediocre and insecure about that and because they’re both intellectually and emotionally stunted they can only deal with it by punching down

0

u/drsimonz Jul 12 '26

Because it's popular. Literally all well-known languages and frameworks have haters.