What language do you use?

Hey, my team is new, so i was just wondering what programming language you guys use. I’ve heard of C, C++, EasyC, and Java. Which is best? Personally I know a little Java, but I haven’t really heard good things about it on the forums.
-Thanks

well depends on what Im doing . . robot coding I use C,
I/O programing on my PC I use C++,
any thing that I want to look “pretty” I use Java,
and I use ruby when I just want it done.

C and EasyC are the two that FIRST provides teams with, and that there is default code written for (I think there’s default code for EasyC…).

I thought C was relatively easy to learn, and for what you’re doing on the robots it can be done without getting horridly complicated (it can get complicated, but you can do all the basic things and alot of advanced ones without it being too hard).

If anyone ever got courageous they could program in assembly too, but I don’t imagine that being all that enjoyable.

For robotics I use C.
For school I use Java.
For most other projects I use Python.

EasyC is great for beginners, as it is easy to understand and it shows you the code it generates as you go (so hopefully the programmer will learn along the way).

C is a very good language to use for the types of applications seen in FRC. Compared to C++ and Java, it is a very “light” language which still has all of the functionality you will need to program your robot. This is important since the IFI Robot Controller that you get with the kit of parts doesn’t have too much processing power or memory in comparison to your personal computer. As far as I know, C is the standard in embedded-level programming.

As far as C++ and Java go, you will get lots of different opinions. I personally prefer C++ because there are lots of things you can’t do in Java that you can get away with in C++. The downside is that it’s easy to write code that breaks! I use C++ for both school and my own projects.

Java, on the other hand, sort of forces you to be a better software developer by taking care of memory management and providing plenty of built-in libraries to use. Java is also not dependent on any specific operating system, so a lot of companies use it to make their software more versatile. So far I have really only used Java for school, but at my next co-op job I’ll be doing software development using Java.

Robot Development - C18 and ASM (to speed up interrupt handlers)
Desktop/Server Development - C# and .NET 2 or VC++ 8
Mobile Development - C# and .NET Compact Framework

Sounds like me. :smiley:

Except ASP.net 2 for web development.

C for robotics
Java for school
Whatever i feel like messing with for all other projects

Although I’m not programmer for our team, we use C for the robot.
I use Java for school and some other projects.
PHP and MySQL for most of what I do (web development)

C - robotics
Java - school
C++ and/or Java - other stuff

I use:

For robots - C
For school - C++
For work - PHP, Delphi
For OS development - ASM

Here’s what i use various languages with.

C = robotics. It’s hardly ever used anywhere else.
C++ = for fun. Since my school dosen’t have a programming class, i dont use it at school. I just use it to make random stuff at home.
Java = website programming, usually. Java is often used online.

There are also various other languages out there. Many can do the same thing. As far as robotics is concerned, knowing C is enough.

C++ and C# are my two main languages.

I use C for FIRST. I don’t like EasyC.

PHP – web
C++

There are a few others, but they aren’t used frequently enough.

C for FIRST
C# for fun
Did some C++ and Java once upon a time.

I think C# is basically Java, but not broken. And with no crossplatform support. And some cool features. :cool:

English and Spanish :wink:

Seriously, we have found that the Easy C is fantastic. We were a team without a programming mentor last year and one of our students was able to take this software, play and troubleshoot it a little bit and came up with great code and multiple autonomous modes. The Easy C is a great resource for teams who may be a bit short on the programming knowledge

I really only ever code in C for FIRST, since it’s what MPLAB supports and is what the default code is in. EasyC is also supported, but I’ve never used it. I suppose it’s easy to use…

C for FIRST (obviously)
C++ for class and for my self.
Java for a non-first robot I am working on and any thing I need to use PostGRESQL with.
Basic for absolutly nothing, other than the first 4 weeks of programming class last year.

I’ll just offer my 2 cents about easy C. I do not mean to bash it, because I understand that many teams use it, and it is a great tool.

If it is possible to avoid using it, i recommend that you do. It is difficult to program some of the more complicated functions in it. In the end, it would most likely take me more time to program the whole robot in Easy-C than it would for me to program it in C.

C is a very powerful language, and it can be manipulated such that you can do almost anything and everything with it.

However, if no one on your team already knows C, and none of them are motivated to learn C (which is rather boring, because C/C++ are heavily syntax based), using Easy-C to program your robot would be a lifesaver.

Just my 2 cents.

My only big problem with easyC. is that once you get to a point where you know what your doing and you know how to program your robot and you wanna do some more complicated things in pure C, you have to start all over with every thing youve build. there is no “export to C” option in easyC. in other words if you start in easyC your stuck with it.