5 ms·
I stoppped reading when I got to this: "If you’re a great programmer, you make all the routines depend on each other, so little mistakes can really hurt you."
by hifier 13y ago
I stoppped reading when I got to this:
"If you’re a great programmer, you make all the routines depend on each other, so little mistakes can really hurt you."
I know things were different back then, and Bill did not have the luxury of building on the wisdom learned over decades of experience, but 'separation of concerns' and 'loose coupling' have been central to every design decision I've made. It's hard to conceive of how one would believe that a tightly coupled, brittle design was a good one.
- skittles 13y agoIn assembly language, a sub-procedure can save the state of all the registers it will use before using them and then set the state back when it is done (push register values on the stack, do work using those registers, and then pop the state back). This is the safe thing to do, but it wasn't the best way to write code back then. People would use unsafe procedures instead to reduce code size. With that said, I think Bill was talking about the fact that if the program doesn't repeat itself (by using procedures to abstract common idioms), then a mistake would be amplified since it would cause problems for all call sites.
- hifier 13y agoYeah, I could see interpreting this quote that way. However, if taken literally it implies a very intertwined world. It's probably not fair to to dissect this so much, however.
- pjscott 13y agoIt was a different time. Intertwining your world made sense if it could squeeze a BASIC interpreter into 4k. Now my laptop has 8000000k of memory.
- laureny 13y ago> but 'separation of concerns' and 'loose coupling' have been central to every design decision I've made. I'm guessing no design decision you've made has ever involved assembly language. Bill Gates obviously knows a little bit more than you on this topic.
- hifier 13y agoI'm not claiming to know more than Bill. To backtrack a bit, there are other concerns more primary than these in certain situations (possibly a lot of situations). However, Bill's comment was not about assembly, it was about what 'great' programmers do. Even still, as skittles pointed out, I might have misinterpreted Bill's statement anyway.