Every atheist on here, but more particularly, the elitist tech communities that think science is all there is to reality, when life experience abundantly proves otherwise from every direction.
My friend, questioning others' beliefs while asserting that you have the true answers is childish at best. You need to go on the revival circuit, I hear there's a lot of money to be made there.
> questioning others' beliefs while asserting that you have the true answers is childish at best.
Then it's childish for you to tell a flat earther they're mistaken. The objective, historical facts are on the side of Catholicism, whether you want to admit it to yourself or not.
> Respectfully, if AI is the golden calf, then so were the printing press
Stupid analogy after stupid analogy. The printing press merely let us mass-transmit ideas on paper. The whole point of AI is to be able to imitate the human mind, through a neutral network created via software and data training.
I have no problem sitting by while fools use AI to create inherently doomed works of art and prose.
> The whole point of AI is to be able to imitate the human mind
The point of AI as we know it (LLMs) is to mimic human text with the greatest accuracy. Simulating the entire mind is besides the point, wasteful and not how LLMs (or any AI for that matter) works.
If you want your biblical analogy to stick you should make sure you're up-to-snuff on the technical side first.
The whole way point is LLMs. The goal is AGI and beyond. It's not a short term goal. LLMs are just the latest fad and the best we can do at the moment.
Just wrong, perception is the real issue here. The golden calf was not dangerous because it was a statue; it was dangerous because people assigned it reverence beyond its function. That fate is not unique to AI—people have deified power, money, even their own self-importance. AI is simply the newest mirror reflecting our collective narcissism.
> it was dangerous because people assigned it reverence beyond its function
People assigned it capability beyond its ability. That's the entire problem with AI. It is not intelligence. It merely mimicks it. What atheists call human intelligence is actually an ability we have because we're God's images. Making something in our own image and calling it a god is deeply biblical and culminates in Revelation 13:15.
Revelation 13:15 is about deception, not innovation. The passage is about a false prophet breathing life into an image to deceive the world. AI isn't deceiving anyone—it's an advanced autocomplete machine. The only ones fooled are those who choose to believe it’s something more than that.
If AI is the golden calf, then so is every other human-made creation that people have ever revered. The argument doesn't hold because it isn't about AI—it's about human nature.
Now I see why this proposal is doomed. The only people who could vote it up to the people who could understand its merits, are people with very low software competence.
There were two groups I was hoping vanillajsx would resonate with. The first is people who still buy into the React dream but are beginning to be disillusioned with its inability to deliver on its promises, and the second is people who already are fully disillusioned.
Specifically, I'm hoping to show that vanilla architectures can be not only performant, but easy to maintain with well designed code that uses stable and known patterns. Using JSX just so happens to clean up the code nicely and make the relationship between React and vanilla very visible, but that's really all it did here.
Although to be fair, the hack required to get JSX-as-DOM to work is really unfortunately and I'm not very happy with it, and I would prefer JSX to just render as an object tree that anyone can render however they want. But when I tried that for a few months or a year, it was not nearly as performant as rendering them as strings as soon as they're evaluated, which can then be cached via standard module caching. At least, that's how I got immaculatalibrary to entirely render all HTML files in ~700ms initially and ~70ms on most file changes.
I'll try to do some experimentation next week to see if I can get more performance back out of having <foo bar={qux}>child</foo> to render as {foo:{bar:qux, children:[child]}} again though, because that would absolutely be the ideal, and would unfork JSX in the same way Typed Annotations proposes to unfork JavaScript types.
Thank you for posting this! VanillaJSX is refreshingly different, and we desperately need new ideas in the front-end space to reduce the complexity and get closer to the browser. I also feel like the discussion in this thread is very rich and gives people on both sides of the fence a lot of stuff to think about.
There were two groups I was hoping vanillajsx would resonate with. The first is people who still buy into the React dream but are beginning to be disillusioned with its inability to deliver on its promises, and the second is people who already are fully disillusioned.
I don't know if you've seen it, but Alex Russell just did a blog series where he directly talks about this disillusion and proposes a move away from React for most web apps: https://infrequently.org/series/reckoning/
I am not as anti-React as that myself, but I do agree it is hard to scale up and have it perform well, not at all like the promise. As always, there are no silver bullets and you have to pick a stack that you can understand.
IMO that blog series misses the point. Knowledgeable motivated developers can make great experiences with any technology, and conversely there are bad experiences built with every technology. That series blames the people involved for not being better, but that’s just blaming plane crashes on human error and calling it a day.
- If the UK GSD is anything like USDS, using them for comparison is like comparing a pro sports team to your local high school’s. They are an outlier specifically created to be better than the average, so tautologically their stuff will be better. Code For America is a similarly odd comparison.
- The US has a massive gap in pay and prestige between public and private sector developer jobs. It’s not that this means “worse” people work at public jobs, but in general they start less experienced and can wind up in a non-learning cycle as they don’t get mentorship/guidance from more expert folks, and if they do get good independently they leave. It’s really hard to convince people to take a pay cut to work these jobs, and many of the few willing to do so instead go to CFA, USDS, etc because they want prestige and avoid all the other inefficiencies in public jobs.
I could go on about the structural problems leading to this, but suffice it to say that blaming React and other JS frameworks is a miss. For some services it’s lucky they are online at all, and a slow web page is still orders of magnitude faster than physical mail or god forbid going to a physical office. The sites could definitely be better but this is not fundamentally a problem of technology choice.
I'm sorry, but I really don't understand the point you're making here.
Frameworks have evolved over time, as we've identified better ways of doing things and as the browsers have implemented native solutions to problems that frameworks were invented to address.
For example, we don't use dojo anymore. Or ember. Or backbone. The list of once-popular frameworks that have faded is long.
The point that I (and and increasing number of other developers) have been making for a while now is that React has hit this stage. Many of the problems it was invented to solve are mostly not currently relevant as native solutions have become more widely adopted.
This has caused React to evolve into bloatware in an effort to maintain mind share. I think that evolution has had the opposite effect. I think it has driven many developers to seek simpler solutions.
I think it's completely valid to recognize framework's strengths and (especially) weaknesses. You can call this "blame" or just a justified critique.
I agree with your point that lower-skilled developers can make a mess out of any technology, but one of the supposed benefits to adopting a framework is to provide guard rails against this. If that's not working, it makes you question the fundamental value of using a framework at all.
I get the "no more imperative updates" dream. I've used these frameworks for probably a decade. I've mastered them.
Me personally, I prefer imperatively updating my DOM. I get completely fine-grained control over what's happening. I can architect it to be an extremely efficient machine. I can make it extremely easy to add/change/remove/fix features in my apps without forcing myself to think according to anyone else's opinionated methodology.
If you have little state, or simple uniform state, you can actually store it in the real DOM efficiently, as values of controls, or lists of similar DOM nodes under a common known parent. If most of your DOM is static, and you only need small bits of interactivity, React is an excessively heavy tool.
The farther you get into complex GUI territory, the more you want a declarative, functional approach, because it makes things simpler. The closer you are to a handful of controls with simple logic, the more you want to just imperatively tell them what to do, and leave the rest of the page alone, because it makes things simpler. We now just have better tools than jQuery for that.
there is no reason something imperative cannot be declarative. the war is one of style, not capability, so saying you gain "fine-grained control" is kind of meaningless, imo
The technique I used here and in all my browser-side code is the exact same technique used by VS Code internally, and it scales very well. The only difference in my code is it's more concise than writing 10 lines to construct and setup a DOM element the typical way.
Honestly, the real interesting part about my framework is literally everything else. Returning strings from JSX on the ssg-side; being able to import raw source directories and manipulate string|Buffer at ssg-time; the extremely efficient and lightning fast module system I wrote on top of chokidar and swc; probably more I'm forgetting, but basically the JSX-as-DOM is only the most visually interesting part. But really just a party trick.
[edit] Case in point: the source code to vanillajsx.com is extremely concise and clear and short, I literally wrote the whole thing today with zero deps (besides imlib), and the JSX-as-DOM demos are the least innovative part of it: https://github.com/sdegutis/vanillajsx.com/tree/main/site
I just added a more complex todo app to the bottom of the page. So it should give an idea of how a more complex hierarchy can respond to events elsewhere in the hierarchy and update themselves and each other accordingly.
Every atheist on here, but more particularly, the elitist tech communities that think science is all there is to reality, when life experience abundantly proves otherwise from every direction.