Not Quite C
   HOME

TheInfoList



OR:

Not Quite C (NQC) is a
programming language A programming language is a system of notation for writing computer programs. Most programming languages are text-based formal languages, but they may also be graphical. They are a kind of computer language. The description of a programming ...
,
application programming interface An application programming interface (API) is a way for two or more computer programs to communicate with each other. It is a type of software interface, offering a service to other pieces of software. A document or standard that describes how t ...
(API), and native
bytecode Bytecode (also called portable code or p-code) is a form of instruction set designed for efficient execution by a software interpreter. Unlike human-readable source code, bytecodes are compact numeric codes, constants, and references (norma ...
compiler In computing, a compiler is a computer program that translates computer code written in one programming language (the ''source'' language) into another language (the ''target'' language). The name "compiler" is primarily used for programs that ...
toolkit for the
Lego Mindstorms Lego Mindstorms is a hardware and software structure which develops programmable robots based on Lego building blocks. Each version includes computer Lego bricks, a set of modular sensors and motors, and Lego parts from the Technic line to ...
, Cybermaster and
LEGO Spybotics Spybotics is a Mindstorms robotics sub-series by Lego. There are four different sets, each of which includes a Spybot, a controller, a cable, and a software disc. The Spybots are color-coded, and each one has a different set of equipment attach ...
systems. It is based primarily on the
C language C (''pronounced like the letter c'') is a general-purpose computer programming language. It was created in the 1970s by Dennis Ritchie, and remains very widely used and influential. By design, C's features cleanly reflect the capabilities o ...
but has specific limitations, such as the maximum number of subroutines and variables allowed, which differ depending on the version of
firmware In computing, firmware is a specific class of computer software that provides the low-level control for a device's specific hardware. Firmware, such as the BIOS of a personal computer, may contain basic functions of a device, and may provide h ...
the RCX has. The language was invented by David Baum. He has released two books on the subject.


Simple program example

A simple test program written in NQC for an RCX with a motor connected to output port A could look like this: task main () // Main program Thus, motor A will go at full speed for two seconds before being turned off.


Compilers and integrated development environments

NQC
compiler In computing, a compiler is a computer program that translates computer code written in one programming language (the ''source'' language) into another language (the ''target'' language). The name "compiler" is primarily used for programs that ...
s and
integrated development environment An integrated development environment (IDE) is a software application that provides comprehensive facilities to computer programmers for software development. An IDE normally consists of at least a source code editor, build automation tools a ...
s (IDEs) are available for many platforms including
Microsoft Windows Windows is a group of several proprietary graphical operating system families developed and marketed by Microsoft. Each family caters to a certain sector of the computing industry. For example, Windows NT for consumers, Windows Server for serv ...
,
Mac OS X macOS (; previously OS X and originally Mac OS X) is a Unix operating system developed and marketed by Apple Inc. since 2001. It is the primary operating system for Apple's Mac (computer), Mac computers. Within the market of ...
,
Linux Linux ( or ) is a family of open-source Unix-like operating systems based on the Linux kernel, an operating system kernel first released on September 17, 1991, by Linus Torvalds. Linux is typically packaged as a Linux distribution, which ...
,
BeOS BeOS is an operating system for personal computers first developed by Be Inc. in 1990. It was first written to run on BeBox hardware. BeOS was positioned as a multimedia platform that could be used by a substantial population of desktop users a ...
and
DOS DOS is shorthand for the MS-DOS and IBM PC DOS family of operating systems. DOS may also refer to: Computing * Data over signalling (DoS), multiplexing data onto a signalling channel * Denial-of-service attack (DoS), an attack on a communicatio ...
. One is the
Bricx Command Center Bricx Command Center (BricxCC) is the integrated development environment (IDE) of Next Byte Codes (NBC), Not Quite C (NQC) and Not eXactly C (NXC). These programming languages are used to program the Robots in the Lego Mindstorms series. Not Quite ...
.


References


Sources

Compiler sources:
for Ubuntu
IDE sources:
for DOS

for BeOS

for OS X (Snow Leopard or Earlier)

for Windows

for Linux


External links


NQC Homepage

NQC tutorial by Mark Overmars


Lego Mindstorms C programming language family Robot programming languages {{Lego-stub