4 ms·
how thoroughly it's been trashed over the years So often a phrase like this is repeated on HN. React only got released 3 years ago. How could it be "trashed o
by mattmanser 10y ago
how thoroughly it's been trashed over the years
So often a phrase like this is repeated on HN.
React only got released 3 years ago. How could it be "trashed over the years"? Over what years? It barely qualifies for the plural.
I seriously wonder sometimes if javascript programmers live in dog years.
React apps haven't been in production long, we're only just entering the maintenance phase, now is exactly when we will start seeing the problems with mingling code + UI as the code gets forgotten, opened again, modified, added to and bloats.
- hnnsj 10y agoHow many years do you need to come up with a counter-argument, or adress the issues claimed for the alternatives (by the React authors and community)? Three years might not be old for a technology, but it seems like a lot of time to actually respond and flesh out this argument. If that really was the author's interest.
- mattmanser 10y agoNot really, it took almost a decade for people to believe that splitting up PHP or ASP pages into modules and UI was easier to maintain. HTML + CSS started in the 90s but it wasn't until the late 00s until strict CSS/HTML separation was regularly practiced. It takes proper experience and years of work to understand why these splits are useful. And React was literally released 3 years, 2 months ago. We're not even taking into account adoption time or anything. How quickly we forget the past I guess. Unless we're talking in javascript years again... EDIT: I actually forget my perspective at times. I have 10+ years experience, I saw all this for real, I worked with HTML with inline style="" tags + style tags in pages + with old-school ASP of pages with loads of inline code (yes, not ASP.Net, ASP) + PHP + VBScript + IE6 + on-element javascript + all the craziness. It was a nightmare to find out what did what. Everything turned confusing very quickly. You never knew quite what did what.
- hnnsj 10y agoI don't disagree with the statement about the importance of experience. But I don't see that that point is relevant here. Here is someone who claims to have gained that experience and learned from it, and now at least gives the impression of aiming to share that knowledge. But that's not what he's doing. He's completely ignoring the fact that there have been many, many responses to the issue he's raising, and maybe he has some good refutation of those responses based on his experience and wisdom, but in that case he does not share it. It just comes off as arrogant and polemic in my opinion. So, yes, experience takes time and is perhaps sometimes the best possible way to learn. But given that you claim to have that experience and therefore some wisdom that is relevant, then it shouldn't take three years to state that. If that is your goal. And if it is literally impossible to formulate the experience and wisdom that you do have into something that can be communicated and taught, yes, then of course every future generation is bound to repeat the same mistakes. How could they not?
- mercer 10y ago> He's completely ignoring the fact that there have been many, many responses to the issue he's raising, and maybe he has some good refutation of those responses based on his experience and wisdom, but in that case he does not share it. It just comes off as arrogant and polemic in my opinion. I've started to get so pissed off every time I read about 'separation of concerns' whenever React is discussed. I had the same misgivings at first, but all it took was a short explanation of how 'concerns' is not necessarily about splitting html/js/css. I've never read a single convincing argument to counter it except perhaps YAGNI, for some small projects (which even Redux-creator wrote about). It's almost always a throwaway comment about how silly front-end is these days, or an argument based on a lack of understanding of how React works. Separating html/js/css is one of the first things many of us learned. The fact that a massive number of us are okay with React probably means something. Mostly I'm just wondering why people bother. If you've got some serious concerns, express them. If they make sense, I'll happily change my ways and discard React. But what do you gain from essentially implying that a huge section of developers are idiots without arguing why. Don't get me wrong, there's plenty of questionable stuff going on in front-end-land, but React has a level of mindshare so big that disagreeing demands a proper justification other than 'we always did it this way and this new thing looks a bit like the old thing we were told to avoid'.
- blub 10y agoThank you for this, now I finally understand front-end web development. Everything is calculated in dog years, but this fact was not documented at all! e.g: Major Angular releases every 6 months sounds bonkers, but updates every 3.5 dog years would be satisfactory to all but the most dogged fault-finders.
- Lazare 10y ago> React only got released 3 years ago. How could it be "trashed over the years"? Over what years? It barely qualifies for the plural. Yes. Three years. Plural. This has been debated for three years; that's why I said "years". Are you suggesting I should have said some other time period? > we're only just entering the maintenance phase Yes, I am maintaining some React code; some of it has been in maintenance mode for almost two years now. I also maintain some Backbone code, some jQuery spaghetti, a couple of Knockout projects, and an enormous MVC-ish PHP app; I've got a pretty good grip on the various ways people have written web apps over the last few years and what maintaining them is like. > now is exactly when we will start seeing the problems with mingling code + UI No, because there are no problems with mingling "code" and "UI" so long as all of it is presentational. What's critical is ensuring separation of concerns, which you fail to do when you mix business logic with the presentational logic. Saying "it's all javascript so it must be related!" is how you end up with unmaintainable Backbone code. (And to be fair, you can do that with React too, but that's got nothing to do with what the screenshot was decrying. And it's actually harder to screw it up with React than Backbone, in my experience, and I have experienced both.) Keep in mind: Many of the people who disagree with you have many, many years of experience and a deep understanding of software engineering principles and what does and does not lead to maintainable code. That doesn't mean React/JSX is perfect, but it does mean that you aren't going to get very far with snide comments. The obvious criticism of JSX is that separation of concerns is important, and the obvious defense is that JSX enables very effective separation of concerns. And that criticism and defense were first made, yes, years ago. Any further progress needs new arguments. Ninja edit: And yes, I too have written original ASP code, and worked on "DHTML" sites, and wrote hideous inline JS to try and make rollovers work in IE6, and tried to reverse engineer the broken JS that MS Frontpage automatically injected into the pages it creates, and a bunch more besides. I too know the urge to yell at people to get off my lawn. Just because it's new doesn't mean it's always wrong though...
- mattmanser 10y agoYou very well know that "Over the years" doesn't mean "in the last year or 2". I'm merely observing that neophiliac programmers tend to massively over-exaggerate how long things have been around. And how much experience they have in that tech.