NXC es la abreviatura de Not eXactly C: un lenguaje de programación abierto creado por John Hansen con el fin de crear nuestros algoritmos para los kits robóticos Lego (NXT, EV3) mediante líneas de código sin tener que modificar el firmware que ya traen. También, en la versión que estaremos estudiando, tiene la capacidad que con la misma interfaz y lenguaje, programar placas Arduino, Raspberry Pi y BrickPi.
Podremos compilar nuestro código (mediante la herramienta NBC), con el fin de enviarlo al controlador de nuestro robot (haciéndolo autónomo); mientras tengamos comunicación con nuestro controlador, podremos además ver los archivos que éste posee pudiendo borrarlos, agregarle nuevos, renombrarlos y hasta transferirlos hacia nuestro equipo.
Otra característica de este lenguaje, es la posibilidad de controlar las acciones (comenzar programa, detenerlo) mediante las opciones en pantalla.
Lo más notorio de este software, es la capacidad de simular la programación con un robot virtual que podremos modificar de acuerdo a nuestra prueba. Si hay que tener en cuenta que la limitación está en que no podremos realizar estructuras complejas, sino que preferentemente para el manejo de nuestra creación (hasta 2 motores) a través de un ambiente controlado (esto lo veremos más adelante).
