Hacker News new | past | comments | ask | show | jobs | submit login
The Danger of “Simplicity” (In Programming) (preslav.me)
3 points by p5v on April 5, 2021 | hide | past | favorite | 1 comment



I don't think this blog post is really saying all that much.

> Yet, it's good to write software in such a way, in which it is easy to replace one part with another when a better (for the time being) alternative shows up

I think few would dispute that, but it isn't exactly an easy thing to do. You could spend 100% of your time adding abstractions to even moderately complex pieces of software to make sure that every last functional component could easily be replaced with some other implementation but then you wouldn't actually get anything done since all your time would go to creating and implementing _just the abstractions_. This is pretty impractical so you really have to choose your battles: which components are likely to be replaced in the future and is it worth worrying about it now? I find the vast majority of the time it is really hard to accurately predict future constraints and requirements so I tend to default to very simple choices that make sense given what I already know. When something really feels like it will need work in the future, I might add a relevant abstraction. Otherwise I am basically just wasting time.

In short, I view KISS, in the context of software engineering, as an admission that you can't really predict the future so it isn't worth dwelling too much on preparing yourself for it.

EDIT: typo




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: