Continue to Site

Welcome to

Welcome to our site! is an international Electronics Discussion Forum focused on EDA software, circuits, schematics, books, theory, papers, asic, pld, 8051, DSP, Network, RF, Analog Design, PCB, Service Manuals... and a whole lot more! To participate you need to register. Registration is free. Click here to register now.

Is OOP suitable for embedded system ?

Not open for further replies.


Advanced Member level 4
Dec 12, 2002
Reaction score
Trophy points
Activity points
Hi All,

I need opinion on OOP (Java or C++) for embedded system. Is it suitable ?



Which embedded system are you mentioning about? Can you detailize it please?


Analyzer said:

Which embedded system are you mentioning about? Can you detailize it please?


I am using ARM+WinCE. Can you give me some advice?

The OOP programming is a bit heavy and far from the machine, but You are working on an platform that has power.

I believe that if you wish to do something that has to process data RealTime or has big need for Computer Power to do it without OOP, else you have nothing to lose...

Try to search WSDL Compiler and ms wince oop programming. ;) (Sure, it is suitable)


garbage collection could be aware of it

It depends on the size of your program, C++ usually uses more memory. It was designed to handle very large scale programs.
If your program is 10,000 lines of code or less, then C would be a good choice.

selection for language is solely dependent on your platform .
To be able to make right choise you should estimate RAM , ROM and MCU type .

C++ overhead is intruduced by its features .
There is no one to one correspondence between asm code got from c++ .

java is not suitable for embedded developmen t unless there is no optimzed VM
or java bytecode enabled chip .
But again it is dependent on your platform .

As example embedded platfrom using Java -
Java enabled mobile phones . But remember they are mostly imeplemented using ARM
with MBytes of RAM and running for 50-300
MIPS processor capasity .

I think, it depends upon the size or complexity of the applications and the performance or capacity of the target platform.

Currently, C is still the main-stream language used in embed system.
Not the OOP.
Because the OOP has so much overhead than pure C.

Analog Devices Visual DSP++ supports C++ for their Digital Signal Processors for embedded systems development.


Using C++ programming for embedded systems requires a big size of ROM and RAM memory, and if you want to use Java it requires a fast uC too. But nowadays is common to use as embedded system a device with some MB of RAM and ROM so it is possible to use this high level programming.
Anyway I have to say that OOP is not only a language, it is a design concept. It is possible to do a OO design and aply it programming estandard C with structures and function pointers.


Amm ....... useful information to me ....

/ Warning #6 - No thanks at Elektroda! /

I think that using C++ for compiled OOP characteristics may help in the development of the software, which always needs to be changed.
If you do not use polimorphism, virtual functions and runtime binding you can make a project with an object oriented filosophy that will help you in the future.
C++ does not take so much more memory and time than C if you take those restrictions.
The book Programming Embedded Systems in C and C++ by Michael Barr explains what I mentioned here.

The oop is not just only C++ or java, is the way of how you develop your proyect, how you could implement the functions, order or merge your files into different forlders,the comments have you made, the way that your organize the data. Thinking in this way didn´t matter the languaje that you could use, it would be ASM,C,PASCAL,BASIC, C++ or JAVA For me it is important found an powerfull editor, that it could show you the relationship among the funtion, datas and other usefull formation, it would help you to organize it and follow him throw the time.
I hope this help you

Not open for further replies.

Part and Inventory Search

Welcome to