Bottles containing bottles: 9 nested bottles from The Hordern-Dalgety Collection by an unidentified glassblower at Bristol University in the 1980s.
For “recursive bottles” of a different kind, consider the computer code below:
10 REM BASIC Version of 99 Bottles of beer 20 FOR X=100 TO 1 STEP -1 30 PRINT X;"Bottle(s) of beer on the wall,";X;"bottle(s) of beer" 40 PRINT "Take one down and pass it around," 50 PRINT X-1;"bottle(s) of beer on the wall" 60 NEXT
One of over 1500 computer programs, specifically devised for calculating the lyrics of 99 Bottles of Beer.
It started as a joke, and then multiplied. Recursively.
…initiated by a post to a humor mailing list, where somebody sent the full lyrics in early 1994. This was seen as a waste of bandwidth, the job could have been accomplished with six lines of BASIC.
The original poster made the mistake of slighting C++ programmers, so Tim rose to the occasion with his version of ‘99 Bottles’ in C++. It opened the floodgates and programmers from all over the world gave different versions in assorted languages.