Lincolns Ax

I have here an ax that originally belonged to Abraham Lincoln. But it remained in continuous use until the early 1900s. In 1880, the handle broke, and it had to be replaced. By 1920, the head had rusted, and it had to be replaced. But it's still Lincoln's ax.

This is a metaphor for what refactoring can do to your program sometimes. -- EdwardKiser


This is similar to two other philosophical problems. According to legend, the ArgoBoat? was made into a monument. Once in a while, a plank would rot and be replaced. Eventually, none of the original wood was left. Philosophers enjoyed debating at what point the ArgoBoat? was no longer the original.

StarTrek transporters are often used in a more contemporary form of this debate.

TheEmperorsNewMind explores this when the author asks if anyone feels they would not be themselves if a single one of their neurons was replaced by a silicon neuron. How about 10? How about half?


On the other hand, in some discussion on the SmalltalkLanguage image, it's been said that, a number of bits from the original first Smalltalk image that was ever created must be in modern images, because every change, even major ones, were done by running a Smalltalk program in the original image to generate the new one.

Sometimes refactoring feels like that -- today's program is completely unrecognizable as related to the original program, but you know that some of the bits of the original program must still be there, because you did nothing but refactoring moves -- which all involve some copying of existing code.


CategoryRefactoring CategoryCoding


EditText of this page (last edited November 16, 2014) or FindPage with title or text search