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 51: Line 51:
 
:Butterfly Cueball: Excuse me, but <u>Real</u> Programmers use butterflies.
 
:Butterfly Cueball: Excuse me, but <u>Real</u> Programmers use butterflies.
  
:[A Cueball-like programmer is standing much like Butterfly Cueball except for holding out a butterfly in front of his computer. The butterfly flaps its wings.]
+
:[A Cueball-like programmer is standing and holding out a butterfly in front of his computer. The butterfly flaps its wings.]
:Butterfly Cueball (narration within the panel, not diegetic to the scene): They open their hands and let the delicate wings flap once.
+
:Butterfly Cueball (narrating off-screen): They open their hands and let the delicate wings flap once.
  
:[The next two panels are smaller, and two sets of narrative text are written to span respectively above and below both panels. The first panel is the Cueball-like programmer with the butterfly and above him four curved arrows pointing up or down. The second panel shows the upper atmosphere, with large clouds far below and the earth even further down. Also here are shown seven of the same type of arrows.]
+
:[The next two panels are smaller, and the two texts below are written uninterrupted respectively above and below both panels. The first panel is the Cueball-like programmer with the butterfly and above him four curved arrows pointing up or down. The second panel shows the upper atmosphere, with large clouds far below and the earth even further down. Also here are shown seven of the same type of arrows.]
:Butterfly Cueball (narration above the panels): The disturbances ripple outward, changing the flow of the eddy currents in the upper atmosphere.
+
:Butterfly Cueball (narrating off-screen): The disturbances ripple outward, changing the flow of the eddy currents in the upper atmosphere.
:Butterfly Cueball (narration below the panels):  These cause momentary pockets of higher-pressure air to form,
+
:Butterfly Cueball (narrating off-screen):  These cause momentary pockets of higher-pressure air to form,
  
:[The next two panels are also partial height, leaving room for narration spanning above both panels. The first panel shows the atmosphere, again with clouds, and four parallel lines coming from above, and then they begin to merge, getting quite close at the bottom of the panel. The second panel shows the four lines merging on a driver platter.]
+
:[Also the next two panels are smaller and the texts below are written without interruption above both panels. The first panel shows the atmosphere, again with clouds, and four parallel lines coming from above, and then they begin to merge, getting quite close at the bottom of the panel. The second panel shows the four lines merging on a driver platter.]
:Butterfly Cueball (narration above the panels):  Which act as lenses that deflect incoming cosmic rays, focusing them to strike the drive platter and flip the desired bit.
+
:Butterfly Cueball (narrating off-screen):  Which act as lenses that deflect incoming cosmic rays, focusing them to strike the drive platter and flip the desired bit.
  
 
:[All the programmers who have commented so far stand in the order they have commented facing the last Cueball-like man, who slaps his forehead.]
 
:[All the programmers who have commented so far stand in the order they have commented facing the last Cueball-like man, who slaps his forehead.]
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)