Editing 844: Good Code

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 18: Line 18:
 
The title text, "You can either hang out in the Android Loop or the HURD loop," makes a dig at both communities: claiming that Android developers always opt for fast, ugly code, necessitating frequent fixes and updates, while Hurd developers perennially choose to "do the job right" but can therefore never seem to finish their project.
 
The title text, "You can either hang out in the Android Loop or the HURD loop," makes a dig at both communities: claiming that Android developers always opt for fast, ugly code, necessitating frequent fixes and updates, while Hurd developers perennially choose to "do the job right" but can therefore never seem to finish their project.
  
βˆ’
The [http://www.gnu.org/software/hurd/ GNU Hurd Project] aims to create the kernel for the GNU Operating System (the kernel being the central and most indispensable component). The GNU Project is most famous these days as a result of GNU/Linux (commonly called just "Linux"), which is an operating system that uses the Linux kernel with the GNU system environment. From the beginning the GNU Project has planned to design their own kernel, [http://www.gnu.org/software/hurd/hurd/what_is_the_gnu_hurd/gramatically_speaking.html the Hurd], virtually from scratch, and given a relatively clean slate with which to work, elected to employ a number of [http://www.gnu.org/software/hurd/hurd-paper.html promising and theoretically elegant design concepts]. Despite or, as Randall suggests, because of this, the Hurd has been mired in development hell for many years (for decades, in fact) with little progress towards actual usability outside of a small community of kernel hackers. While [http://www.debian.org/ports/hurd/ runnable GNU/Hurd operating systems] do exist, they're still basically experimental, and the Hurd remains a collection of research software the design goalposts for which keep receding as other, more pragmatically-engineered technologies continue to be developed (the Linux kernel itself being the canonical first instance of this).
+
The [http://www.gnu.org/software/hurd/ GNU Hurd Project] aims to create the kernel for the GNU Operating System (the kernel being the central and most indispensible component). The GNU Project is most famous these days as a result of GNU/Linux (commonly called just "Linux"), which is an operating system that uses the Linux kernel with the GNU system environment. From the beginning the GNU Project has planned to design their own kernel, [http://www.gnu.org/software/hurd/hurd/what_is_the_gnu_hurd/gramatically_speaking.html the Hurd], virtually from scratch, and given a relatively clean slate with which to work, elected to employ a number of [http://www.gnu.org/software/hurd/hurd-paper.html promising and theoretically elegant design concepts]. Despite or, as Randall suggests, because of this, the Hurd has been mired in development hell for many years (for decades, in fact) with little progress towards actual usability outside of a small community of kernel hackers. While [http://www.debian.org/ports/hurd/ runnable GNU/Hurd operating systems] do exist, they're still basically experimental, and the Hurd remains a collection of research software the design goalposts for which keep receding as other, more pragmatically-engineered technologies continue to be developed (the Linux kernel itself being the canonical first instance of this).
  
 
Finally, the [https://xkcd.com/844/info.0.json official transcript] of this comic is itself somewhat humorous (an additional {{w|In-joke|inside joke}}, if you will) in that it converts the flowchart into a simple list of instructions (aka pseudo-code) using numbered lines as reference points for identifying which instruction to read and follow next. This process is basically identical to the oft-maligned programming technique of using so-called "{{w|Goto|goto loops}}." β€” Furthermore, there is also a slight cross-reference between infinite loops and goto loops which is probably being referenced, in that goto loops are often criticized (whether accurately or not) as being more likely to create unintended infinite loops in code... primarily because of the difficulty inherent in keeping track of possible entry and exit paths, especially when making edits to the code at a later time.
 
Finally, the [https://xkcd.com/844/info.0.json official transcript] of this comic is itself somewhat humorous (an additional {{w|In-joke|inside joke}}, if you will) in that it converts the flowchart into a simple list of instructions (aka pseudo-code) using numbered lines as reference points for identifying which instruction to read and follow next. This process is basically identical to the oft-maligned programming technique of using so-called "{{w|Goto|goto loops}}." β€” Furthermore, there is also a slight cross-reference between infinite loops and goto loops which is probably being referenced, in that goto loops are often criticized (whether accurately or not) as being more likely to create unintended infinite loops in code... primarily because of the difficulty inherent in keeping track of possible entry and exit paths, especially when making edits to the code at a later time.

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)