which tools? C? C++? Java?

Do you have a question? Post it now! No Registration Necessary

Translate This Thread From English to

Threaded View
I'm a computer engineer working in the field of robotics (autonomous
vehicles) and inherited a hardware design from an engineer who moved on a
few months ago.  At this point I'm pretty well tied to the freescale
5200 for the master controller in our mobility platform.  That's really no
problem since we have a working SBC and have had success using the DENX
ELDK for PPC with the board.

My questions are more related to which languages embedded folks
prefer?  The master controller will have to handle some JAUS message
routing and will unwrap JAUS messages and pass them on to devices using
device native commands on RS485 and CANbus.  I am equally well versed in
C/C++ and JAVA but am wondering about the opinions, pros and cons, of
writing the userspace tasks in any of the available languages.  The tasks
were originally specified to be written in ISO C++ but based on the
multi-threading capabilities of JAVA, correctly modeling the tasks in JAVA
would be so much easier, at least in a test environment.  I also have
other reasons, related to platform interoperability, for investigating
JAVA.

1) what percentage of embedded linux development is done in each language:
JAVA, C, C++?
2) what percentage of embedded linux development is done as pure kernel
module code and how much is done as userspace tasks?
3) Since I'm tied to the 5200 has anyone had good luck using embedded JAVA
on the PPC platform?  Who's JVM?

I looked at the GCC/JAVA/libJAVA tools but they seem so (alpha) and I
cannot base a production product on something unproven. I've got plenty of
SDRAM and flash available: 128MB and 16MB so code bloat isn't an
issue...yet.

Suggestions?  Thoughts?  Opinions?



Re: which tools? C? C++? Java?
Quoted text here. Click to load it

That's going to depend, a lot, on the field of "embedded" endeavour.  At a
guess, pure "control" applications are going to be mostly pure C.  Things
with GUIs will currently be mostly C++ with some C and some Java.  If you
include phones, then you'll skew things stongly in the direction of C++
and Java (hard to tell which actually carries more weight, but I'd guess
C++ for now.)

Quoted text here. Click to load it

Mostly user-space, I'd guess.  Dunno about JVM's on PPC platform.  Kaffe?

[I opine because I'm interested in the answers, myself.  I know of
projects that use all of those three, for different reasons.]

Cheers,

--
Andrew


Re: which tools? C? C++? Java?

Quoted text here. Click to load it

    You would be surprised to see the amount of
assembly code used in phones.  Granted, it's
mainly due to strange DSP architectures, but
nonetheless, when you try to reduce cost, it
may pay back to write very efficient assembly
code to select a less powerful chip, so less
expensive.


        Laurent

Site Timeline