Editing 2730: Code Lifespan

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 10: Line 10:
  
 
==Explanation==
 
==Explanation==
 
+
{{incomplete|Created by a BOT - Please change this comment when editing this page. Do NOT delete this tag too soon.}}
This comic contrasts two scenarios involving [[Ponytail]] writing a computer program: in the first panel, she has taken great care to future-proof her code, while in the second, she decides not to under the assumption it will soon be deprecated and/or replaced. The captions below each panel note that, ironically, code that ''was'' written with future-proofing in mind will often quickly cease to be used, defeating the purpose of future-proofing, while the code that was ''not'' will often be used much longer than the original programmer(s) intended. This is a {{w|Catch-22 (logic)|''Catch-22''}} situation that many developers have experienced; the first one even has a name, {{w|YAGNI}}.
 
 
 
The second panel could be an allusion to the {{w|Year 2000 problem}}, although it is important to note that problem was not simply due to developers not thinking ahead but also because the developers were working with extremely limited computer resources at the time, promoting the use of 2-digit years.
 
 
 
The title text is a modular sentence with two parentheticals, each containing two alternative phrases. This allows for four permutations of the sentence, each of which may be said by programmers. The following two permutations may be the hoped-for ideals of software developers:
 
 
 
* "Surely everyone will recognize how flexible and useful this architecture is."
 
* "Surely no one will spend a huge amount of effort painstakingly preserving and updating this garbage I wrote in 20 minutes."
 
 
 
However, reality often falls short of such hopes, in that insufficient numbers of people recognize code intended for re-use, and far more people than intended will attempt to maintain and adapt sloppy work. The former can occur because of uncertain or unclear assumptions which aren't clear when the time comes to re-use code capable of it, and the latter sometimes happens because the corner-cutting peculiarities of hasty work are often seen as far deeper necessities than they actually are. The remaining two permutations express these far less hopeful outlooks:
 
 
 
* "Surely no one will recognize how flexible and useful this architecture is."
 
* "Surely everyone will spend a huge amount of effort painstakingly preserving and updating this garbage I wrote in 20 minutes."
 
  
 
==Transcript==
 
==Transcript==
 
+
{{incomplete transcript|Do NOT delete this tag too soon.}}
:[Two almost identical panels side by side depict a conversation between Ponytail and Cueball.]
 
 
 
:[Ponytail standing next to Cueball, with her palm raised.]
 
:Ponytail: It took some extra work to build, but now we'll be able to use it for all our future projects.
 
 
 
:[Caption below the panel:]
 
:How to ensure your code is never reused
 
 
 
:[Nearly identical situation to the first, but with the arm raised slightly less emphatically.]
 
:Ponytail: Let's not overthink it; if this code is still in use '''''that''''' far in the future, we'll have bigger problems.
 
 
 
:[Caption below the panel:]
 
:How to ensure your code lives forever
 
  
 
{{comic discussion}}
 
{{comic discussion}}
[[Category:Comics featuring Ponytail]]
 
[[Category:Comics featuring Cueball]]
 
[[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)