the short answer is that over time software just accumulates in layers. nobody wants to rip out anything because everything above it will break. the more layers there are, the more that can break. it's a cost that management seldom wants to pay. build on top of the existing layers, accept that things are a bit slow or a bit flaky. we need to get this thing shipped, we'll look into that to other stuff later. and they never do. the only reason why things can get fast is when you just start something from scratch. that was the reason why chrome used to be fast if you go back to like 2009. there was a small team making a new browser from scratch. it didn't have to be backward compatible, they could just use the latest stuff and build a browser with speed in mind. then what happens 16 years later? a lot of the original guys that made it great have left the project. you have a huge bloat in the code and team that works on it. you have pajeets and women and guys in suits all involved now. you open a simple fucking page, even like this one, and it's taking ~200mb of ram. the video file isn't 2mb. where is the other 198mb going? who decided this was acceptable? it didn't happen overnight. it's a serious of decisions that span over years. a good example is lichess vs chess.com. for the longest time, lichess was just one guy. now it's another guy who handles the mobile apps, doing ui stuff. but in terms of the import stuff, it's still one guy. lichess gets around 100k users in a given day. chess.com is double that. lichess only runs on a single server. chess.com people have not just a team of people but require much more complicated setup with lots of microservices and has had scaling issues (which of course they will never blame due to the many points of failure or complex architecture). it's all so tiresome. there are other factors like a lot of guys have just fucked off. bossgirl, pajeet and nigger fatigue has caused good people to just say "fuck this" too.
Ireland