We need to stop forcing all this unnecessary complexity upon users.
We need to stop forcing all this unnecessary complexity upon users.
This kind of discussion you're pointing towards isn't actually a discussion about difficult ideas like "unnecessary complexity," or what is and isn't "complex", or "software magic", as if that was a singular ontological property or category, waiting to be applied. The discussion you're trying to have is ultimately about words, even if you don't think so. If you don't agree on the words with someone else, then trying to have a discussion of ideas, ideas like "unnecessary complexity", is less like a discussion and more like two cars flying past each other on a highway. Your point is just falling on deaf ears, except for everyone who was driving to the same destination already.
Rather than having discussions about that stuff, I think the much more obvious answer pointed at elsewhere -- that Observable provides money for the developers, and D3 does not -- is much more useful as a starting point. And frankly, I think much more plausible. It's a significantly more difficult topic to discuss social issues like monetary support for other people in our nerd culture, than it is to discuss "Is this software complex" -- a thing nerds love to opine over endlessly to avoid actual difficult discussions, as if it had any crisp definition. But it's also significantly more honest and a better reflection of the underlying motives, the words behind the discussion, than zooming 60mph past someone on a completely different topic going the other direction.
I suspect Observable does in fact make money, while D3 doesn't, and so it's understandable that things play out this way, if my assumption were correct. It sucks for highly technical people like myself, or you, who also may not want Observable and are perfectly fine on our own. But talking about software complexity is a red herring; it comes across more as an attempt to fit the world in a neat box of rules, rather than handle it as it is. And that will never leave you satisfied, and always leave you feeling alienated.
Prerequisites: knowing how to scale numbers from one range (data range) to another (SVG coordinate range) using multiplication and addition.
To someone else, HTML and JavaScript may be "unnecessary" complexity and they want to see the plain C/C++ code of how to render a web page with dynamic animation.