Best coding language for V5

I thought PROS was just the program that runs C/C++, not an actual new programming language?

Hey man, kinda random question here but what do you think of MATLABs? Sorry again for all of the questions.

you are correct, PROS and Vexcode both run C++. What @The_To probably meant was that PROS as a library (see my other posts lol) is more advanced, which is also still debatable.

1 Like

I have used multiple different studios (all C++ based) for robotics:

-VCS (dont)
-VCS+NotVCS (dont)
-VexCode (pretty good)
-PROS+Atom (pretty good, but not as good as Vexcode, simply due to bugs with cquery)
-PROS+VSCode (best I’ve used so far)

PROS+VSCode I find works really well, with the language server working fine, though you do have to use the CLI for this. Okapilib alone makes learning to use PROS worth it.

9 Likes

I haven’t really worked with MATLAB, so I can’t say much about this. I don’t want to misguide you with something I’ve never worked with.

That’s fair, thanks anyways!

Do you specifically want to know about using MATLAB for VEX or MATLAB in general?

I would strongly suggest not using MATLAB for VEX. If you are doing something that needs that kind of math you should be able to convert the MATLAB code to VexCode or PROS. Personally I use PROS for our robot for the extended API and okapi but I am a programmer for a VEXU Team. PROS is a bit more difficult to work with but allows for more complex code. I would recommend that you start with VexCode which is a bit easier and then when you get the hang of it switch to PROS. It shouldn’t be too hard to convert your code.

2 Likes

I recommend installing clangd and get it setup with the VSCode extension. It’s awesome and better than cquery in all aspects (speed, functionality). clang-format, clang-tidy are also included in the VSCode extension :slight_smile:

I think we are all forgetting HTML. Best language for robotics without a doubt.

2 Likes

I thought this thread was about programming languages

2 Likes

(That’s the joke…)

1 Like

Quite a confusing statement. Let me reword it:
VEXCode was designed to be a direct upgrade from VCS, so don’t use VCS as updates for VCS are no longer being supported.

PROS is also another popular C++ programming platform, but learning it takes a lot of time to figure out. Also, as an addition, I would prefer doing VEXCode first, then consider PROS if you feel like you have learned the gist of C++ and how it operates.

RobotMesh doesn’t seem like a popular choice, not for any reason in particular but due to it’s lack of advertising and community-ran assistance (such as in competition). If someone uses RobotMesh, the API’s are quite confusing, especially for those who want to code using python. That is why, although they have a good language and system, I would not recommend as the chance of someone in competition to use RobotMesh are unlikely.

I want to emphasize that PROS is a very heavy software. If you are a beginner and immediately start out with PROS, you may learn PROS but you may learn PROS in a manner that is not optimal. It will be better to first learn VEXCode, and maybe take a Computer Science High School course to understand how brackets, functions, syntax, and file management works before exposing yourself to something difficult to learn. By immediately jumping to PROS on your own, you will be basically putting yourself on the frontlines with no tools, weapons, or experience.

5 Likes

I know
extracharacters

That is a valid point and something that I hadn’t considered. I still feel that if you take some time to build some basic C++ programs and learn the overall concepts first, PROS can be a great starting option. I do agree that if you try to go straight for it without any background knowledge you might develop bad skills, but if you do some basic C++ first, you should be good to go. So my recommendation would be to actually learn C++ and build some basic programs to familiarize yourself with classes, file structure, etc first. Then jump into PROS and begin actual robotics programming.

My only concern with learning VEXCode first is that it might become confusing because you have two very similar API’s in your head. It might become a little difficult to remember which functions and syntax go with which platform.

3 Likes

Continuing the discussion from Best coding language for V5:

So this in general makes me unhappy.

@Deicer let me try this “I’ve never seen or competed against @Deicer robots, but I can’t speak to the quality of them, but by the way I’ve worded this, they are substandard.” Ouch. That’s like a Yelp review that is by people that have never eaten there. Didn’t use it, don’t use it, then you don’t have an opinion.

@Connor writes " the API’s are quite confusing, especially for those who want to code using python", Ok, so maybe a valid point, want to give an example? RobotMesh created an entire set of Python library (aka API calls) that don’t use a structure you like. So lets here how it’s confusing. I have to be honest I get Python code and look at API names and parameters and go “WTF?!?” but I don’t know the developers mindset and what their overall taxonomy was. If I look at their universe it may also make sense. I look at the C++ API’s on a regular basis and go :man_shrugging:

And as an aside @LilTree, I got your joke, but you should have gone with “I think we are all forgetting CSS. Best language for robotics without a doubt.” I know some pretty amazing CSS people and think that an HTML fragment with a ton of CSS could make a champion robot

Sorry for the full rant, but the reality is most of this is personal preferences. But to those being pundit offering up opinion you need to offer some creds on why you can say things and offer up examples.

4 Likes

I was merely stating that it existed as an alternative. Would you have preferred I give it a positive review even though I have not used it?

edit: you used my exact line and then added more to it to make it negative. Please don’t put words in my mouth

2 Likes

Nope not a positive review was requested, no use and no personal knowledge and therefore no comment would be my preference. It’s equally bad to say “I’ve never been in a Chevy, actually never seen a Chevy, but I’d buy one”.

Yep, and that’s what people’s brains do. They read the first part and assume the second part. Words and sentence construction matter. You were conveying an opinion, I just took it in a direction.

I didn’t quote you, and careful reading is I didn’t put words into your mouth, I used some of the words what you wrote in a different order, possibly in a way you didn’t intend it to look.

Congrats, you got the point.

1 Like

For new people like you I would highly reccomend using vexCode first, once you get using vexcode down you can start to use PROS. Its just better this way instead of diving straight into the deep end.

1 Like

If I’m transferring from vcs? What is the best language to use?