# RobotC

{% hint style="danger" %}
Robot C is for the older VEX Cortex which is no longer supported.
{% endhint %}

## Details:

* VEX-Supported
* Bytecode interpreted
* Preemptive multitasking
* Proprietary libraries
* Works out-of-box, built-in IDE
* **Superseded by** [**Midnight C**](https://wiki.purduesigbots.com/software/vex-programming-software/midnight-c)

**RobotC** is an *interpreted* C-like programming language available for the VEX PIC and [VEX Cortex](https://wiki.purduesigbots.com/vex-electronics/legacy/vex-cortex). It offers real-time debugging and a relatively simple set of internal libraries mostly based on the use of (real or virtual) arrays.

### Features

* Built-in debugger allows pausing and resuming user code and real-time monitoring of variables
* IDE integrates firmware updates, code authoring, compilation, and flashing into one program
* Primitive multi-tasking built in
* Support available on website and from VEX
* Simple and easy to learn, no need for users to interest themselves with technical details

### Shortcomings

* Interpreter emulates an 8-bit processor, substantially slowing user code and preventing any numerically intensive algorithms from being useful
* Library abstracts many details and prevents advanced access or fine-tuning [VEX sensors](https://wiki.purduesigbots.com/vex-electronics/vex-sensors)
* Neither free nor open-source, and only works on Windows
* Lack of support for objects, dynamic allocation, wide integers, or interrupts severely limits code capabilities
* Array-like syntax can be confusing and is rife with opportunities for indexes out of bounds or overflow
* Optimizer is poor and IDE is generally low-quality, with a fixed code style and terrible code completion

#### Teams Contributed to this Article:

* [BLRS](https://purduesigbots.com/) (Purdue SIGBots)


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://wiki.purduesigbots.com/software/vex-programming-software/robotc.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
