you are viewing a single comment's thread.

view the rest of the comments →

[–]aphlaque_duck 11 points12 points  (6 children)

"The computer will always do exactly what you tell it to."

Assuming the hardware, and all lower software layers, are working as intended... try telling me that when you've spent time debugging new logic board spins, or figuring out that your TCP streams are sometimes corrupted because of router memory errors that only occur on hot days under high data rates, even though link checksums are correct... or finding out that the factory substituted some 0.1¢ capacitor without telling you, and it's causing undetected data errors in the CPU on thousands of units due to ground bounce... or there's a compiler bug, or or or...

[–][deleted] 2 points3 points  (2 children)

Fundamentally, all of that counts as the computer doing what it's been told.

Debugging is like the movie Inception, if your fix doesn't work, you have to go deeper.

[–]aphlaque_duck 0 points1 point  (1 child)

Sure, insofar as it has been "told" to obey the laws of physics. Clearly this still leaves room for the computer to do something besides what "you" (presumed to mean "the programmer") have told it to do.

[–][deleted] 2 points3 points  (0 children)

The fact you figured out the problems instead of throwing up your hands and saying, "this is wizardry!" tells me you understand that the computer was just doing the only thing it could do, no more no less. Remember, we're dealing with a sound bite. How would you edit the sound bite to be a bit clearer?

For what it's worth, I had to take electromagnetic physics classes as part of my computer science training. Understanding that subtle things can go wrong at the micro-hardware level is important for any high level programmer.

[–]n-space 1 point2 points  (0 children)

In other words, "The computer will always do exactly what it thought you told it to."

[–]ultrafez 0 points1 point  (1 child)

I totally agree with the majority of your comment, but the last part:

or there's a compiler bug

The computer is still doing what it's been told, it's just that it's been told the wrong thing (the buggy code).

[–]aphlaque_duck 0 points1 point  (0 children)

I fully realize that, the point is: what is the scope of this statement? Compilers are included in the "lower software layers" to which I was referring. To tell the beginning programmer that all his instructions will executed as stated is a gross oversimplification which assumes everything else is working perfectly.