Not eXactly C
# Not eXactly C

Not eXactly C (kurz NXC) ist eine Programmiersprache für Lego Mindstorms NXT. Die Sprache hat eine C-ähnliche Syntax. NXC wird ständig weiterentwickelt, daher können auf der Webseite verschiedene Versionen heruntergeladen werden. Im Gegensatz zur IDE BricxCC ist der NXC-Compiler für diverse Betriebssysteme erhältlich.

## Entstehung

Die erste Version von NXC wurde 2007, kurz nach der Veröffentlichung des NXT, unter der Mozilla Public License veröffentlicht. Der Erfinder, John Hansen, hatte bereits für das Vorgängermodell, den RCX, die Sprache NQC entwickelt. Hansen ist auch für die BricxCC IDE verantwortlich.

## Besonderheiten

Eine der Besonderheiten von NXC war, dass es zu Beginn der Entwicklung keinen Datentyp für Gleitkommazahlen gab, da solche Werte bei Verwendung der Motoren und Sensoren des NXT nicht vorkamen. Mit Erscheinen der LEGO MINDSTORMS NXT Firmware-Version 1.26 wurden offiziell Gleitkommazahlen eingeführt, die auch in der aktuellen Version von NXC unterstützt werden.
Außerdem bietet NXC zwar die Möglichkeit mehrdimensionale Arrays zu erstellen, bietet jedoch keine Möglichkeit direkt auf die einzelnen Elemente der unteren Ebenen zuzugreifen. Abhilfe schafft eine von J. Hansen angebotene modifizierte Firmware, die auf dem Original von LEGO aufbaut. Erweiterte Array-Funktionen sind in Firmware 1.07 und 1.27 enthalten.
Die neueren Versionen von NXC beinhalten auch NXT-2.0-spezifische Befehle, zum Beispiel zum Ansprechen des neu eingeführten Farbsensors.