"There are two ways of constructing a software design: One way is to make it so simple that there are obviously no deficiencies, and the other way is to make it so complicated that there are no obvious deficiencies."
This is the most important thing you need to learn as a programmer.
@sir from what I've seen from decompiling Dwarf Fortress, if Dwarf Fortress was open source it would be the single best-written open source project in existence
@sir what if I point to build software that is in the middle of both statements?
@sir C. Hoare at his 1980 Turing lecture, BTW. Very good read.
@sir ...and may I suggest a second most important: "If debugging is the process of removing software bugs, then programming must be the process of putting them in." (Edsger Dijkstra)
@michbarsinai programming == bugging
@tho so programmer == bugger?
@michbarsinai bugger and debugger all at the same time :)
@sir This is a nice quote, but I believe simple software may sometimes underperform in some ways too. What I think more accurate "two ways" are: a) Design trade-offs are obvious. b) What the heck the developer was smoking.
The social network of the future: No ads, no corporate surveillance, ethical design, and decentralization! Own your data with Mastodon!