Easter eggs are those brightly decorated eggs hidden by the Easter bunny. Right? Not in computer programming nomenclature. An Easter Egg in computer programs is where the programmer has hidden his credits. It is his brightly colored release of creativity free from any specs handed down by his employers. It is his moment of glory and it is meant to be found.
Eggs have been around since the earliest programs. They were simple things limited only by the programming language's limitations. In Xtree ver. 1.0, the simple key combination Ctrl and Alt brought up the programmer's credit. With the more advanced languages available today, some eggs are so extremely well hidden and could not be found by mere chance.
How Easter Eggs got their names is shrouded in the hazy mist of history. The research I've done so far indicates that it evolved simply enough through the association of hiding Easter Eggs. These eggs were often placed within a program without the "boss's" knowledge. They are a unique signature of the programmer. Although the boss is aware that programmers do hide eggs, and they often blame eggs for many of a programs malfunctions as a convenient scape goat, an egg in a game is almost essential for a game's promotion. They're fun! The joy was in the hunt as much as in the finding. It is one of many 'urban legends' that are simply accepted and not questioned. Urban legends are another interesting topic, but for purposes of this discussion, an urban legend is a tale passed around by word of mouth with obscure origins yet still accepted as truth.
An egg, by definition, is any subroutine that is called from a program but not related to the program's primary function. It is not a virus nor a macro. It is present in all installations of the program and is placed there purposely by the programmer(s). Enjoy your hunt for these Eggs and be prepared to join the ranks of the elite should you ever stumble upon an egg in a new program.
|