I don't think it's the code necessarily. It's the feature creep. It used to be that we just supported monitors - now it's touchscreens, tablets, watches, keyboards, mouse. It's LCD screens, plasma, TV, and so on.
I find that code become exponentially more costly the more features you add in, because of the number of architectural layers you have to add on. And if you haven't planned for that, well, now you have to deal with the pain of adding another architectural layer.
HN is likely in the sweet spot of good architecture, but it also means that it's not supporting things like infinite scrolling and reddit-like awards.
Interesting that you should mention device support as a cause of more complex code, as the best way to support the devices you list is generally to use LESS code.
Bare HTML is supported by pretty much everything...
But for some reason it's not cool to use HTML. We throw on megabytes of code just to bypass the page reload so that we can better control the user experience. This is why we end up with complex and bloated libraries like React and end up with a frontend and backend state that have to be kept in sync.
I wish we went back plain HTML, especially for sites that don't need to be dynamic.
Browsers shouldn’t let you bypass reloads outside of the window unload event, and that is standardized and doesn’t leave much room to mess with. Can you elaborate if that was a real thing you are referring to?
I find that code become exponentially more costly the more features you add in, because of the number of architectural layers you have to add on. And if you haven't planned for that, well, now you have to deal with the pain of adding another architectural layer.
HN is likely in the sweet spot of good architecture, but it also means that it's not supporting things like infinite scrolling and reddit-like awards.