C++ is still useful in embedded systems. As everyone else has said, that it still depends on the system itself, like 8-bit uC would probably be a no-no in my book even though there is a compiler out there and some people do it(shudder). [ There's still an advantage to using C++ even when you scale it down to something like "C+" even in a 8-bit micro world. What I mean by "C+", I mean don't use new/delete, avoid exceptions, avoid virtual classes with inheritance, possibly avoid inheritance all together, be very careful with templates, use inline functions instead of macros, and use const variables instead of #defines. I've been working both in C and C++ in embedded systems for well over a decade now, and some of my youthful enthusiasm for C++ has definitely worn off due to some real world problems that shake one's naivete. I have seen the worst of C++ in an embedded systems which I would like to refer to as "CS programmers gone wild in an EE world." In fact, that is something I'm working on with my client to improve this one codebase they have among others. The danger of C++ is because it's a very very powerful tool much like a two-edged sword that can cut both your arm and leg off if not educated and disciplined properly in it's language and general programming itself. C is more like a single-edged sword, but still just as sharp. With C++ it's too easy to get very high-levels of abstraction and create obfuscated interfaces that become meaningless in the long-term, and that's partly due to C++ flexibility in solving the same problem with many different language features(templates, OOP, procedural, RTTI, OOP+templates, overloading, inlining). I finished a two 4-hour seminars on Embedded Software in C++ by the C++ guru, Scott Meyers. He pointed out some things about templates that I never considered before and how much more they can help creating safety-critical code. The jist of it is, you can't have dead code in software that has to meet stringent safety-critical code requirements. Templates can help you accomplish this, since the compiler only creates the code it needs when instantiating templates.

Views: 4056

Replies to This Discussion

Yes we know that answer should be to the point. but Q is that how much answer should be? what is the density of the Topic. It is a broad topc to discuss. can any 1 knows????

i disagree with this statement bcoz there are many languages for developing softwares so why we are saying its optimal choice for C/C++..?

actually now a days mostly programmers prefer VB language for developing software..

so i think it is totally depends on the problem which we have and that languages we should to choice that is better for solving that problem ..

well mera point tu bs simply yehi hai k ..koi expectations nhi..or waisy b hum ne programming sikhi hai na k C/C++ bs syntax is ka use kiya hai..so language koi b ho bs problem pe depend krta hai or requirement pe ..

agr main wrong hun tu koi mujhy with solid reason mujhy correct kry..  

thanks for focus on my point..

Dear Muzammil, the question is specific about embedded programing and not general programing. If it is about normal applications then one may adopt any suitable language but if it is about embedded programs then the laguage should be low level like C, C++ or assembly language etc. Does VB provide functionality to talk to hardware???

wot about embedded programming?

Embedded systems are those systems which are copmbination of hardware and software like digital watch, microwave, mobile phones like PDAs etc. There are embaded system in some cars like anti lock brake system. So to develop that kind of systems we need to explain that whay C/C++ is optimal.

Let's say there is an air bag system in the car it is embedded system having some programing and this system might be written in C so we should explain that why it is written in C

i agree

me too...reference cs101 in lec no 4 or 5 i thnk..

but is it a optimal choice of C/C++ for embedded system? but C/C++ provides .exe or .cpp file so embedded system me ye file valid hai kia?

mostly mobiles wagara me application java me tayar hotin hain na..?

thanks for sharing this idea ..

The revelation that every one of those products contains not only a processor, but also
software, was not far behind.

Embedded software is in almost every electronic device in use today. There is software
hidden away inside our watches, VCRs, cellular phones, and even a few toasters. The military
uses embedded software to guide missiles and detect enemy aircraft. And communication
satellites, deep-space probes, and many medical instruments would've been nearly impossible
to create without it.

 some idea about embedded programming

1.1 What Is an Embedded System?
An embedded system is a combination of computer hardware and software, and perhaps
additional mechanical or other parts, designed to perform a specific function. A good example
is the microwave oven. Almost every household has one, and tens of millions of them are
used every day,

okay got it thank u soo much dear..

just last question can C/C++ handle hardware ?

if it can handle then ur point is valid if it is cant then my point is valid..

post me shakeel bhai and tahreem api..

g brother zroor aap ko guide karoo gee filhall aap bhi search countinue rakhoo


Looking For Something? Search Below

Latest Activity

© 2021   Created by + M.Tariq Malik.   Powered by

Promote Us  |  Report an Issue  |  Privacy Policy  |  Terms of Service