Where would I even begin?

Doing anything with web tech is much faster at first, but web app debugging ( if you can even call it that ) is utterly dreadful so development ends up being slower.

It makes me think that the people who designed a lot of this stuff simply weren't in their right minds, were willfully ignorant, or just didn't care. As a result, it's easy to get held up for hours finding bugs that won't even make it past the compiler if I'm working in Visual Studio. It's like being in the dark ages!

I just can't fathom doing anything large scale without access to real tools, real abstractions. I mean, in JS, abstraction means using separate JS files that people actually believe represent real modules or something! Yeah, separate files are not actually abstractions. Separate directories doesn't mean that something is a module.

Everything is so disparate and cobbled together. It's like people think that the ability to glue JS "libraries" together in "interesting" ways is a smart way to develop software. I think, as a C++ programmer, that design decisions that appear strange and stressful to me are behind a lot of the JS fatigue that people talk about these days. In the C++ world, such Frankenstein creations would be thought of as weird or incompetent, or only ever done as a last resort ( like when you don't have access to source code and you never will ).
Like, the idea of passing so much stuff around as strings or JSON 'objects'.

Let's see, I need a graph. But instead of writing an actual graph that uses pointers and objects that are actually separate nodes, I'll use the DOM. It'll be like a tree, except it's made of text. I'll make a 'tree' of objects with the DOM. Or maybe I'll use JSON, which is also just text. I'll write some other tools that allow me to insert JS into these 'objects' so that I can modify them. Yeah, it won't be weird that I combine my data structures and my code, because I'll just use more JS to parse the file and then write another file that will actually be fed to the browser. Text transformation as application development is just totally batshit.

In fact, despite all the shiny new toys, the fact that text is used for just about everything makes it all seem like a huge technical debt factory.

I think a good analogy is as follows: "modern" web development is like if I were to write a C++ application without using the type system. You know, I could just use std::string for everything. Numbers are strings. Objects and their fields can be represented by strings. I would just pack everything into strings. Then of course, I'll have to parse everything to make sure things add up afterwards. I can write all sorts of interesting libraries to help me work with all my text, without ever realizing that these libraries wouldn't have to exist if I had done things right. It seems like web tech forces you to do things that would have been regarded as utterly foolish 40 years ago, never mind today.

The last two weeks have left me struck with the following notion: "this is all just text". Everything is text. It's like an utterly incompetent C++ programmer just did everything with strings. "My data structures are just text!" "My objects are objects because they're in separate text files." "My modules are modules because they're in separate directories."

It makes no sense at all.