Chief Delphi

Chief Delphi (http://www.chiefdelphi.com/forums/index.php)
-   Programming (http://www.chiefdelphi.com/forums/forumdisplay.php?f=51)
-   -   C or C++ (http://www.chiefdelphi.com/forums/showthread.php?t=49961)

penguain 13-11-2006 19:50

C or C++
 
which programming language is used in the robot for FIRST(FRC)... i see on the web site it says its C.... but my Team coach said it was C++?

some clarity would be helpful

thanks

thegathering 13-11-2006 19:53

Re: C or C++
 
We use C with an IDE called MPLab by Microchip.


*edit* I wish we could use C++ though, then maybe we'd get some more programmers on our team. C tends to scare them off. :( (maybe that's MPLab's icky-sticky interface rather than the language itself :p )

chris31 13-11-2006 20:11

Re: C or C++
 
Its C.

Quote:

Originally Posted by thegathering
We use C with an IDE called MPLab by Microchip.


*edit* I wish we could use C++ though, then maybe we'd get some more programmers on our team. C tends to scare them off. :( (maybe that's MPLab's icky-sticky interface rather than the language itself :p )

They could always command line compile it. Im sure they would hate that even more.

Kevin Sevcik 13-11-2006 20:28

Re: C or C++
 
I don't think an FRC robot program is likely to benefit from object oriented programming in most cases. We're typically not dealing with a lot of objects that need to be created and destroyed that would benefit from a general class, mainly. There would be some benefit from the probable increase in code modularity and code reuse.

Mostly, however, I think objects inherently incur higher overhead costs than simple structures and procedure calls, what with instantiation and all sorts of things. So I don't think you could take advantage of the strengths of object oriented programming without making your code uselessly large.

thegathering 13-11-2006 21:07

Re: C or C++
 
Quote:

Originally Posted by Kevin Sevcik

Mostly, however, I think objects inherently incur higher overhead costs than simple structures and procedure calls, what with instantiation and all sorts of things. So I don't think you could take advantage of the strengths of object oriented programming without making your code uselessly large.

Well, we tried to make our code as object oriented as we could, which ended up working well for our automatically aiming camera/launcher code. :)

X-Istence 13-11-2006 21:46

Re: C or C++
 
Quote:

Originally Posted by thegathering
We use C with an IDE called MPLab by Microchip.


*edit* I wish we could use C++ though, then maybe we'd get some more programmers on our team. C tends to scare them off. :( (maybe that's MPLab's icky-sticky interface rather than the language itself :p )

The icky interface scared me for a bit. C is an awesome language for embedded systems.

efoote868 13-11-2006 21:53

Re: C or C++
 
just be thankful you don't have to program it in assembly... :P

C works terrific for a robots needs, when I'm trying to help the java peoples learn it, i tell them
"object oriented programming with robots would be kinda useless. For example, what would be the point in
Robot868 robot1 = new Robot868(void);
robot1.drive(10.0);
when you could write code that would simply be drive(10.0)? besides, the interface that Kevin supplies us with is alot more useful."

Too bad its not so easy to describe #define, or any other preprocessors to them :(.

Kevin Sevcik 14-11-2006 00:21

Re: C or C++
 
Quote:

Originally Posted by thegathering
Well, we tried to make our code as object oriented as we could, which ended up working well for our automatically aiming camera/launcher code. :)

It wasn't C++ code, though, so you didn't have class definitions and a memory manager floating about cluttering things up. You can, of course, still mostly apply object oriented design rules to get more modular, more portable code, but it still won't be C++ code, for good or ill. (Mostly for good)

JamesBrown 14-11-2006 02:35

Re: C or C++
 
Quote:

Originally Posted by thegathering
We use C with an IDE called MPLab by Microchip.


*edit* I wish we could use C++ though, then maybe we'd get some more programmers on our team. C tends to scare them off. :( (maybe that's MPLab's icky-sticky interface rather than the language itself :p )

Use eclipse, it is much nicer than MPLAB

Also I think C is the easier of the two languages, the things that c++ simplified (Classes Structs etc) are really not important for what we are doing.

RoboMadi 14-11-2006 06:52

Re: C or C++
 
Quote:

Originally Posted by JamesBrown
Use eclipse, it is much nicer than MPLAB

Last year, one of our programmers was used to Eclipse, and he pretty much hooked up everyone to use it. Its really nice, especially the way it breaks down the code.
C or C++, as far as writing the code, theres not much of a difference. I'm just waiting when FIRST will upgrade their systems, and we'll have some other language to play with... :rolleyes:
But on a bright note, responsive time for C is much faster than any other language.

MikeDubreuil 14-11-2006 08:24

Re: C or C++
 
Quote:

Originally Posted by RoboMadi
I'm just waiting when FIRST will upgrade their systems, and we'll have some other language to play with... :rolleyes:

I hope this never happens. C is a de facto standard in embedded software. In FIRST a good application of C++ is creating a dashboard program.

Stuart 14-11-2006 10:31

Re: C or C++
 
I personaly would like to see a move to C++ . .mainly because I think its easier to think of a robot in terms of objects than not. and for the most part any thing you write in C can be put directly in to C++ with out any changes.

not saying that we take the jump all the way to java, (java.eguals(the.suck())) , but saying that a move to OO would be nice.

Matt Krass 14-11-2006 14:25

Re: C or C++
 
Quote:

Originally Posted by Stuart
I personaly would like to see a move to C++ . .mainly because I think its easier to think of a robot in terms of objects than not. and for the most part any thing you write in C can be put directly in to C++ with out any changes.

not saying that we take the jump all the way to java, (java.eguals(the.suck())) , but saying that a move to OO would be nice.

C++ would be a pretty hefty extra load on the processor, and for minimal gain. As far as objects go, I've found structs are pretty good, I'm working in my spare time on an object based robot API using all structs, its very doable.

Last year I used very modular code utilizing the same method, well enough I could pick up and move parts of my code in to another teams to help them, with the only change being adding the interface code to theirs. Once they had it, we were able to "plug" code modules in, it was very effective.

♥♣♠♪ 14-11-2006 16:47

Re: C or C++
 
Quote:

Originally Posted by efoote868
Too bad its not so easy to describe #define, or any other preprocessors to them :(.

All you have to do is explain what compilation is and everything else should be easy.

Rickertsen2 14-11-2006 21:00

Re: C or C++
 
I think most of us would agree that we would rather have the flexibility and added features of C++, particularly object oriented-ness.

The problem with C++ is that along with its added features comes added bloat and inefficiency. Unless the architecture and processing power were SUBSTANTIALLY and unnecessarily upgraded, all of the people who keep complaining that C is primitive would be complaining that their code wouldn't run if we upgraded to C++. Memory allocation/deallocation is no small task, especially when handled in software. C++ is good for PCs where functionality is a greater priority over efficiency and there is an abundance of computational power, but not so great for our application. In industry, C is not considered outdated, it is the standard in the world of embedded programming and for good reason. C is sleek and slim.

Heated seats, radios and air conditioning are good to have but race cars don't have them and do just fine without them. Our robots, like race cars are designed minimalistically. There is nothing on a FIRST robot that is not absolutely necessary and that goes for code too.

Any problem that can be solved in C++ can be solved in C. The solution may not be as coder friendly, but chances are it will be smaller and take fewer processor cycles to execute.


All times are GMT -5. The time now is 21:24.

Powered by vBulletin® Version 3.6.4
Copyright ©2000 - 2017, Jelsoft Enterprises Ltd.
Copyright © Chief Delphi