6 ms·
I agree with a lot of these points, but differ slightly in two regards: 1. In my experience React DOES lure people into the "pit of success" in at least one im
by jkaplan 5y ago
I agree with a lot of these points, but differ slightly in two regards:
1. In my experience React DOES lure people into the "pit of success" in at least one important aspect -- modular and re-usable front-end code. React is certainly not the only way to get this, but it does help force you into some good patterns.
2. The "sweet spot" for React is pretty large. If your site is truly static (e.g. a blog, a product landing page), then yes it's overkill... but so is something like Rails/Django! Just use a static site (+ generator, if needed.) If you're building an "app"/you're interacting with a database, then you're almost certainly going to want end up wanting interactivity. And it snowballs -- a little state change here, an ajax call there, and all of a sudden your front-end is ballooning without structure or modularity.
- waingake 5y agoYes this. The article mentions the following as poor candidates for client side rendering. I can agree with blog, but suggesting a tool like React is a poor choice for a shopping cart is naive. > Those are things like blogs, shopping-cart-websites, mostly-CRUD-and-forms-websites.
- kristopolous 5y agoHow? It's the most painful, difficult, slow, frustrating, confusing programming experience I've ever had in my 25 years. It's made me want to leave the industry completely and I honestly think I will after this project. It has single handedly slaughtered and destroyed my quarter century love affair with programming. It's a wildly inflexible architecture that aggressively forces their users to conform to an orthodoxy that's fluid and always changing. So you get a pile of inherently unmaintainable, unavoidably messy code that is deprecated the day you write it. It's sheer insanity. Trying to get horizontal communication between components. I'm slapped and told "no don't do it that way" and then I'm given half a dozen extraordinarily convoluted ways to do it instead. They say "you aren't thinking in react". There is no thinking in react because there's a bunch of different ways to go about it and each one fights against the limitations voluntarily imposed by the framework. Each one is a hack to get around the needless artificial barriers that exist there for no damn reason other than to make life harder. Pass a parameter with an onclick handler. Again, I get slapped around as no that's not how it's done. Why isn't it easier? Why is the Framework requiring me to do more work, to set up an indirection? Why am I working more with it then without it? Why does it give me less, do less, and require more from me? It's literally the most complicated convoluted and elaborately complex way to do what should be simple and direct things. Every task gets a layer or 4 of complexity slapped on top of it. It's like they replaced Galileo's chart with epicycles because they have to appease some invisible theory gods. It's theory that has literally zero hard evidence as to why doing something directly is bad but doing the same thing with a bunch of weird generators callbacks and hooks is good. In my 5 years of working with it, it's always without failure been the worst catastrophic mistake on every project, blowing through budgets and deadlines like nothing else. Productivity is slaughtered. Otherwise 10x engineers become 1/10x. It's remarkable how much it stagnates and destroys everything. This is pure Jim Jones cult magic stuff. It literally only exists to make people feel special and elite while doing what should be simple stuff. I'm quitting engineering after this thing ships. I simply do not have the words for how much I despise react. It's the most despicable creation I've ever laid eyes on. I honestly want to have absolutely nothing to do with programming now. After React it makes me physically nauseous.
- 1ark 5y agoGamedev (w/o big engine) or terminal apps in your favorite language! Lots of freedom to be had in those environments.
- onion2k 5y agoI find it slightly incredible that someone can describe React as "the most painful, difficult, slow, frustrating, confusing programming experience I've ever had in my 25 years", have a whole bunch of complaints about how bad it is, and how it makes no sense, and how it reduces their productivity by a factor of 100 ... and then also use it for 5 years.
- kristopolous 5y agoSorry, did you want to get on a call? My email is in my bio I can go over all of it with you. Really. Maybe 30 minutes, I'm pretty fast
- wonnage 5y agoI'm sorry you have this experience. I think the most confusing part of React for me was that even though JSX looks like HTML, you're actually not interacting with HTML at all. At its most basic you're just giving React a `[{ type: 'div' }]` and it will create and manage an actual <div /> for you.
- toastal 5y agoBut you also never had to use JSX and the old docs showed without.
- kristopolous 5y agoit's not that. it's the rationalization through imagined differences. A forceful separation and grouping of equivalent things into difference categories and a dictation of their interaction by segregation in the name of more "organized code". Things do adhere to a structure under its guise, it's an accurate statement. But it's an arbitrary one that's of dubious and most likely negative value. The reality of maintenance, deadlines, budgets and number of engineers working on the projects seem to suggest the impact is overall negative. There's two reasons this stuff sticks around: 1. Counterfactual testing can't ever be done to test without ... You can't rerun the project with the same initial conditions and do some kind of clean demonstration of it being a hindrance. 2. Even if #1 was achievable, there's other reasons people do not want to admit to it. And this is especially applicable to an authoritarian framework such as react that enforces doctrine by explicitly disallowing heretical code Political scientist Adam Przeworski claims authoritarianism can reach a stable configuration "mainly on lies, fear and economic prosperity": * There needs to be an economic value to the doctrine perceived in the mind of the prospect. * There has to be a fear of losing out or falling behind by not adhering to the orthodoxy * The core claims have to be fundamentally, exhaustively and obviously fraudulent. React checks #1 and #2 and for #3 they claim simplicity, painlessness, ease of use, all of these are profoundly fraudulent claims as anyone who has extensively worked with it knows. This is why it's become a stable authoritarian system.
- kristopolous 5y agooh sorry, one other thing, jkaplan, are you THE Jerry Kaplan of Go? The writer of the fantastic 1994 book "Startup" that I have on my shelf?
- jkaplan 5y agoNope (if only!)
- kristopolous 5y agoThe book is pretty great. I'll put it with "The soul of a new machine", Ferguson's "Computer Wars" and Lapsley's "Exploding the phone" as top narrative tech books.