This is a summary of all of the major development streams of the Alicebot technology, in chronological order. You can read some interesting essays about how A.L.I.C.E. came to be here.
The first edition of A.L.I.C.E. was implemented in 1995 using SETL, a widely unknown language based on set theory and mathematical logic. Although the original A.L.I.C.E. was available as free software (often misnamed "open source"), it attracted few contributors until migrating to the platform-independent Java language in 1998. The first implementation of A.L.I.C.E. and AIML in Java was codenamed "Program A".
[Visit the SETL home page at http://cs.nyu.edu/~bacon.]
Launched in 1999, Program B was a breakthrough in A.L.I.C.E. free software development. More than 300 developers contributed to A.L.I.C.E. Program B. AIML transitioned to a fully XML-compliant grammar, opening up a whole class of editors and tools for AIML development. A.L.I.C.E. Program B won the Loebner Prize, an annual Turing Test, in January 2000. Program B was the first widely adopted free AIML software.
Jacco Bikker created the first C/C++ implementation of AIML in 2000. This was followed by a number of development threads in C/C++ that brought the Alicebot engine to CGI-scripts, IRC (Anthony Taylor), WxWindows (Philippe Raxhon), AOL Instant Messenger (Vlad Zbarskiy), and COM (Conan Callen). This collection of code has come to be known as "Program C", the C/C++ implementations of the Alicebot engine and AIML.
Program B Java edition was based on pre-Java 2 technology. Although the program ran on many different platforms, it did not take advantage of newer Java features such as Swing and Collections. Jon Baer recoded Program B with Java 2 technology, and added many new features. This giant leap in the interface and the core, plus the fact that Jon named his bot "DANY", justified granting the next code letter "D" to his latest Alicebot Java edition. Beginning in November 2000, Program D is the only the Java edition of the Alicebot engine actively supported.