In amateur radio and computing, boat anchor is a slang term used to describe something obsolete, useless, and cumbersome - so-called because metaphorically its only productive use is to be thrown into the water as a boat mooring.
Early computers were physically large and heavy devices. As computers became more compact, the term boat anchor became popular among users to signify that the earlier, larger computer gear was obsolete, and no longer useful. It also may refer to a large piece of hardware, regardless of age, which has become unusable due to physical or electronic damage.
The term boat anchor
is also used in software
development to refer to an unused piece of code
that is left in a system's code base
, typically for the reason "In case we need it later". This is an example of an anti-pattern
and therefore can cause many problems for people attempting to maintain the program
that contains the obsolete code. The key problem comes from the fact that programmers will have a hard time differentiating between obsolete code which doesn't do anything and working code which does. For example, a programmer may be looking into a bug with the program's input
handling system, so they search through the code looking for code that links into the input
. Obviously if the programmer comes across obsolete input
handling code they may well start editing and debugging
it, wasting valuable time before they realise that the code that they're working with is never executed and therefore not part of the problem they're trying to solve. Other problems include longer compile
times and the risk that programmers may accidentally link working code into the defunct code, inadvertently resurrecting
it. The correct solution for dealing with boat anchors in source code is to remove them from the code base
and to place them in a separate location so that they can be referred to if necessary, but will not be compiled or be mistaken as "working" code.
In amateur radio, a boat anchor is an old piece of radio equipment. In this case they may not be considered useless as there are many aficionados that appreciate vintage radio equipment. The term is thought to have been used by amateur radio operators long before computers were commonplace. The following are three theories on the origin of the term.
- *Version I: During World War II, military radio technicians used the term boat anchor as they struggled with the very large, heavy, electronic equipment of the day; full of transformers, vacuum tubes, etc. Also, the US Navy frequently marked electronic gear with an anchor. After the war, much of the surplus equipment appeared on the market and kept the name boat anchor due to the previous reasons.
- *Version II: After WWII, a national magazine editor was asked what to do with the outdated, heavy, large, surplus electronic equipment. He supposedly answered, "Tie a line to it and use it as a boat anchor."
- *Version III: A letter to the editor of CQ Radio Amateur Magazine appeared on page 16 of the October 1956 issue and was as follows: "Gentlemen: I recently acquired a Signal Corps Wireless Set No. 19 MK II Transceiver. Are there schematics or conversion data for this rig? Any info will be appreciated. --David J. Wilke W3LSG Pottstown, Pennsylvania." The editor replied: "The only conversion we seem to have on the files here at CQ calls for 100 feet of 1 inch Manila line, one end of which is to be tied securely around the MK II Transceiver. This then converts the unit into a fine anchor for a small boat. If any readers have better conversions we will be glad to hear about them. --Ed."
However, it wasn't until later when smaller, lighter gear became popular enough and the older gear was outdated enough that there was reason to categorize the older, heavier electronics as boat anchors.