4 ms·
I completely agree with the KISS principle and do indeed have to note that it is very often not followed. Much of the software out there could be simpler. But
by cjfd 6y ago
I completely agree with the KISS principle and do indeed have to note that it is very often not followed. Much of the software out there could be simpler.
But even if it were simpler one would not arrive at the point where the software is so easily understandable that there are obviously no bugs. You may need to implement, say, the rules of chess. This would be simpler if there was no castling and no en passant rules but the programmer does not get to decide the rules of chess and, hence, merely a library for implementing the rules of chess might not be so simple that it can easily be inspected for bugs. It certainly won't be that simple if you also take into account the rules of repeating the same position three times or the fifty move rule. Much of the software that is used in practice has to still do quite a few things more things than are needed for the rules of chess so it has not chance whatsoever to be at the point where all of the bugs are easy to spot.
- throwaway_pdp09 6y agoIn implementation terms there are simple ways and unnecessarily complex ways of doing things. As per my 1st post. In product terms there are definitely things that get pushed in that have no value, and that happens when there's too much cash around (hence "It is a price which the very rich find most hard to pay"). An actual example, a 'big data' project I was involved in. Loadsa big data software thrown at a pile of hardware. End result, fuck all of worth because it barely ran. A simpler system would have been a single decently configured and provisioned server which would have run so much faster (and cost a tiny fraction of the behemoth we actually built). I take your point about chess though. I think with a little discussion (time for which I guess neither of us have) we could come to an understanding and quite likely an agreement.