RetroFed Forums
Your home away from modern life.
Anon died on the "clang format bad" hill
Post Reply
AuthorMessage
danhab99
programming.dev

danhab99@programming.dev
Joined: 2023-07-03
Posted:   Subject: Anon died on the "clang format bad" hill Quote

Mine is that the useState hook is an actual plague on the entire React ecosystem. Regardless of your opinions of React, if you wanna use something then use it right.

242   Original
jonathan7luke
lemmy.zip
jonathan7luke@lemmy.zip
Joined: 2025-07-04
#2 Posted:   Subject: Re: Anon died on the "clang format bad" hill Quote Reply

Care to elaborate on this? Not saying you're wrong necessarily, that's just a pretty bold claim and I'm curious why.

24
Endmaker
ani.social

Endmaker@ani.social
Joined: 2024-07-10
#3 Posted:   Subject: Re: Anon died on the "clang format bad" hill Quote Reply

useState hook is an actual plague on the entire React ecosystem

Personally, I find useEffect to be the real evil.

7
Fargeol
lemmy.world

fargeol@lemmy.world
Joined: 2024-06-10
#4 Posted:   Subject: Re: Anon died on the "clang format bad" hill Quote Reply

Getters and setters are ridiculous

97
eestileib
sh.itjust.works
eestileib@sh.itjust.works
Joined: 2023-07-01
#5 Posted:   Subject: Re: Anon died on the "clang format bad" hill Quote Reply

Getters and setters are ridiculous

YES

6
UnfortunateShort
lemmy.world
UnfortunateShort@lemmy.world
Joined: 2023-06-19
#6 Posted:   Subject: Re: Anon died on the "clang format bad" hill Quote Reply

Getters and setters are ridiculous

That's why people invented properties / auto generated getter/setter - in at least 95% of cases they are just busywork.

38
UnfortunateShort
lemmy.world
UnfortunateShort@lemmy.world
Joined: 2023-06-19
#7 Posted:   Subject: Re: Anon died on the "clang format bad" hill Quote Reply

I am still not convinced vim does much of anything for your productivity.

57
TheMightyCat
ani.social
TheMightyCat@ani.social
Joined: 2025-06-30
#8 Posted:   Subject: Re: Anon died on the "clang format bad" hill Quote Reply

No idea how much of a hot take it is but i find virtual to be a plague upon a codebase.

There are a few very rare use cases for it, but imo most cases where developers use virtual they can use templates instead to achieve the same result.

3
freagle
lemmy.ml
frisbird@lemmy.ml
Joined: 2025-11-24
#9 Posted:   Subject: Re: Anon died on the "clang format bad" hill Quote Reply

Tabs are better than spaces

66
PattyMcB
lemmy.world
PattyMcB@lemmy.world
Joined: 2025-02-12
#10 Posted:   Subject: Re: Anon died on the "clang format bad" hill Quote Reply

Tabs are better than spaces

Ooh... good one, but any good IDE and/or source control will convert tabs to spaces anyway.

8
PattyMcB
lemmy.world
PattyMcB@lemmy.world
Joined: 2025-02-12
#11 Posted:   Subject: Re: Anon died on the "clang format bad" hill Quote Reply

OP making this post

21
disorderly
lemmy.world
disorderly@lemmy.world
Joined: 2026-02-27
#12 Posted:   Subject: Re: Anon died on the "clang format bad" hill Quote Reply

No idea how much of a hot take it is but i find virtual to be a plague upon a codebase. There are a few very rare use cases for it, but imo most cases where developers use virtual they can use templates instead to achieve the same result.

I once witnessed a literal shouting match in the office over virtual.

8
freagle
lemmy.ml
frisbird@lemmy.ml
Joined: 2025-11-24
#13 Posted:   Subject: Re: Anon died on the "clang format bad" hill Quote Reply

Ooh... good one, but any good IDE and/or source control will convert tabs to spaces anyway.

Any good IDE and source control should convert spaces to tabs. QED

14
gastroglizzy
piefed.social
gastroglizzy@piefed.social
Joined: 2026-08-26
#14 Posted:   Subject: Re: Anon died on the "clang format bad" hill Quote Reply

SharePoint, Teams, OneDrive, Entra ID and M/O365 aren't "stupid". Your problems and complaints are the result of user error (although, to your credit, Microsoft in no way makes their intended use obvious or intuitive).

Don't take that as an endorsement of them or Microsoft. On a consumer level, you should actively avoid them all. I'm referring to people who have to use them at work and complain about intended behavior being "stupid" or "pointless". If you learn enough about how it works, you realize it either makes sense or is simply a limit of "the cloud".

-6
42yeah
eviltoast.org
42yeah@eviltoast.org
Joined: 2026-09-28
#15 Posted:   Subject: Re: Anon died on the "clang format bad" hill Quote Reply

I am still not convinced vim does much of anything for your productivity.

Yeah! Emacs has always been the superior editor!

10
42yeah
eviltoast.org
42yeah@eviltoast.org
Joined: 2026-09-28
#16 Posted:   Subject: Re: Anon died on the "clang format bad" hill Quote Reply

The default clang-format configuration is absolutely horrendous, but for our company we had an in house clang-format configuration that actually made the code look quite good. The problem is you still have to control code spacing/some alignments yourself.

6
gastroglizzy
piefed.social
gastroglizzy@piefed.social
Joined: 2026-08-26
#17 Posted:   Subject: Re: Anon died on the "clang format bad" hill Quote Reply

Getters and setters are ridiculous

I don't like working with them any more than you do, but they're necessary to enforce read/write-level security. Without them, there'd be no differentiation between reading a variable and writing variable from an external class, which kinda defeats the point.

From a development standpoint, they're an extra hurdle to clear. From a security standpoint, they're a necessary evil.

61
SpaceNoodle
lemmy.world
SpaceNoodle@lemmy.world
Joined: 2023-06-14
#18 Posted:   Subject: Re: Anon died on the "clang format bad" hill Quote Reply

useState hook is an actual plague on the entire React ecosystem Personally, I find useEffect to be the real evil.

Personally, I find React to be the real evil.

13
SpaceNoodle
lemmy.world
SpaceNoodle@lemmy.world
Joined: 2023-06-14
#19 Posted:   Subject: Re: Anon died on the "clang format bad" hill Quote Reply

No idea how much of a hot take it is but i find virtual to be a plague upon a codebase. There are a few very rare use cases for it, but imo most cases where developers use virtual they can use templates instead to achieve the same result.

Your comment makes zero sense in C++.

2
danhab99
programming.dev

danhab99@programming.dev
Joined: 2023-07-03
#20 Posted:   Subject: Re: Anon died on the "clang format bad" hill Quote Reply

Care to elaborate on this? Not saying you're wrong necessarily, that's just a pretty bold claim and I'm curious why.

React works by maintaining a virtual representation of the DOM. When you dispatch state changes into the virtual DOM react can determine which components depend on the change and which side useEffects run.

My gripe is that YouTube tutorials teach that the useState is the equivalent of a variable. This encourages average developers to problem solve solutions that end up using React's Virtual DOM for business logic. The YouTube tutorials have react devs planting 100s of useStates - some of which don't directly induce a visible-on-screen rerender - and then ⅒ as many useEffects to bind these states together. This means that for the Virtual DOM to come to the conclusion as to what html elements need to be changed and how it has already mutated 20-50-100s of times and the CTO tells me the react app is slow and they're mad.

If 2 states have the opportunity to mutate each other back and forth then the truth is that you have 2 perspectives of the same state. And React gives you solutions for that - proper solutions - the useReducer hook is for defining these complex state mutations and the Context API for communicating that state to any component.

And this has me quintuple pissed off because these same tutorial grade react devs install REDUX as compulsively as a pack-a-day smoker (that's #3). They use Redux to file variables in JavaScript memory (that's #4) like it's a global variable and rarely if ever use it for the complex state mutations they need instead I've seen react devs write components pull state out of redux into a component just so it can mount useEffect and process the state and dispatch the result back into redux. Let's not even bring up how the react-redux binding library literally uses the React Context API (that's #5).

28
danhab99
programming.dev

danhab99@programming.dev
Joined: 2023-07-03
#21 Posted:   Subject: Re: Anon died on the "clang format bad" hill Quote Reply

Tabs are better than spaces

Tab chars are better than spaces AND the correct tab width is 2 spaces

21
goatinspace
feddit.org

goatinspace@feddit.org
Joined: 2025-06-16
#22 Posted:   Subject: Re: Anon died on the "clang format bad" hill Quote Reply

Tabs are better than spaces

Imagine a programming language not compiling because of spaces.

12
disorderly
lemmy.world
disorderly@lemmy.world
Joined: 2026-02-27
#23 Posted:   Subject: Re: Anon died on the "clang format bad" hill Quote Reply

SharePoint, Teams, OneDrive, Entra ID and M/O365 aren't "stupid". Your problems and complaints are the result of user error (although, to your credit, Microsoft in no way makes their intended use obvious or intuitive). Don't take that as an endorsement of them or Microsoft. On a consumer level, you should actively avoid them all. I'm referring to people who have to use them at work and complain...

Idk man I've never heard someone talking shit about slack. I think teams might actually be bad software.

18
danhab99
programming.dev

danhab99@programming.dev
Joined: 2023-07-03
#24 Posted:   Subject: Re: Anon died on the "clang format bad" hill Quote Reply

useState hook is an actual plague on the entire React ecosystem Personally, I find useEffect to be the real evil.

I feel like useState and useEffect are 2 sides of the same coin

4
WappleFF27
feddit.online
WappleFF27@feddit.online
Joined: 2026-07-13
#25 Posted:   Subject: Re: Anon died on the "clang format bad" hill Quote Reply

Using LLMs are not the same as using intellisense or compilers and there are a myriad number of reasons not to use it that could fill an entire book and I will look down on any company or freelance developer that uses it.

Yes I'll fight Linus over this and yes I'll be right.

106
TheMightyCat
ani.social
TheMightyCat@ani.social
Joined: 2025-06-30
#26 Posted: · edited   Subject: Re: Anon died on the "clang format bad" hill Quote Reply

Your comment makes zero sense in C++.

Why does it make zero sense in C++?

edit: simplified example of what i mean

struct A {
    virtual void DoSomething() = 0;
};

struct B : A {
    void DoSomething() override { 
        std::println("B"); 
    }
};

struct C : A {
    void DoSomething() override { 
        std::println("C"); 
    }
};

void InvokeDoSomething(A* a) {
    a->DoSomething();
}

vs

struct B {
    void DoSomething() { 
        std::println("B"); 
    }
};

struct C {
    void DoSomething() { 
        std::println("C"); 
    }
};

template <typename T>
void InvokeDoSomething(T* t) {
    t->DoSomething();
}
3
Serinus
lemmy.world
Serinus@lemmy.world
Joined: 2023-06-14
#27 Posted:   Subject: Re: Anon died on the "clang format bad" hill Quote Reply

Using LLMs are not the same as using intellisense or compilers and there are a myriad number of reasons not to use it that could fill an entire book and I will look down on any company or freelance developer that uses it. Yes I'll fight Linus over this and yes I'll be right.

Isn't this the most common layman's opinion?

35
canaryWart
programming.dev
canaryWart@programming.dev
Joined: 2026-08-27
#28 Posted:   Subject: Re: Anon died on the "clang format bad" hill Quote Reply

I feel like useState and useEffect are 2 sides of the same coin

might you even say "two perspectives of the same object"?

2
Wojwo
feddit.online
roger.wood@feddit.online
Joined: 2026-03-03
#29 Posted:   Subject: Re: Anon died on the "clang format bad" hill Quote Reply

I am still not convinced vim does much of anything for your productivity.

Shun the non-believer! Shun!

23
JakenVeina
midwest.social
JakenVeina@midwest.social
Joined: 2025-06-12
#30 Posted:   Subject: Re: Anon died on the "clang format bad" hill Quote Reply

Linters are terrible.

Style/formatting linters, anyway, particularly when it comes to whitespace. The goal of formatting code with whitespace is to optimize for human readability. A linter based on a set of rules is not human and thus cannot judge human readability. There is really no formatting rule you can write that will not someday have exceptions on a large-enough codebase.

Contributors should be responsible for submitting readable code, and ensuring that is what reviews are for.

17
AnAmericanPotato
programming.dev
AnAmericanPotato@programming.dev
Joined: 2024-05-14
#31 Posted:   Subject: Re: Anon died on the "clang format bad" hill Quote Reply

Linters are terrible. Style/formatting linters, anyway, particularly when it comes to whitespace. The goal of formatting code with whitespace is to optimize for human readability. A linter based on a set of rules is not human and thus cannot judge human readability. There is really no formatting rule you can write that will not someday have exceptions on a large-enough codebase. Contributors sh...

I'll go a step further: formatting for human-readability is the job of the reader, not the writer. Hardcoded line breaks, spacing, etc. are never going to be a good solution because the idea is wrong from the start. This is a display issue, not a logic issue. It needs to be solved at the display end.

Use a syntax-aware editor that formats code the way you like it. Save it any goddamn way that is syntactically valid. Anyone else who opens it will see it any way the like in their own syntax-aware editor.

"But my editor doesn't do logical formatting!" Yes, because the entire world has been insane for several decades, and shitty editors are normalized. If the world had realized this 30 years ago, there wouldn't be a code editor in existence today that didn't do this properly. Demand better and better will be normalized.

18
TootSweet
lemmy.world
TootSweet@lemmy.world
Joined: 2023-08-04
#32 Posted:   Subject: Re: Anon died on the "clang format bad" hill Quote Reply

Getters and setters are ridiculous

Oh my god. I'm not the only one who thinks this!

3
save_the_humans
leminal.space
save_the_humans@leminal.space
Joined: 2024-07-12
#33 Posted:   Subject: Re: Anon died on the "clang format bad" hill Quote Reply

I am still not convinced vim does much of anything for your productivity.

Do other editors let you save multiple sessions? Where you can open up any large project exactly where you left off, every tab, split, window, layout, and file already in your buffer for all of your projects or just the last one you were working on?

If not, this feature has saved me a lot of set up time. It's been a long time since I used anything else.

7
TootSweet
lemmy.world
TootSweet@lemmy.world
Joined: 2023-08-04
#34 Posted:   Subject: Re: Anon died on the "clang format bad" hill Quote Reply

If it doesn't have to change based on user input, it doesn't belong in the database.

4
Ephera
lemmy.ml
Ephera@lemmy.ml
Joined: 2020-05-31
#35 Posted:   Subject: Re: Anon died on the "clang format bad" hill Quote Reply

Imagine a programming language not compiling because of spaces.

Not quite a programming language, but Makefiles have to be indented with tabs...

5
jtrek
startrek.website
jtrek@startrek.website
Joined: 2026-02-22
#36 Posted:   Subject: Re: Anon died on the "clang format bad" hill Quote Reply

Do other editors let you save multiple sessions? Where you can open up any large project exactly where you left off, every tab, split, window, layout, and file already in your buffer for all of your projects or just the last one you were working on? If not, this feature has saved me a lot of set up time. It's been a long time since I used anything else.

I feel like vscode and pycharm both do that out of the box?

Before my big monitor broke I had pycharm split into four panes for the backend project and 3 for the frontend. It was nice.

24
SpaceNoodle
lemmy.world
SpaceNoodle@lemmy.world
Joined: 2023-06-14
#37 Posted:   Subject: Re: Anon died on the "clang format bad" hill Quote Reply

Why does it make zero sense in C++? edit: simplified example of what i mean struct A { virtual void DoSomething() = 0; }; struct B : A { void DoSomething() override { std::println("B"); } }; struct C : A { void DoSomething() override { std::println("C"); } }; void InvokeDoSomething(A* a) { a-&gt;DoSomething(); } vs struct B { void DoSomething() { std::println("B"); } }; struct C { void DoSometh...

B and C can't share any other attributes without duplication of code. There's also no strict enforcement of inheritance.

1
jtrek
startrek.website
jtrek@startrek.website
Joined: 2026-02-22
#38 Posted:   Subject: Re: Anon died on the "clang format bad" hill Quote Reply

React works by maintaining a virtual representation of the DOM. When you dispatch state changes into the virtual DOM react can determine which components depend on the change and which side useEffects run. My gripe is that YouTube tutorials teach that the useState is the equivalent of a variable. This encourages average developers to problem solve solutions that end up using React's Virtual DOM...

As a tutorial grade react developer (please return me to the backend where I am mediocre instead of bad), having more senior developers take the time to explain why my code was bad was really helpful.

Also I think I just kind of hate JavaScript. It always feels like everything is more complicated and booby trapped than it should be.

13
jtrek
startrek.website
jtrek@startrek.website
Joined: 2026-02-22
#39 Posted:   Subject: Re: Anon died on the "clang format bad" hill Quote Reply

Idk man I've never heard someone talking shit about slack. I think teams might actually be bad software.

Teams is a huge piece of shit.

Why is every meeting its own chat? With no threads! Why are the team channels like fucking forums instead of chats? Why do I get notified between 0 and 4 times for the same message?

I hate teams. I have never had a memorable problem with slack. Maybe some things can be fixed with better use behavior, but good software guides users away from bad patterns.

14
WappleFF27
feddit.online
WappleFF27@feddit.online
Joined: 2026-07-13
#40 Posted: · edited   Subject: Re: Anon died on the "clang format bad" hill Quote Reply

Isn't this the most common layman's opinion?

It's the most common internet opinion, but IRL people use it without a second thought, and will get annoyed if you call them out on it.

EDIT: I don't think this post was talking about laymen to begin with.

18
mycodesucks
lemmy.world

mycodesucks@lemmy.world
Joined: 2024-03-08
#41 Posted:   Subject: Re: Anon died on the "clang format bad" hill Quote Reply

"Wayland is an ideological manifesto disguised as a modernization and it can go right to hell."

6
Cratermaker
discuss.tchncs.de
Cratermaker@discuss.tchncs.de
Joined: 2023-07-10
#42 Posted:   Subject: Re: Anon died on the "clang format bad" hill Quote Reply

React works by maintaining a virtual representation of the DOM. When you dispatch state changes into the virtual DOM react can determine which components depend on the change and which side useEffects run. My gripe is that YouTube tutorials teach that the useState is the equivalent of a variable. This encourages average developers to problem solve solutions that end up using React's Virtual DOM...

As someone who's worked with react for years, I'm convinced that react itself is the problem and there's no way to educate new people on the proper way to use it without essentially teaching them everything the abstraction is intended to do for them. Why should newbs have to care about mutations and state dependencies when the api is apparently designed to help them forget about those things?

24
reader
lemmy.zip
reader@lemmy.zip
Joined: 2026-02-19
#43 Posted:   Subject: Re: Anon died on the "clang format bad" hill Quote Reply

AI bad

25
Ephera
lemmy.ml
Ephera@lemmy.ml
Joined: 2020-05-31
#44 Posted: · edited   Subject: Re: Anon died on the "clang format bad" hill Quote Reply

I don't like working with them any more than you do, but they're necessary to enforce read/write-level security. Without them, there'd be no differentiation between reading a variable and writing variable from an external class, which kinda defeats the point. From a development standpoint, they're an extra hurdle to clear. From a security standpoint, they're a necessary evil.

Moreso correctness, not security. In the end, your user is shooting themselves in their foot, if they mutate a variable that they shouldn't, and by making the variable private and only offering a getter, we document that.

Having said that, there's also big differences between languages and paradigms, though.
In object-oriented / garbage-collected languages, you often pass around references to an object into so many places that you need to code defensively versus your own codebase. That's why getters/setters were taught religiously during the height of OOP.

In other paradigms, you often just have one place that uses an object and then you can ...simply not shoot yourself in the foot there. When you control both the definition and the access, you don't need to protect yourself from yourself. In particular, you would probably think twice before mutating an object anyways.

22
yaroto98
lemmy.world
yaroto98@lemmy.world
Joined: 2025-08-10
#45 Posted:   Subject: Re: Anon died on the "clang format bad" hill Quote Reply

Idk man I've never heard someone talking shit about slack. I think teams might actually be bad software.

Here you go: Slack is stupidly expensive for what it is.

There, I did it.

9
pipe01
programming.dev
pipe01@programming.dev
Joined: 2023-12-20
#46 Posted:   Subject: Re: Anon died on the "clang format bad" hill Quote Reply

Vue > React

19
3abas
lemmy.world
3abas@lemmy.world
Joined: 2025-07-02
#47 Posted:   Subject: Re: Anon died on the "clang format bad" hill Quote Reply

It's the most common internet opinion, but IRL people use it without a second thought, and will get annoyed if you call them out on it. EDIT: I don't think this post was talking about laymen to begin with.

There's a reason.

3
yaroto98
lemmy.world
yaroto98@lemmy.world
Joined: 2025-08-10
#48 Posted:   Subject: Re: Anon died on the "clang format bad" hill Quote Reply

Perl is a fuckin' awesome programming language, and it's too bad other languages didn't learn from it.

I will forever miss you $_

4
db2
lemmy.world
db2@lemmy.world
Joined: 2023-07-29
#49 Posted:   Subject: Re: Anon died on the "clang format bad" hill Quote Reply

Isn't this the most common layman's opinion?

It's also the opinion of people who don't make a habit of drinking the special koolaid.

40
xxce2AAb
feddit.dk

xxce2AAb@feddit.dk
Joined: 2025-07-11
#50 Posted:   Subject: Re: Anon died on the "clang format bad" hill Quote Reply

I am still not convinced vim does much of anything for your productivity.

How dare you? I can absolutely assure you that it completely ruins mine.

44
xxce2AAb
feddit.dk

xxce2AAb@feddit.dk
Joined: 2025-07-11
#51 Posted:   Subject: Re: Anon died on the "clang format bad" hill Quote Reply

OP making this post

"Now where the hell did I put my two gallon jug of gasoline and the bag of magnesium powder?"

6
Post Reply Page 1   Next