3 ms·
Simpler isn't necessarily worse. Having fewer features tends to make software more reliable and secure.
by cperciva 3y ago
Simpler isn't necessarily worse. Having fewer features tends to make software more reliable and secure.
- pornel 3y agoI don't think you can generalize it like that. It really depends whether the complexity is necessary or not, and that's context-dependent. If the implementation is too simple, it may have issues that impact its reliability. For example, code may be using simple linear search instead of fancier data structures/algorithms, and have issues with handling larger inputs or have accidentally-quadratic code paths. Or may updating data files without the complexity of atomic writes or inter-process locking, and corrupt its data if it's unexpectedly killed/restarted. Implementations that are too simple may be less secure, e.g. lack features for precise access controls, or sandboxing. Simple parsers can become a vulnerability (e.g. request smuggling attacks from underestimating complexity of edge cases in HTTP and URLs). Too-simple tools may just push complexity and security risks elsewhere. There's an endless supply of simple templating engines that make it too easy to introduce XSS vulnerabilities.