What is the difference between PROS and VexCode TextV5 SDK

Hi ,can anyone tell me what is the difference between PROS and VexCode TextV5 SDK ?

In my option, PROS is open source os for VEX Microcontrollers .
VexCode Text V5 use the commerical OS SDK .

is that correct ? thanks.

I find that much of PROS is exaggerated by the community, and I believe that both have their unique benefits that reaches specific audiences.

To be frank, the difference between PROS and VEXCode is primarily their difficulty.
With PROS, its difficulty is much harder, and you are almost immediately required to have C++ knowledge in order to utilize most of its features, heck even start out. Pro’s API is very organized, yes, but unless you know the category of the item you are looking for, you’re going to be in a bind. This is why, more or less, if you don’t have any C++ experience, you will find yourself spending minutes, if not hours trying to find the item you are looking for. Pros is borderline C++, where you are required to add items in order to use them. If you have a lot of experience with C++, you can be able to utilize that experience with PROS to the near-fullest extent.

Note: I believe you will be stuck with direct and non-wireless downloading unless you follow their tutorial inside their API to be able to wirelessly download. With PROS I have found my program corrupted not once, not twice, but three times in a single competition. I do not know the reason, but I believe it’s something to be aware of.

In regards to VEXCode, their software has built-in features that you are semi-required to utilize unless you have the knowledge of what to add in. This is both a positive and a negative, but you can be able to #include the extra C++ functionality back into their software if you ever need it. VEXCode is built to be easier to learn to the average user without making them feel overloaded, while at the same time you are given the opportunity to add on more C++ low-level(more difficult/complex) functionality as you continue. The API for VEXCode is built into the software, and their API is very simple, straightforward, and is easy to find information. If you are still having trouble, you can go to their api cloud to see all of the items alphabetized and right in front of your face.

In my personal opinion, if you do not have much coding experience in general, do VEXCode Blocks. If you know how to code but don’t know much about C++, do VEXCode. And if you have a lot of C++ experience I may suggest PROS. If you want to learn to code faster, going to the code that’s most familiar to you is the best option.


you can see some of the structure here

The SDK’s that PROS and VEXcode use are very similar, VEXcode is a superset of what we give to 3rd party developers like the PROS team that takes advantage of some extra built in features of vexos that we only want to support internally to VEX (in other words, we want to be able to make changes to certain things without worrying about breaking compatibility for 3rd party developers).


Thanks for quick reply . @Connor

I think so .
cause when i have a visit for https://api.vexcode.cloud/v5/html/index.html , i can clearly know what i do , which api function i can selected .
but when i visit https://pros.cs.purdue.edu/ . i found this project is extremal large , there are many functions such as cross-complie , dev enviroment install …, and invoke c function in c++ … very confusion for me.

thanks again

for clarity, what I’m calling the SDK is the layer that allows control of the V5 motors and things like that. The PROS team has chosen to wrap those functions with their own flavor of functionality and then add additional libraries such as okapilib that extends the functionality even further. VEXcode could add such things, but we choose to leave most of that for the student and/or other developers to add over time.


I got the idea. thanks ur all reply. now i close this topic focus on the coding . thanks again.

This topic was automatically closed 365 days after the last reply. New replies are no longer allowed.