Best coding language for V5

If you’re going from VCS to something different, if you want to stick with the same API (set of functions and commands), go with VEXCode. The API’s are identical.


Since this thread is continuing a good discussion about VEX and C/C++ (API), it is probably good to note how PROS, VexCode, and RMS fits into the software running on the brain. Here is a post from James Pearman.

here is the image showing the software stack.

The RMS API is essentially the VEXCode API. It looks like the doc pages are copies. They also have many examples (click featured or public projects), but it is bit challenging to navigate to find what you want. VexCode has a more streamlined/simplified help (click tab VEXcode V5 text).

The PROS API is completely different, though it has all the same features but some are implemented in a different way (button pressed VEXcode vs PROS). To say one API is harder or heavier than the other is not really accurate. You could say the API documentation is easier or harder to understand. I find the PROS API documentation to be easier for me to understand. Probably because it is more similar to technical docs I’ve experienced in the past. I also like that there are examples for many functions. The extra comments here helped a lot.

The only “hard” part about PROS is setting it up is a little bit more involved especially so if your using linux (but then if you’re using linux…).

One thing to note is that PROS uses C++17 by default and VEXCode uses C++11. Though C++11 is not a deal breaker (and J. Pearman assures me that VEXCode’s use of clang supports -std=c++17, I haven’t got it working). C++17 has some features that could be useful such as clamp, local var defs for if-case, gcd/lcm. Here is a good list of features (most are above the scope that will be used by VEX teams). Once again not a show stopper.

If you want to use GIT for versioning or code sharing then PROS with atom (PROS editor) has the best support. It’s not impossible with VEXcode but it is also not integrated in the IDE.


Let me finish that sentence:

But then if you’re using Linux…

  • …it’s your only option for an offline environment
  • …you probably know how to run a simple command to install the .whl (or at least you know how to Google it)



MATLAB for VEX programming.