Differences between RobotC and PROS

Hello everyone,

So I recently had a look at PROS, and I’m possibly thinking of switching to PROS next year. However, I can’t find way to many differences (except for a couple extra functions dealing with the encoders and gyroscope that RobotC doesn’t have). What exactly are the main differences between the two?

I was also wondering: RobotC has a competition template for interacting with the competition switch. What is the PROS equivalent of this?

-Programmer for 46A

The main difference is that PROS forces you to use its own competition template while RobotC allows you to create your own. You place your user code in the functions that PROS provides (Autonomous, Op Control). If you use RobotC you can place your code in the same functions with the default template, or create your own.

I made the switch from ROBOTC soon after PROS was released. PROS is a step up from ROBOTC. Comparing the two, ROBOTC gives a huge helping hand in everything from creating header files to configuring your cortex. Like 536C said, you can’t mess around with the competition template file. If you feel like there isn’t much more you can get out of ROBOTC and want to get a little bit more advanced, try PROS. If you feel like you can take even more of a plunge, try out ConVEX.

When it comes to grammar/syntax, there isn’t much of a difference. PROS also allows you to use your favorite IDE - Eclipse, Visual Studio, or go old-fashioned with Notepad. I use Visual Studio.

PROS is a minor step up on the scale of “advancedness” when compared to ROBOTC. Similarly, PROS (I would imagine) is a bit more like the real deal when it comes to programming robots - there is no nice dialog for setting up the I/O ports, the compiler isn’t as nice, etc., etc.

Something else to consider, you will eventually have to pay to upgrade ROBOTC while PROS will always be free.

Concerning the part in bold, what features make PROS a little more advanced than RobotC? Would the use of pointers (if you wanted) be one of them?

I believe that RobotC can do pointers.

Oh it can? Interesting.

After researching some of the PROS api and running the PROS ide, I understand a bit more on what advanced features are included in PROS. I especially like the imeGetVelocity() function, and many others.

My school has one spare cortex, so I’m going to see if I can experiment with PROS on that.

Don’t forget about source control! PROSe also allows easy integration of Git source control. link

It has saved us multiple times…

Me too! [10char]

As 536C, ROBOTC can do pointers.

The biggest difference you’ll notice is that you’ll have to create header/source code pairs.

Basically if you try to include a source file in multiple other source file, you end up getting redundant code that the compiler gets tripped up on. ROBOTC knows better.

Also, PROS’s compiler doesn’t give as much help as ROBOTC does, but the IDE (Eclipse, Visual Studio, or similar environment) help you catch mistakes in real time.

The actual switch from ROBOTC to PROS isn’t all that difficult, nothing becomes more challenging to accomplish so much so as it is there’s more to watch out for and do.

I hope this helps. It’s somewhat difficult for me to come up with more differences because I’m simply not thinking of them. I’m sure Jabibi or someone else will think of some that I can’t.