The EV3 brick runs a linux kernel so it is extremely compatible with many different programming languages. 3rd-party support packages for basically any language you can think of have been made, and most are very mature by this point. A quick google search can come up with some of these. This previous post, among many others on this site, can help point you in the right direction.
In summary, EV3Dev is always a good starting point - the framework is kind of a catch-all of the various programming languages available. LeJOS (Java) is a big step up in terms of features (and is generally higher performance than an on-brick Python interpreter, for example). The highest performance solution is probably EV3RT, if you really want to practice your embedded C/C++. But for a project as simple as EV3RSTORM, EV3Dev should be more than sufficient.