Where can I learn RobotC?

Just the base RobotC code editor

And that’s what I plan to use as well, seeing as we aren’t allowed to download other editors onto our computers

It would have been important to know this sooner…

Yeah, sorry about that

What does it mean to learn “actual programming?”
The definition of programming language is “a formal language, which comprises a set of instructions that produce various kinds of output.” Nowhere there it states a programming language HAS to be C++. In fact, who knows if in 4 years that we will be getting a job that is based upon C++ programming, so I would like to say that it is better to utilize ROBOTC to learn the fundamentals of commonly-used coding first before jumping yourself into PROS with no experience and getting yourself lost with all of its functions and systems.

seriously ? I don’t think that’s an issue (and it may have, I can’t remember)


such as ? sure, there are some advanced areas such as function pointers, but I doubt there’s anything related to robot control you can’t do equally well in ROBOTC as PROS.

But the biggest advantage ROBOTC still has over PROS, ConVEX, EasyC and all the others is the integrated debugger.


You have access to multiple files, you can use advanced odom algorithms (that are mostly made for PROS), you can use your own IDE, and PROS has an easy-to-use support hotel.

No don’t be sorry. You asked for help in ROBOTC, it’s not your job to give a full justification. You didn’t ask for advice on programming software, where your constraints would have been important.

And to everyone else, trust @jpearman and I probably already know the basic reasons. You would have to say something we didn’t already know to get us to change our mind. So unless you are saying something we would find new information, don’t bother.


yes, there are some libraries for PROS (not sure okapilib runs on cortex though)
ROBOTC also has some advanced libraries. example.


and yes, PROS has a choice of editors and a more conventional approach to project organization. Neither of which really contributes to writing better software when you are just starting out and learning to program.


Ok. I see your point.

I also have been reminded that this thread was about robotC, and there are valid reasons for why OP can’t use PROS. As the first reply said, Carnegie Melon robotics academy is very good for learning robotc.

1 Like

About 2 years ago, my teammates and I were learning ROBOTC with our mentor at the time. We were trying various C things, and one of the things he taught us was bit fields. He was just as shocked as us when there were no bit fields.

But I will concede that its not an issue for anyone doing anything reasonable these days, except for a few cases where every bit counts.

1 Like

Yeah, ROBOTC is not C. This is one of many language features that are absent or slightly different.

It should be noted that PROS (for both Cortex and V5) and all the V5 environments provide standard implementations of C (and in the case of the V5 systems, C++), so that shouldn’t be an issue if you’re using those systems.

That being said, there’s nothing inherently limiting about ROBOTC, and it’s probably better than the alternatives for a beginner level. Remember that in the pre-V5 days, nearly all competition teams used ROBOTC; it may have some annoying differences, but it doesn’t actually limit what the program can or cannot do.


I just wanted to throw in that all of our (5225 that is) Cortex code was written in ROBOTC. This includes our original odometry implementation in Starstruck as well as the 108 point programming skills run in ITZ. I do like the fact that you can compile and download from the command line with ConVEX and PROS, and that they’re open source, hence why I currently use PROS over VEXcode, but that’s besides the point.

As others have pointed out, there’s nothing wrong with using ROBOTC as long as you don’t expect it to be a fully standard C implementation.

Also, whenever I contacted them with info about a compiler bug, ROBOTC support was usually pretty good about getting back with me and fixing the problem or providing a workaround. I never contacted support for any other reason, but at least in that regard they were pretty good.