I’m curious as to how many people use ROBOTC vs. how many people use EasyC. I’m obviously not asking which is better, because I’m not touching that debate with a 10 foot pole. Please indicate the program that you use on the poll. I’ll also include an option for people who use a different (possibly custom?) language.

You should probably add an option for “both”, which is what I would have picked. As it is, I picked RobotC because that is what I prefer for my personal projects. However, when I’m teaching robotics, I nearly always use EasyC because it seems somewhat more approachable to new programmers.


  • Dean

I’m not sure if its just my computer, but the percentages that it shows me are off :confused:

For me, it is showing: RobotC: 5 votes @ 71.43% and Easy C: 3 votes @ 42.65%.

I prefer RobotC personally, as i feel it gives me a faster way of programming compared to drag and drop, or even easyC V4’s C input option, but that’s my opinion. I am a somewhat experienced programmer, so i am comfortable with RobotC, but EasyC is definitely a useful tool for new or inexperienced programmers, so each has their perks. It is more of a preference for anyone however, which is what this thread seems to be about.

i picked both because i use both and prefer each for different reasons

Hmm — I didn’t get that option. It presented as a “radio button” list that only let me pick one item. I tried Safari and Firefox, both on a Mac, with the same results.

  • Dean

Right now, we’re using EasyC because we don’t really want to bother learning RobotC. The additional functionality doesn’t seem like something we would use with our simple code and autonomous routines, and it doesn’t require any real knowledge of how the syntax is supposed to look like. It would be neat if RobotC or something like it had drag and drop snippets of code, though.

Somehow, I have 6/11 people voting RobotC at 62.5% and 5/11 on EasyC at 50%. 112.5% of people voting use one of these two?

This option is enabled. I don’t know why it isn’t showing up for you since another user got it to work:

My team uses RobotC. I am pretty sure our programmer likes it?!

First of all, I find RobotC to be all around WAY easier than EasyC. For some reason the drag and drop always confused me. But RobotC does have snippets of code that you can use. There are also numerous built in functions. I like to just write out everything and customize it all, but RobotC is definitely not as hard as it looks. It took me like 1 day to learn and now I feel like I’m pretty good at it. It also makes writing things like multiple autonomous modes, programming skills, and dynamic functions much easier. I find that if you are looking for something to program basic driver control functions, then EasyC is probably easier, but once you get into more advanced programming RobotC really shines. Although, 1103 programmed in EasyC so its not impossible.

I have heard that ROBOTC is a lot easier to use than Easy C.

Both environments have their pros and cons. I would think EasyC is less intimidating for novice programmers, due to the drag and drop interface, but I also think that it would soon become a source of frustration. RobotC has better debugging capability IMHO but ultimately it should be possible to write more sophisticated code using EasyC due to it’s use of a compiler with functionality that behaves closer to standard C compilers. It’s quite easy to work with vanilla C code in EasyC and leave the flowchart interface behind. Having said this, a good programmer could achieve similar results with either.

that just about sums it up.

EasyC Pro has many more features than standard EasyC, but is lacking the multi-tasking capability that RobotC has. Multi-tasking allows your VEX applications to read sensors while at the same time control various electro-mechanical subsystems and navigating your bot around a room autonomously avoiding obstacles.

Another feature of using the EasyC drag and drop interface is that it generates safer and more robust C code, although it is still in a very primitive stage compared to commercial offerings by IBM (Rational Rose) and Microsoft (Visual Basic, C/C++ App. Wizards). Commercial applications developers and software factories both in the US and abroad use these CASE and CAE software tools for a competitive advantage.

The question of C vs other safer languages such as Ada95, C#, C++, JAVA should also be considered for VEX robotics since these languages have software safety built into them. Ada95 in particular is used by NASA, Boeing and European software developers for Life Critical embedded systems used in Military, Avionics and Medical applications and has constraint checking and safe inter-task communications using protected records, predictive task scheduling and rendezvous mechanisms and is also free (paid for by our taxes). I consider VEX robotics a good candidate for these kinds of languages.

all they have to do is pass the inspection and the language is legal for competition vex dose not develop its own programming language and the rules do not prevent us from using whatever we want so if you can convince the makers of the programming software to make drivers and competition templates we can use that language (good luck on the convincing)

I’ve only looked at EasyC V4 for cortex. I agree with the multi tasking comment, I prefer RobotC and this is one of the reasons why. You could theoretically create you own multi tasking in EasyC but it’s not really worth the effort.

Although the drag and drop interface is perhaps safer, once you start using user C code you have access to pointers and all the chaos they can create. RobotC I would argue is safer as only the VM functions are available.

I know of at least one group working on a Java implementation. Your comments about Ada are correct, however, for commercial embedded micro controllers almost everything is still written in C or C++.

I didn’t know that you could use pointers in EasyC. This is not the case in ROBOTC. What about recursion? Can that be done in EasyC? Forgive me for not knowing anything about EasyC.

GNAT Ada runs on various LINUX and UNIX based platforms including very powerful commercial microcontrollers. There is even an Ada implementation for the LEGO Mindstorm microcontroller. Check it out using the following links:

Anyone using Simulink Mathworks Labview-type wiring diagram interface that writes an EasyC program for you?

Its available for BEST teams this year, and there are some video training available.
One of the examples is “gear shift”, where the buttons allow you to shift up and shift down the max speed of drive.

Well I don’t know that much either, I did some testing at the beginning of the summer to try and decide which environment I would invest the time into learning well. My recollection is that both pointers and recursion worked as you would expect, under the hood EasyC is using the gcc for arm toolchain linked against their own runtime library and startup code. I decided that RobotC was better for me as it had the better debug environment and hooks available for me to create my own OSX based debugger. RobotC has some weaknesses but once understood programs can be designed to avoid them.