Hacker News new | ask | show | jobs
by dynamite-ready 969 days ago
This software design principle is conspicuously absent at this point in time. Sure, Agile is important, and Agile processes do generate good products. But those processes have also come to introduce a cyclic development model, that's permeated back into the tools, and larger tool developers (like, those in the React / NodeJS class in terms of user base size) have abused this good intent.

Software can still be developed iteratively. That's not the problem. With CMake, for example, I don't 'fear' upgrades, because that team values the idea of 'finished' software. As does Microsoft.

On the other hand, the NPM and Apple dev teams do not cherish this idea. And in turn, both their user and developer communities suffer in the long run.

That's how I've come to see it recently.

1 comments

Microsoft will bend over backwards to maintain compatibility but at a huge cost to themselves. Can you imagine trying to fix a bug or vulnerability in some thirty year old Windows code without breaking anything. It must be like wading through treacle.
Yeah, but to be honest it is worth the cost because it benefits them in the long term. This sends a good signal to potential partner/investors (as in software developer/companies) that it is worth investing your time/ressources into the platform because you can expect things to stay stable enough to create a vision/roadmap/future. In the case of Apple, your software better make money in the next 3 years because after that you can expect to rewrite a lot of it, if said software is still possible at all... There is not a lot of 3D software on macOS (especially CADs), but you cannot blame the devs. Mac were already pretty anemics when it came to GPU power but if you had an OpenGL codebase you would now need to rewrite it all to metal even though it can only work on an OS with one of the smallest market share.