Here is a brief list of programming languages that are significant for one reason or another and that are/were used by many people or for a long time:
Mindstorms is (part of) the title of a famous book, mostly about LOGO, by Seymour Papert .
Fred Martin and others at MIT created the Handy Board with Interactive C. This lead to the much smaller Cricket , just recently in a commercial version .
Already in 1984 FischerTechnik introduced a connection between their kits and a parallel computer interface. This led 1997 to a serial interface with a programmable microprocessor and just recently to a USB interface .
LEGO offered the Cybermaster with a radio connection in Europe and introduced the RCX with an infrared connection in the US in 1998. The details about the RCX were quickly disassembled and disclosed on the Internet and this lead to a multitude of programming environments. In 2000 LEGO produced a slightly extended firmware for the RCX and this time described the details in an extensive Software Development Kit .
LEGO added other programmable bricks: the Scout which can be accessed and programmed with the IR tower , and the MicroScout which can be programmed with a Visible Light Link from the Scout, and just recently the new brick for the Spybotics series. However, all of these bricks are much more limited then the RCX.
All of these controllers use more or less the same architecture: there are outputs for motors and lamps, inputs for switches, light-sensitive diodes, and other sensors, and usually a simple display with switches to operate the unit.
All of this is accessible to a microprocessor — the RCX uses a Hitachi H8/300 chip .
There has to be at least a small program in read-only memory (ROM) that communicates with a host computer in order to load other programs into memory. LEGO and the MIT group mostly use infrared devices for communication; the Cybermaster is radio controlled.
Typically, the user code itself is compact and consists of byte codes which are interpreted by a program that is loaded into volatile memory and stays there until the batteries are empty. This is called firmware — together with the code in ROM it provides operating system services (access to the inputs and outputs) for the user code.
The RCX became so popular mostly because people were able to disassemble the ROM code and create their own firmware ( Interactive C , pbForth , legOS , leJOS , etc.).
LEGO published the byte code specifications for their firmware and people decoded the infrared protocol so that they could write byte code programs using arbitrary environments (Visual Basic, Not Quite C , Java , etc.).