Editing 163: Donald Knuth

Jump to: navigation, search

Warning: You are not logged in. Your IP address will be publicly visible if you make any edits. If you log in or create an account, your edits will be attributed to your username, along with other benefits.

The edit can be undone. Please check the comparison below to verify that this is what you want to do, and then save the changes below to finish undoing the edit.
Latest revision Your text
Line 8: Line 8:
  
 
==Explanation==
 
==Explanation==
{{w|Donald Knuth}} is a computer science Professor Emeritus at {{w|Stanford University}} who is famous for writing ''{{w|The Art of Computer Programming}}'' and developing the <span class="texhtml"><span style="font-family:cmr10, LMRoman10-Regular, Times, serif;">T<span style="text-transform:uppercase; vertical-align:-0.5ex; margin-left:-0.1667em; margin-right:-0.125em;">e</span>X</span></span> computerized typesetting system.
+
{{w|Donald Knuth}} is a computer science Professor Emeritus at {{w|Stanford University}} who is famous for writing {{w|The Art of Computer Programming}} and developing the <span class="texhtml"><span style="font-family:cmr10, LMRoman10-Regular, Times, serif;">T<span style="text-transform:uppercase; vertical-align:-0.5ex; margin-left:-0.1667em; margin-right:-0.125em;">e</span>X</span></span> computerized typesetting system.
  
In computer science, an array is a structure that stores multiple values in a fixed order, and the elements are accessed by their index number.  In {{w|Fortran}}, for instance, one writes <tt>array(1)</tt> to access the first element in the array. Most "modern" (read: descended from {{w|C (programming language)|C}}) languages use 0 as the index for the first element in the array, but it is possible (if one is careful about it) to ignore the 0th element and use 1 as the first index. In some programming languages, such as {{w|Pascal (programming language)|Pascal}} or {{w|Ada (programming language)|Ada}}, it is possible to select an arbitrary range of indices for each array type, so the first index might not only be 0 or 1, but also −42 or 100000. [[Cueball]] is complaining that [[Black Hat]] was not consistent in his choice of where to start his arrays. This is a valid complaint, as a lack of such consistency can make coding errors both more likely and more difficult to detect.
+
An array in computer science is a structure that stores multiple values in a fixed order, and the elements are accessed by their index number.  In Pascal, for instance, one writes <tt>array[1]</tt> to access the first element in the array. Most "modern" (read: descended from C) languages use 0 as the index for the first element in the array, but it is possible (if one is careful about it) to ignore the 0th element and use 1 as the first index. In some programming languages (such as {{w|Ada (programming language)|Ada}}) it is possible to select an arbitrary range of indexes for each array type, so the first index might be not only 0 or 1 but even 100000. [[Cueball]] is complaining that [[Black Hat]] was not consistent in his choice of where to start his arrays. This is a valid complaint, as a lack of such consistency can make coding errors both more likely and less easy to detect.
  
Black Hat cites Donald Knuth to support his rebuttal, but the quote he uses does not seem relevant. Presumably, Black Hat had illegally entered the professor's house in order to question him on indices. Donald Knuth's words were not an intellectual response to the question, but rather an alarmed response to the presence of an intruder. It is not clear if Black Hat is aware of this.
+
Black Hat's cites Donald Knuth to support his rebuttal, but the quote he uses does not seem relevant. It turns out that Black Hat had illegally entered the professor's house in order to question him on indices. Donald Knuth's words were not an intellectual response to the question, but rather an alarmed response to the presence of an intruder. It is not clear if Black Hat is aware of this.
  
The title text suggests that Black Hat finds Knuth's books intimidating, due to perhaps their size or complexity, to the extent that he considers breaking into Knuth's house (a risky, difficult crime) to be the better option in finding his answer. Even for Donald Knuth's books, this is very exaggerated and illogical behavior.{{Citation needed}}
+
The title text suggests that Black Hat finds Donald's reputation intimidating, and he decided that the best way to overcome his fears was by making a bold entrance.
 
 
In ''[[xkcd: volume 0]]'', four other responses are included:
 
* "Should array indices start at 0 or 1? My compromise of 0.5 was rejected without, I thought, proper consideration." - {{w|Stan Kelly-Bootle}}
 
* "What are you doing with that thing? Eww, it's still alive!" - {{w|Paul Graham (programmer)|Paul Graham}}
 
* "I'm calling the police once I get my cell phone back from your squid." - {{w|Bruce Schneier}}
 
* "Sorry, I thought you were Microsoft." - {{w|Richard Stallman|RMS}}
 
  
 
==Transcript==
 
==Transcript==
:[Black Hat and Cueball are sitting back to back at two separate desks, typing. Black Hat has turned toward Cueball to respond to him.]
+
:[Black Hat and Cueball are sitting back to back at two separate desks, typing.]
:Cueball: Man, you're being inconsistent with your array indices. Some are from one, some from zero.
+
:Cueball: Man, you're being inconsistent with your array indices. Some are from one, some are from zero.
:Black Hat: Different tasks call for different conventions. To quote Stanford algorithms expert Donald Knuth, "Who are you? How did you get in my house?"
+
:Black Hat: Different tasks call for different conventions. To quote Stanford algorithm's expert Donald Knuth, "Who are you? How did you get in my house?"
 
 
:[Black Hat and Cueball are sitting back to back at two separate desks, typing. Cueball has turned toward Black Hat, confused.]
 
 
:Cueball: Wait, what?
 
:Cueball: Wait, what?
 
:Black Hat: Well, that's what he said when I asked him about it.
 
:Black Hat: Well, that's what he said when I asked him about it.
 
==Trivia==
 
Later, the topic of breaking into a software expert's house through the skylight became topic of [[225: Open Source]] again.
 
 
This is the first xkcd comic featuring [[Donald Knuth]].
 
  
 
{{comic discussion}}
 
{{comic discussion}}
 
 
[[Category:Comics featuring Black Hat]]
 
[[Category:Comics featuring Black Hat]]
 
[[Category:Comics featuring Cueball]]
 
[[Category:Comics featuring Cueball]]
 
[[Category:Comics featuring Donald Knuth]]
 
[[Category:Comics featuring Donald Knuth]]
 
[[Category:Programming]]
 
[[Category:Programming]]

Please note that all contributions to explain xkcd may be edited, altered, or removed by other contributors. If you do not want your writing to be edited mercilessly, then do not submit it here.
You are also promising us that you wrote this yourself, or copied it from a public domain or similar free resource (see explain xkcd:Copyrights for details). Do not submit copyrighted work without permission!

To protect the wiki against automated edit spam, we kindly ask you to solve the following CAPTCHA:

Cancel | Editing help (opens in new window)