The 2024 Wheel Reinvention Jam just concluded. See the results.

Justified rant, a declamation: Here is to the react conference on hooks

I just posted the below as a comment on React conference youtube video, . I am by no means a pro programmer, but it doesn't take much to smell that these web frameworks are hurting more than they are helping. Perhaps like the comment on the youtube link above to bubble it up top if you agree. Please read through:

"Hooks are a new addition in React 16.8. They let you use state and other React features without writing a class.", says the hooks intro page on the react website. 16.8 marks react beyond repair for me. This is an hour of good marketing of an unhealthy product. Today I have boiled through my frustration limit. I am done with the web.

Every proposers of new web frameworks should work on something complicated as game development for a good deal of time; should be fluent in C, assembly and lisp; should publish their resume of what they have worked on and what they have not; should publish performance implication of their framework in detail on every platform; should make it beta for considerable period time and develop dozens of application of varying use cases and complexity; should disclose all the downsides, which include quality of life impacts, how learning this technology translates to the individual being a better engineer, all the work arounds one has to do, development speed gained, how it integrates with rest of ecosystem, how its better than the thing it is proposing to replace; all the above information for every web frameworks should be listed in one central website, in a standardize way; we certainly do not want a all-out conference from a framework maintainer: all that time, energy and resource could have been put to good use elsewhere, and the information above could have been succinctly posted in a markdown; this framework evangelism, the missionary on a convert/conquest attitude, this stinking show off should be confessed and put aside before sitting down to make something that would truly be of service to the mass.

The React team at this point should honest and responsible, and have a following disclaimer in the website, "While working on React for number of years, we have come to understand the usefulness of Virtual DOM abstraction, small reusable components and few other ideas but at this point, React is a soup. If you are an engineer and take your craft seriously, do take your time to explore these concepts but there is a better use of your time than writing applications in React. If you want to have an application running quickly however, follow the set of recipes below, but note that you have been warned. New developers particularly, you have been warned."

Please share.

- Concerned citizen

Edited by Abhaya Uprety on Reason: Initial post
There are many ads posing as fake technology articles claiming that their web framework (or other product) is super good. Some are titled "debunking the myths" with language oozing of guilty denial over unfixable issues that come from the flawed core design.

The goal is to make people look stupid if they tell the truth so that researchers cannot mention their products in any negative context. It's a witch hunt against common sense, just like when the oil industry still had money to deny global warming.

If you do some basic research of who actually wrote a fake article, it's usually:
* A high ranking boss at the company who wants his stocks to soar temporarily before he sells.
* Someone in the sales department who later goes to the developers to feel guilty and ask if they can make it true in the next version.
* An influencer hoping to get free stuff for remaining loyal to the brand. Usually found when a salesperson makes a search for their brand on YouTube.
* A young guy stuck in tech support finding it difficult to get the dream job and therefore collecting all the badges and certifications like Pokémon cards. If someone claims to be a Microsoft MVP, I take that as another word for salesperson for a system that was designed before the internet and can still be infected by MS-DOS Trojans running in emulators.


Fake articles are often hosted on a separate website with a lot of emphasis of being "independent" from the company making the products. Yet if you link to scientific articles debunking their claims, the company's boss will track you down using the e-mail that was supposed to be hidden from regular members on the site.

The ones making ad revenue from hype usually use advertisement as the source of their claims don't even allow commenting on the articles, in order to suppress and meaningful discussion on potential flaws to fix. Usually not even caring about who makes their advertisement so that you get notified about a cross scripting attack as soon as you enter.
I posted a link in the How I Program C thread that had a video relating to this.

Hadi Hariri: The Silver Bullet Syndrome
https://www.youtube.com/watch?v=3wyd6J3yjcs

It is an industry that may have been created to do somethng useful a long time ago, but now it only exists to perpetuate itself. Industries like this are everywhere dragging civilization down. I think of them like weeds spreading out of control in a garden.

Re: Quitting the web. Just unistall your 20 million line browser and use a simple browser without java script. Most of the sites that will break when you do that are time vampires, so you are better off not visiting them. 95% of the sites that are useful to C programmers are basic and simple and will work. The web became pleasant to use after I committed to doing that.

Edited by Aphetres on
While I too get frustrated with the current state of web frameworks and the amazing rate at which they change, I disagree with pretty much everything you posted here.

First of all, as someone who uses React day in and day out for work: the Hooks API is not that bad, and in fact is the cause of basically zero significant problems in React today. Yes it's a new API, but the old class API is still there, and the team is careful to maintain it.

But the technical stuff is not really my main issue with your speech here. I take serious issue with this attitude toward the creators of these frameworks.

They "should be fluent in C, assembly and lisp". Why? Why should the authors of tools for the web be required to be proficient in a bunch of unrelated languages and technologies?

They "should publish their resume of what they have worked on and what they have not". How on earth do you write a resume of stuff you have not worked on? I haven't worked in aerospace; does that mean I'm not qualified to write a web framework?

They "should disclose all the downsides, which include quality of life impacts". Everyone thinks that their own tools are great, and solve more problems than they cause. But I certainly don't believe that the authors of these tools are willfully misleading people on the downsides of their frameworks; what would even be the point?

I would love if tool and library authors had a broader base of experience to draw from. I would love if new developers started with vanilla JS so they would have a better understanding of what the frameworks actually do. I would love if it was easier to find information on the downsides of frameworks, and I would love if most developers made better decisions about what tools to use.

But I will certainly not attack the people behind these frameworks. Say all you want about the tech itself, but the people creating these tools pour a lot of time and effort into them, and are doing their best to make great software. Even if you think they are absolute idiots, what good does any of this do to solve the problem? What do you gain by attacking the people behind the tech instead of the tech itself?

I don't want the Handmade ethos to be about gatekeeping, complaining that our tech is built by idiots and everything sucks. I want to make the tech better. I want to build better software, and show people how to build better software. I want people to be excited about the possibilities of making software simpler and better and more efficient. But posts like this just turn people away.
bvisness

They "should be fluent in C, assembly and lisp". Why? Why should the authors of tools for the web be required to be proficient in a bunch of unrelated languages and technologies?


I don't know about lisp. It thought it was weird when I tried it. At least learning C/Assembler would teach these people how computers actually work, so they know why their software runs so slow. But do they care?

bvisness

But I will certainly not attack the people behind these frameworks. Say all you want about the tech itself, but the people creating these tools pour a lot of time and effort into them, and are doing their best to make great software. Even if you think they are absolute idiots, what good does any of this do to solve the problem? What do you gain by attacking the people behind the tech instead of the tech itself?


Because they keep making more of it and won't ever stop.

The idea of running all this software in a browser was a really bad idea from the start. IThey are just adding more bad to the pile of awful. The only way out of this is to go back to square one. Think of a better way to do web tech on your machine not mine. If you don't do it, someone else will, and you will be out of a job.

When I called some industries weeds. The word I was looking for is meta-organism. You can't see this organism but it is made up of large numbers of people who's interest is to keep their industry going, even if it is utterly useless. When you criticise their industry, they will come out to defend it, they will vote to get government support for it, because their living absolutely depends on it.

Casey posted a video by this guy who demoed how bad some javascript websites are. This guy was all "lets make war on JS!" Well in the next video he was saying JS isn't all that bad.

Why did he change like that? Because someone must have pointed out the videos he appears in on Youtube and Perrtube run on JS and they are just as slow and awful as the JS heavy sites he criticizes. So now he is defending JS because he realized his living depends on it.

bvisness

I don't want the Handmade ethos to be about gatekeeping, complaining that our tech is built by idiots and everything sucks. I want to make the tech better. I want to build better software, and show people how to build better software. I want people to be excited about the possibilities of making software simpler and better and more efficient. But posts like this just turn people away.


Where have you been the last 5 years? This is what Casey does. Jon does it too. They think web tech is awful and aren't shy about saying so. Jon said recenly web tech people are paid 5 times more than they are worth, and in 10 years most will be unemployed, because the problems they are paid to solve will be automated by then.

Just me, but I wouldn't bother defending web tech. If I was a web tech I'd be looking to start my own company to replace it. I saw a competitor to github that uses no javascript and advertises it as such. He said he is already profitble, despite not charging for it yet. Apparently the donations are pouring in. His donors want sites without JS and are willing to pay, even if they don't have to.
Aphetres

The idea of running all this software in a browser was a really bad idea from the start.


It's a hack for sure. But it turns out users don't actually care whether something is a hack. There's a reason web software has taken off so much, and it's because it's really tangibly better for users in a lot of ways. Users no longer have to worry about installing or updating things, they can work collaboratively with others, they can access their work quickly from literally any device. This is good, and if you propose just throwing that all away you are seriously missing the point on many levels.

Aphetres

Where have you been the last 5 years? This is what Casey does. Jon does it too. They think web tech is awful and aren't shy about saying so. Jon said recenly web tech people are paid 5 times more than they are worth, and in 10 years most will be unemployed, because the problems they are paid to solve will be automated by then.


And what good has come of Casey and Jon's rants?

If you want to see change, you need to propose and work toward real alternatives. "Just burn it all down" is not an alternative, it's just aimless frustration. If you burn it all down, what are you going to put in its place?
On the contrary, the primary driving forces behind the popularity of browser-based software have nothing at all to do with the end user's experience:
  • sites that start out as plain hypertext gradually accrete features as they gain popularity, until they eventually turn into applications, which are now stuck running in the browser due to their origins as simple websites
  • constant marketing and hype for the web by large tech companies, mostly based on features promises that didn't pan out
  • rapid expansion of web dev industry as a result of that hype leads to a sudden surplus of developers who only have experience with JS and web tech yet end up becoming backend devs and app devs, and bring web tech with them to those fields because it's all they know
  • the primary business model of the web (advertising revenue) incentivises websites to maximize user traffic and "engagement" above all else, leading to people spending more time on the web even when they're not getting anything out of it
  • due to all of the above, large tech companies spend all their effort catering to the lowest common denominator (web devs), at the direct cost of allowing native APIs and tools to languish and rot, becoming buggier and harder to use every year that they aren't properly maintained, thereby pushing even more programmers onto the web

etc. Any thoughts of user experience come second to those things, if they're even a consideration at all. This is especially apparent when considering that the purported benefits you mentioned either haven't entirely panned out, and/or aren't specific to the web, and/or have proportionate downsides:
  • no install/updates - a minor benefit at best (unless you're a kid trying to play games on school computers) which hasn't entirely panned out (I still have to wait for steam, discord, etc. to update even though they're built on web tech), and which comes with the obvious downside that any website I use can yoink any feature out from under you or otherwise make their site worse for you at any time and there's nothing you can do about it
  • working collaboratively - nothing about this is specific to web apps or any of the technologies they use above the TCP layer, see: any multiplayer video game
  • cloud storage - I *guess* you can call this web tech, or at least a lot of people do call it that whether it's correct or not, but syncing files over the internet certainly doesn't require a web browser or any of its components
  • accessing software from "literally any device" - certainly hasn't ever been my experience, and isn't guaranteed by web tech, unless you just mean the fact that there are web browsers on both PCs and smartphones? In which case I have to ask, have you actually tried using web apps from a phone's browser? They are almost all borderline unusable, and many are *literally* unusable. There's a reason every web application with significant reach ships a native app for phones and tablets, even if they are browser-only on PCs.

I certainly agree that we should be focused on solving problems and building alternatives to failed technologies moreso than just complaining about them fruitlessly, and I don't think that OP's method of pestering random youtube comments sections is worth anyone's time, but I also don't think we can afford to downplay how severe the problems really are.
bvisness
Aphetres

The idea of running all this software in a browser was a really bad idea from the start.


It's a hack for sure. But it turns out users don't actually care whether something is a hack. There's a reason web software has taken off so much, and it's because it's really tangibly better for users in a lot of ways. Users no longer have to worry about installing or updating things, they can work collaboratively with others, they can access their work quickly from literally any device. This is good, and if you propose just throwing that all away you are seriously missing the point on many levels.

Aphetres

Where have you been the last 5 years? This is what Casey does. Jon does it too. They think web tech is awful and aren't shy about saying so. Jon said recenly web tech people are paid 5 times more than they are worth, and in 10 years most will be unemployed, because the problems they are paid to solve will be automated by then.


And what good has come of Casey and Jon's rants?

If you want to see change, you need to propose and work toward real alternatives. "Just burn it all down" is not an alternative, it's just aimless frustration. If you burn it all down, what are you going to put in its place?


"It's a hack for sure. But it turns out users don't actually care whether something is a hack."

This user cares. Is giving me the option to not use lousy software, that runs twice as slow as the software I have already installed on my system really so difficult? I guess it is.

What has happened is the web died, and a few Silicon Valley corps replaced it with their curated apps.

The Web Is Dead. Long Live the Internet
https://www.wired.com/2010/08/ff-webrip/


You wake up and check your email on your bedside iPad — that's one app. During breakfast you browse Facebook, Twitter, and The New York Times — three more apps. On the way to the office, you listen to a podcast on your smartphone. Another app. At work, you scroll through RSS feeds in a reader and have Skype and IM conversations. More apps. At the end of the day, you come home, make dinner while listening to Pandora, play some games on Xbox Live, and watch a movie on Netflix's streaming service.

You've spent the day on the Internet — but not on the Web. And you are not alone.



Now the web is just Twitter, Facebook, Youtube, Amazon, Reddit, etc, and the 20 million line browsers or apps that are required to access them.

Nothings also complained about it back in the day:
https://www.nothings.org/writing/websucks.html

The Gopher people say, its because users want a structured experience, which means they were right about how the web should have been. The Wired article blames mobile phones and economics. Then there's the possibilty that it is just users having a bad experience, using terrible web browsers so they went elsewhere. Perhaps it was a combo that did it in.


Casey and Jon haven't just criticized web tech. C++ gets criticism. Rust gets it too. Scripting languages get it. Memory managed languages get criticism. Linux gets criticism for their use of ancient scripting, and their package system, the rickety software that is produced by using lots of libraries. Git gets it too.

What good has come of it? 4Coder and RemedyDB were created, so people don't have to use Microsoft's terrible software any more. New langages are being written to replace C++ here and elsewhere. So we won't be forced to choose Rust or a memory managed languages in the future. That github competitor I mentioned is another improvement. People are making their own OS. New people are learning how computers really work, when they aren't being taught that in school. New game engine programmers are being trained. There's a new game engine that looks interesting, because while reading his blog I realized he listens to Casey.

https://ourmachinery.com/post/

Jon also critcizes the university system, saying they keep people in there too long. He also criticizes the Californian government for not doing anything to solve problems. Then the richest man in the world just announced he is building a tech city in Texas. He is saying you don't need an expensive degree to work for them, as they will train you. I thought that was interesting.

Edited by Aphetres on