August 15-21, 1999
NQC (Not Quite C)
NQC (which stands for "Not Quite C") is a highly popular third-party tool for programming the
LEGO® MINDSTORMS Robotics Invention System.
NQC is actually an ASCII-based programming language with multitasking and variables,
which means that it's much more expressive than the graphical oriented software which ships with the RCX.
(Children, however, may still find the LEGO software easier to use.)
NQC is the brainchild of Dave Baum, who designed the language after the popular systems programming langauage C, and adapted it for embedded systems programming in the RCX. One beauty of NQC is that it produces programs which run right on top of the default RCX firmware, which means getting started with NQC is straightforward. Another beauty of NQC is that it adds variables, macros, and inline subroutines to the list of ways you can express yourself. And of course, since it's modeled after C, it's pretty easy to learn if you're already familiar with procedural programming languages.
Since NQC is open-source software, it has been ported to multiple OS platforms. In other words, you're not limited to Windows; you can use NQC with Linux, MacOS, OS/2, and so forth. NQC also has an active community of users and developers working together to provide enhancements, informal technical support, and additional related tools. Dave maintains a helpful list of related items in the Other Pages section of his NQC website.
(Note: NQC is an independent, third-party project which is not sponsored, authorized, or endorsed by the LEGO Group of companies.)