3 ms·
Ones and zeroes in the clean environment of a computer chip can be controlled absolutely. When you write a reasonably self-contained program, everything that g
by Eliezer 18y ago
Ones and zeroes in the clean environment of a computer chip can be controlled absolutely. When you write a reasonably self-contained program, everything that goes right and everything that goes wrong is entirely your fault. It is not a metaphor; programming simply is small-scale godhood.
- prospero 18y agoIt's omnipotence without omniscience, though. Any reasonably complex program will grow beyond the programmer's ability to keep it all in his head at once.
- Jebdm 18y agoAh, but if you run it slowly enough (step through it, for instance), you get the same thing in effect; anything you want to know you can find out before anything changes.
- aaronblohowiak 18y agoAssuming a REPL, and methods of introspection that do not otherwise change state of the system!
- cconstantine 18y agoYou don't need a REPL to step through a program.
- aaronblohowiak 18y agoYou're absolutely right. Sorry, I had repressed those memories ;)
- prospero 18y agoYou can easily lose the big picture by stepping through each line of code, especially if your program is heavily iterative or even mildly threaded. You can miss the forest for the trees or the trees for the forest; the middle ground is elusive at best.
- jwilliams 18y agoYup - you can't find a race condition by stepping through your code.
- Eliezer 18y agoCan I quote you on that as "Computer programming is omnipotence without omniscience"?
- prospero 18y agoSure, go hog wild.
- comatose_kid 18y agoOnes and zeroes can't be controlled absolutely all the time. "...Sun's UltraSPARC II workstations were crashing at an alarming rate. The inability to initially locate the source of the problem created significant customer dissatisfaction issues for Sun. The root cause of the problem was finally traced to IBM supplied SRAMs that were experiencing high upset rates due to charged particles causing soft errors in the memory system. Ultimately, not only did Sun switch memory vendors, they also designed new error checking and correcting logic and implemented it across the entire cache architecture." from: http://www.actel.com/documents/SER_FAQ.pdf http://www.actel.com/documents/SER_FAQ.pdf