Hacker News new | ask | show | jobs
by sgarland 539 days ago
> Everything is bad because everyone is lazy and cargo cults.

It’s an interesting series of events that led to this (personal theory). Brilliant people who deeply understood fundamentals built abstractions because they were lazy, in a good way. Some people adopted those abstractions without fully comprehending what was being hidden, and some of those people built additional abstractions. Eventually, you wind up with people building solutions to problems which wouldn’t exist if, generations above, the original problem had been better understood.

1 comments

The road is paved with good intentions, it's not they were lazy but they had intent to distill wisdom to save time. Then yes, the abstractions were adopted without fully comprehended what was hidden, and those people then naively built additional layers of abstractions.

So yes, if the original problem had been better understood, then you wouldn't have a generation of React programmers doing retarded things.

Having watched many junior developers tackle different problems with various frameworks, I have to say React is conducive to brainrot by default. Only after going through a fundamentals-first approach do you not end up with one kind of spaghetti, but you end up with another kind because it's fundamentally engineered towards producing spaghetti code unless you constantly fight the inertia of spaghettification.

It's like teaching kids about `GOTO`... That is, IMO, the essence of React.

> it's not they were lazy but they had intent to distill wisdom to save time.

Yes – I was referring to lazy in the sense of the apocryphal quote from Bill Gates:

“I choose a lazy person to do a hard job, because a lazy person will find an easy way to do it.”

> Only after going through a fundamentals-first approach do you not end up with one kind of spaghetti, but you end up with another kind because it's fundamentally engineered towards producing spaghetti code unless you constantly fight the inertia of spaghettification.

I’ve been guilty of this. Thinking that a given abstraction is unnecessary and overly-complicated, building my own minimal abstraction for my use case, and then slowly creating spaghetti as I account for more and more edge cases.