Note: this is a COPY!!!

    jim@federated.com dug this out of Google's cache when he discovered that the original was no longer available. The original author has moved here, but doesn't have the beer pages on line yet. Sadly the images were not available and the graphic languages are lost. You can see another mirror that has the original images.

    99th Beer Bottle99 Bottles of Beer

    227 Computer Beer Styles

    193418 visitors took one down since 7/21/96. This site chosen as the Geek Site of the Day for March 19, 1997. For those arriving from there, I'd be honored to have you visit my Main Web Pages.

    • Take One Down: A Brief History
    • Contributing
    • Strange Brew
    • Alphabetical List
    • Most Unique Languages
    • Beer Links
    • The Beer Listings

    Take One Down: A Brief History

    On a humor mailing list I was on in early '94, some nitwit posted the entire lyrics to "99 Bottles of Beer on the Wall." Needless to say, this was seen as a waste of bandwidth. The first protest was that the job could have been accomplished with six lines of BASIC and here were the six lines:

    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
    
    However, the complainer made the mistake of slighting C++ programmers, so I rose to the occasion with my version of "99 Bottles" in C++. It opened the floodgates and programmers from all over the world gave different versions in assorted languages. I regret that I don't have the names to credit any of the programmers. However, if you spot your handiwork in the collection, please send me your name and mail address in the form of a comment in the appropriate language. (Or ask me to remove the code... I'm sure somebody can write a replacement.)

    Contributing

    This list started with about 20 languages and ballooned from there. I had hoped that I might someday get 99 languages. Well, the 99 came sooner that I expected. The Holiday season of December 1995 apparently gave people the play-time it took to send me programs. However, if you have a version of "99 Bottles" that isn't in this collection, please e-mail me and I'll add it. But always bear in mind that if you wish to sing:

      99 (0x63) Programming Languages on tape,
      99 (0x63) Programming Languages.
         Take C++ down,
         Install all 'round,
      98 (0x62) Programming Languages on tape,

    and so on, then if you use this list for lyrics you will sing more than 99 verses. In any event, if you contribute, if you could put your name in the form of your language's comment style, that would be great. Known to me, but missing from this list are:

    • Jovial
    • Macsyma
    • JCL (I'm told this can't be done: No looping constructs.)
    • Orthogonal
    • Mixal
    • ADL
    • CMS-2
    • Chill
    • PL/M
    • MAD
    • Compact II
    • Cal
    • Euler
    • MIX (from Knuth's computer books)
    Before you go to write something, please take a moment to check the actual body of this web page for the language. Twice now I've left a language out of the index and had people send me duplicates. Further, if you detect any link-rot -- whether internal to this page or to reference sites -- please let me know.

    1/3/98 note about the contributors: So far, the people contributing to the 99BoB page have been the coolest people in the world. After submission, they clearly go over their code again and submit corrections and improvements. The amount of works shown is massive, but it's only the tip of the iceberg. You are only seeing the final products. They have also shown the patience of Job waiting for me to get the contributions placed on the web pages.

    Strange Brew

    This thing has become a monster! Since starting this project, I've gotten beer in some obscure containers. For the sake of the unwashed masses, I've included brief descriptions of the languages which, hopefully, won't detract from the code that follows.

    The following gem should appeal to the mathematically inclined. (For the non mathematically inclined, you might replace Aleph-null with infinity)

      Aleph-null bottles of beer on the wall, 
        Aleph-null bottles of beer
      You take one down & pass it around 
        Aleph-null bottles of beer
    

    How about a little Zen beer?

      No bottles of beer on the wall,
        No bottles of beer.
      Take one down, pass it around,
        No bottles of beer on the wall.
    

    If you don't want to go poking through the entire list, I made a collection of links to what I consider the most unique languages. I don't state my reasons why I consider them unique, I just listed the languages. One exception, Meta-HTML is the only program source I know that you can actually run on the web. For those interested in older computer languages, you might check out The Retrocomputing Museum.

    This list came to the attention of my old Language Structures teacher at my Alma Mater. The CLIPS contribution comes from a recent student of that class.

    One of my contributors informed me that he had a heated discussion about programming languages with his son's high-school math/computer teacher. The teacher was adamant that there were no more than a dozen computer programming languages in the world. Ha, ha. Guess again. As a cross-reference to the Babel of computer languages, see the Hello World pages.

    Back around '78 I found a Byte magazine survey of their readership that indicated that only 1% of the readers were female. Things haven't changed much; Spring '97 I got 2 programs from ladies kind enough to make contributions.

    The day before I got the geek-site award, the Befunge language was bestowed a similar honor. For many months, work has prevented me from getting back this web page. In the interim, I got dozens of Befunge programs. Befunge is the work of a twisted mind. Be sure to check it out.

    Tim Robinson
    timtroyr@ionet.net
    Back to the Funhouse


    The List so far (227 entries):

    1. A+
    2. ABC
    3. Abundance
    4. Ada
    5. ADL
    6. AL
    7. Algol 60
    8. Amanda
    9. Amiga Shell Script
    10. AML
    11. APL
    12. APL2
    13. Apple Script
    14. ASP
    15. Aspect
    16. *Assembler
    17. AWK
    18. BASIC
    19. BC
    20. BCPL
    21. Befdc
    22. Befunge
    23. Beta
    24. Blank
    25. Bliss
    26. Bobo
    27. Bourne Shell
    28. Bourne Again Shell
    29. Boxer Macro Language
    30. Brainf***
    31. BS
    32. C
    33. C++
    34. C/C++ Pre-processor
    35. C-shell
    36. CAML
    37. CAL
    38. calc
    39. CDC NOS CCL
    40. CL
    41. Chill/2
    42. Clipper
    43. CLIPS
    44. CLIST
    45. CLOS
    46. CLU
    47. COBOL
    48. CorVu
    49. Cold Fusion
    50. Common Lisp
    51. Concurrent Clean
    52. CUPL
    53. DAL
    54. dBase III
    55. dc
    56. dc_shell script
    57. DECTPU
    58. Delphi
    59. Dialog System
    60. DIBOL
    61. DOS batch
    62. Draco
    63. DSSP
    64. Dylan
    65. E
    66. Eiffel
    67. Emacs Lisp
    68. Erlang
    69. Excel
    70. EXEC
    71. Expect
    72. Express
    73. False
    74. FileMaker Pro
    75. Focal
    76. Focus
    77. Forms/3
    78. Forth
    79. Fortran IV
    80. Fortran 77
    81. Foxpro/Xbase
    82. Froth
    83. Fortran 90
    84. GNU-CPP
    85. Gofer
    86. GrASP
    87. hackMongo
    88. Haskell
    89. Hope
    90. HyperTalk
    91. Icon
    92. IDL
    93. ILE AS/400
    94. Inform
    95. Inform 6
    96. INTERCAL
    97. IRC II
    98. ISM/SML
    99. ITCL
    100. Jam
    101. Java
    102. Java Script
    103. K
    104. Kermit Script
    105. KidSim
    106. Korn Shell
    107. KUIP
    108. Labview
    109. Lakota
    110. Leda
    111. LIFE
    112. Limbo
    113. Lingo
    114. Logo
    115. LPC
    116. Luck
    117. M-Speak
    118. M4
    119. M5
    120. Mac Wordperfect
    121. MAGIC/L
    122. Magma
    123. Make
    124. Maple
    125. Mark IV
    126. MATLAB
    127. Mathematica
    128. Mercury
    129. Meta-HTML
    130. Meta Post
    131. Miranda
    132. Microsoft Word
    133. ML
    134. Model 204
    135. Modula 2
    136. Modula 3
    137. MOO
    138. Mops
    139. MPTMON
    140. Mumps
    141. MUSH/TinyTIM/TinyMUSH
    142. Natural
    143. Navel
    144. NEWLIB
    145. NewtonScript
    146. NIAL
    147. nroff
    148. Oberon
    149. Occam
    150. OCL
    151. OPL
    152. Orthogonal
    153. PAL
    154. Pascal
    155. Perl
    156. PH/FI
    157. Pilot
    158. PLEX
    159. PL/I
    160. PL/M-80
    161. PL/SQL
    162. POP
    163. *Pocket Programmable Calculators
    164. Posix
    165. POV-Ray
    166. Postscript
    167. Prolog
    168. Prograph
    169. Progress
    170. PV-Wave
    171. Python
    172. Quick Basic
    173. Rapid
    174. rc
    175. REXX
    176. RPG/400
    177. SAS
    178. SAUL
    179. Sather
    180. Scheme
    181. sed
    182. Sendmail
    183. SETL
    184. Silk
    185. Simscript
    186. Simula
    187. Sisal
    188. Smalltalk
    189. SML
    190. SNOBOL
    191. SPITBOL
    192. SPSS
    193. SQL
    194. SR
    195. Superbase SBL
    196. SuperTalk
    197. Surf
    198. TCL
    199. TECO
    200. Terse
    201. troff
    202. TeX/LaTeX
    203. TinTin
    204. Tiny Fugue
    205. Turing
    206. Turing Machine
    207. TUTOR
    208. Trac
    209. Transact SQL
    210. Trumpet
    211. Unix DC
    212. Vax DCL
    213. UltraMacros
    214. Usertalk
    215. Verilog
    216. VHDL
    217. Visual Basic
    218. vi
    219. VICC
    220. VIM
    221. VScript
    222. Word Basic
    223. YACC
    224. Yorick
    225. zsh
    226. 4DOS Batch
    227. 4Test

    Most Unique Languages

    • APL2
    • Befunge
    • Brainf***
    • Common Lisp
    • Forth
    • Make
    • Meta-HTML
    • Mumps
    • MUSH/TinyTIM/TinyMUSH
    • PAL
    • Prograph
    • Prolog
    • RPG/400
    • TECO
    • YACC

    Cyber-Beer:

    Beer Homebrewing Guide
    BeerMasters Tasting Society
    Yahoo Beer Links

    The Programs:

    This got too big to keep on one page. To see the list of 99BoB programs in chunks, click here


    Compilation Copyright 1995-1998 Tim Robinson. All Rights Reserved
    Permission to copy enthusiastically granted to instructors of computer science
    (who would like to demonstrate the styles of different programming languages
    to their students) provided that the names of the contributors are retained.

    Back to the Funhouse