• ignorance: someone hasn't taken the time to understand what it does or how to use it.
• maturity: the existing thing is perceived as "old", "fragile", "prone to error", not conforming to current expectations and norms (oddly, norms that the existing thing put in place). This perception is influenced by the ignorance mentioned above.
• ego: the replacer's name isn't on the established thing.
• hubris: the current state of the art is fragmented, and will finally be unified under a new regime, and only a new guard and new stewards can do this.
There's a difference between (a) continuously making things better/adjusting to new requirements, and (b) forever creating Brooks' style Second Systems. Recognizing when the line has been crossed or that the thinking and approach is tending towards (b) is more art than science and by then the tipping point was way in the past.
Once upon a time I've just got a junior C# developer job (without knowing anything but basic C++ and SQL), were given a computer and a real task and implemented a reasonable good-looking (looking and feeling the way common to all the Windows apps) business app that went straight to production just in some hours. And I didn't need anything but intuition and the API reference. It felt exactly like playing Lego.
Despite I also know basic HTML, CSS and JavaScript (I've learnt during the WindowsNT4 years) I have no bloody idea of what to do to get an approximately same result with today web-based front-end technologies. I've seen some React code and it seems pretty extraterrestrial. What scares me is the amount of what I need to learn before I can produce a useful application. And it seems (and feels the scariest) Photoshop and the art of visual design are on the list.
By the time you've thrown your laptop out of a window trying to make elements stay in correct positions relative to each other and the page, a desktop or a mobile developer will have shipped a production-ready app with 10 times the number of layouts and features.
Hell, a dev from 2000 will have shipped 10 times the amount of layouts in half the time with Delphi or C++ Builder.
Edit: Someone linked Figma's blog post on how they ended up "creating a browser inside a browser" for their complex and amazing app to work: https://www.figma.com/blog/building-a-professional-design-to...