Editing 378: Real Programmers

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==
This comic is a satire on the idea of a {{w|Real Programmer}}. To quote Wikipedia "...the computer folklore term Real Programmer has come to describe the archetypical 'hardcore' programmer who eschews the modern languages and tools of the day in favor of more direct and efficient solutions—closer to the hardware." The implication is that modern programmers are coddled by today's tools of the trade, which eschew detailed understanding for simple workflows.
+
This comic is a satire on the idea of a {{w|Real Programmer}}. To quote Wikipedia "...the computer folklore term Real Programmer has come to describe the archetypical 'hardcore' programmer who eschews the modern languages and tools of the day in favour of more direct and efficient solutions—closer to the hardware." The implication is that modern programmers are coddled by today's tools of the trade, which eschew detailed understanding for simple workflows.
  
 
The first figure is writing a piece of code when another programmer ridicules him for using {{w|GNU nano}}. Nano is a {{w|text editor}} - a program often used to edit the source code of other programs. It is basic and relatively easy to use, even having instructions displayed prominently at the bottom of the screen. He goes on to say that "REAL" programmers use {{w|Emacs}}. {{w|GNU Emacs}} is a popular editor known for its vast profusion of features and extensions to perform all sorts of functions beyond simple text editing, and is widely regarded as one of the best examples of software that succeeds despite being fully overtaken by {{w|feature creep}}. The comic continues from here as a series of programmers state progressively more obscure or outdated methods, culminating in the final programmer who claims that "real" programmers use butterflies.
 
The first figure is writing a piece of code when another programmer ridicules him for using {{w|GNU nano}}. Nano is a {{w|text editor}} - a program often used to edit the source code of other programs. It is basic and relatively easy to use, even having instructions displayed prominently at the bottom of the screen. He goes on to say that "REAL" programmers use {{w|Emacs}}. {{w|GNU Emacs}} is a popular editor known for its vast profusion of features and extensions to perform all sorts of functions beyond simple text editing, and is widely regarded as one of the best examples of software that succeeds despite being fully overtaken by {{w|feature creep}}. The comic continues from here as a series of programmers state progressively more obscure or outdated methods, culminating in the final programmer who claims that "real" programmers use butterflies.
Line 22: Line 22:
 
When the final character suggests the utterly surreal idea of using butterflies, he is referring to the {{w|Butterfly effect in popular culture|Butterfly effect}}, a "phenomenon whereby a minor change in circumstances can cause a large change in outcome" as illustrated in the short story {{w|A Sound of Thunder}}. The joke at this point relies on stretching the connection between the ideas of "difficult-to-use" and "requires detailed understanding of underlying principles," to suggest that not only do ''Real'' Programmers know everything about how computers work, but they know how to manipulate the ambient physical environment in elaborate ways to cause computers to do what they want, akin to performing {{w|trick shot}}s that accomplish feats of programming.
 
When the final character suggests the utterly surreal idea of using butterflies, he is referring to the {{w|Butterfly effect in popular culture|Butterfly effect}}, a "phenomenon whereby a minor change in circumstances can cause a large change in outcome" as illustrated in the short story {{w|A Sound of Thunder}}. The joke at this point relies on stretching the connection between the ideas of "difficult-to-use" and "requires detailed understanding of underlying principles," to suggest that not only do ''Real'' Programmers know everything about how computers work, but they know how to manipulate the ambient physical environment in elaborate ways to cause computers to do what they want, akin to performing {{w|trick shot}}s that accomplish feats of programming.
  
The fact that Emacs already has a command for this simply exacerbates the other programmers' frustration with modern coding tools. For reference, Emacs commands are usually referred to by the keyboard sequence required to activate them, such as "C-x M-c" (Control-x Meta-c (this would be typed by holding control and pressing x, releasing both, then holding alt and pressing c, then releasing both)), though this exact key sequence is a bit different from most Emacs commands. The butterfly programmer saying "Dammit, Emacs" plays on Emacs' notoriety for its kitchen sink design approach of including all of the features and options that anybody might ever conceivably want. For example, later versions of Emacs actually added a totally useless "M-x butterfly" command as an easter egg, in reference to this very comic.
+
The fact that Emacs already has a command for this simply exacerbates the other programmers' frustration with modern coding tools. For reference, Emacs commands are usually referred to by the keyboard sequence required to activate them, such as "C-x M-c" (Control-x Meta-c (this would be typed by holding control and pressing x, releasing both, then holding alt and pressing c, then releasing both)), though this exact key sequence is a bit different from most Emacs commands. The butterfly programmer saying "Dammit, Emacs" plays on Emacs' notoriety for its kitchen sink design approach of including all of the features and options that anybody might ever conceivably want. For example, later versions of Emacs actually added a totally useless "M-x butterfly" command as an easter egg, in reference to this very comic: see the [https://www.youtube.com/watch?v=OQtxhuX6ano YouTube demo].
  
 
The title text further suggests manipulating the {{w|Physical constant|universal constants}} in order to create a universe in which the required computer data will exist. Programming of this sort would require power and knowledge akin to the Abrahamic God.
 
The title text further suggests manipulating the {{w|Physical constant|universal constants}} in order to create a universe in which the required computer data will exist. Programming of this sort would require power and knowledge akin to the Abrahamic God.
Line 77: Line 77:
 
[[Category:Physics]]
 
[[Category:Physics]]
 
[[Category:Rankings]]
 
[[Category:Rankings]]
[[Category:Comics with lowercase text]]
 

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)