What do you use to code your robot?

As much as I wished to continue doing VEXCode, I have finally switched over to PROS. Initial impressions tell me that the documentation is not enough when using PROS. The PROS VSCode extension is very buggy and unintuitive, to a point where uploading just doesn’t seem to want to work. So I find myself using the terminal to upload (which I really hate doing because of its inconvenience).

On the other hand, I find that sometimes VEXCode fails to notice a change in files that are in custom includes. I am unsure if this has to do with VEXCode or the compiler, but it leads to issues with larger programs when developing a large API inside of the VEXCode infrastructure. The VEXCode documentation is much more straightforward with much less fluff than the PROS documentation, and appears to be easier to understand by the masses because of self-commenting and simple usage of syntaxes. The only caveat is that the integrated documentation is hard to find within the IDE a lot of the time. The VEXCode IDE also has a terrible file system, which is why things would be better as a VSCode extension for more advanced programmers. On another note, although VEXCode has good documentation within the IDE itself, the API for VEXCode found in Google is awful.

But back to PROS. The programming language is heavy and requires extensive C++ knowledge to use only a portion of its capabilities. The documentation is unnecessarily complex with a bloated API, with random usage of redundant information whenever you search for things on the PROS API. The coding language shoves everything in front of the user as if they can decipher the information in one fell swoop, which tends to be the weakness of PROS: Its non-intuitiveness for newcomers. Whenever entering the PROS infrastructure, it is almost inevitable that a problem will need to be solved. VEXCode just works out of the box, while PROS is like rubbing your fingers against sandpaper hoping that you’ll eventually be able to take your hand off and relax a bit.

With PROS, I find that there tends to be a cringeworthy culture that has a “do it yourself” mindset, and shove away people who asks for help. This further results in people straying to VEXCode because there are more people willing to help with VEXCode programming in a more supportive environment. The mood of the people in PROS do not fit my standards of a safe learning environment, which was why I stuck with VEXCode for so long in High School. I simply do not want to deal with asking for help and the response being the same repetitive “read the documentation” or “figure it out yourself.”

But now I switched to PROS after taking classes on C++ and know all of the syntax. Few individuals know the syntax or have yet to take a class on learning C++. Oftentimes, classes are beneficial to learn a language as it covers a large majority of test cases that are hard to identify through simple trial and error (time consuming). As most competitors are High Schoolers, PROS is far fetched of a programming language for most, simple because most do not know how to program when faced with such a problem. That being said, I find it saddening to be bashful to people who simply wish to learn, but do not know how to.

I guess this is a bash on both flavors. One for being too buggy and the other for being too inconvenient for the majority of entry level programmers (or perhaps both are buggy and inconvenient, and there’s no perfect language).