Its a lot more like TI basic (the language for programming calculators) than it is like c++. C++ has something called objects (collections of data and functions) that completely changes everything about using the language.
ROBOTC is a large subset of the C language, a few parts of ANSI C are left out most of which would not be used by novice programmers. It also has a few C++ like features thrown in, things like function overloading, very few of the ROBOTC programs I see ever use these advanced features.
ROBOTC was modeled after a program called Interactive C that was developed at MIT in the mid 1990s.
For RobotC references:
I highly recommend the VEX cortex video trainer in RobotC.net I use this extensively in my introduction to robotics programming and design class, and there are sample programs built in to the RobotC install for each of the projects. Very self explanatory.
I’ve found that books are only so helpful. Alot of what I’ve learned has come from actual implementation. A good example of this would be VEXBot, the discord bot we use on the VEX Discord server. It was many of our first times using JS/Node.js in a ‘production’ environment, and sometimes just our first time. To be honest I still don’t understand Async stuff, but writing code has definitely helped me learn more about it.
The documentation for languages is great. Having a technical understanding of the code is always great! For something like JS, i’d recommend looking at the mozilla docs. (W3Schools is absolutely terrible, and teaches the wrong implementations of many things). With tackling something like JS, learn about asynchronous programming, so you have a better understanding of JS. With Java, understanding OOP, and how to construct programs in an object oriented hierarchy is important. So read up on that. With Python, anything really goes, read some tutorials, but just know that python’s syntax is sometimes sparse (lacking types [Similar to JS])