Teaching programming language to new programmers

What language would you recommend for me to teach the new people

  • Java
  • C++
  • Lab view

0 voters


I would choose whatever language the team is already using since it is already familiar. But if starting from the ground up, definitely Java. The amount of resources available for Java far surpasses all the others (Or at least in regards to FRC).


Java is unfortunately the most common language taught in high schools these days too.
I know that’s why team 2170 switched from being a C++ team to java in 2021 . Covid was a great year to do this to be honest.

1 Like

porque no python


Different types of kids need different types of introductions. Both formally teaching and teaching programming via FRC I have seen kids that need help varying from basic logic to syntax. I wish our high school’s APCSA (or CS in general) course was more prominent, it would make FRC programming a lot easier. Echoing what others said, there is already a lot of resources for Java. Docs are very helpful, Chief Delphi is friendly, and Discord can get you quick responses.

What Language(s) do the students already know? What Language(s) do the mentors already know? What Language(s) does the school already teach?

If some/any of those overlap with the options for FRC, I recommend that. If not, then I recommend Java as it is the most popular language in FRC currently, with the largest body of support available.

I even maintain a Resource Compendium for FRC Java resources that you are welcome to check out:

1 Like

This might be the most definitive cd poll result ever.

It tracks with the usage statistics…

It is not officially supported till next season.

Correct, but I’m not clear how that answers my question. I’d argue python should indeed be on the list.

The other students on my team are in school learning robot c which is a hybrid between java and c++ which vex uses

It should not be… YET. Once all the official documentation and everything gets written for it then I am all for teaching new people python. Java can be a pain for beginners.

Basically, we need to finish [tracking] Add Python Examples · Issue #1818 · wpilibsuite/frc-docs · GitHub and add links to RobotPy’s existing docs.

1 Like

We’ve had a fantastic experience with robotpy + magicbot, though it’s not officially supported yet. There hasn’t been anything we’ve wanted to do that we haven’t been able to. The students on the team have also found that the documentation for the strictly typed languages is helpful to follow as a sort of pseudo code for function calls, etc. and general example implementation.