Mechanical Power Transmission Blog

Mechanical Power Transmission

The Mechanical Power Transmission Blog is the place for conversation and discussion about Gears & Gearbox Assemblies; Belts, Pulleys, Chains & Sprockets; Brakes, Clutches & Couplings; Design & Analysis. Here, you'll find everything from application ideas, to news and industry trends, to hot topics and cutting edge innovations.

Previous in Blog: Recycle Your Brakes?   Next in Blog: Are Fywheels Fly-by-night?
Close
Close
Close
11 comments

Are Embedded Control Programmers Up to Code?

Posted February 21, 2010 8:46 AM

A recent survey says developers of software for embedded applications, including power transmission uses, average D- on their knowledge of C or C++ languages. Is this a problem, or do software engineers know enough in a given niche area of expertise to get by? How much knowledge of C or C++ is required? How little knowledge is dangerous?

The preceding article is a "sneak peek" from Mechanical Power Transmission, a newsletter from GlobalSpec. To stay up-to-date and informed on industry trends, products, and technologies, subscribe to Mechanical Power Transmission today.

Reply

Interested in this topic? By joining CR4 you can "subscribe" to
this discussion and receive notification when new comments are added.

Comments rated to be Good Answers:

These comments received enough positive ratings to make them "good answers".
3
Guru
Popular Science - Evolution - New Member Popular Science - Weaponology - New Member

Join Date: May 2006
Location: The 'Space Coast', USA
Posts: 11109
Good Answers: 918
#1

Re: Are Embedded Control Programmers Up to Code?

02/21/2010 9:39 PM

I submit to you that it is a non-isssue.

Generally, a complete use of C or C++ can be overkill for most embedded applications. However, as more embedded hardware becomes more sophisticated we are finding richer uses of the language and object oriented approaches.

If the benchmark for measuring the sum of knowledge of the C or C++ language is grounded in the world of the PC software development, then I can see why there is a knowledge gap.

The flip side of that is any PC application developer is going to fail miserably trying to write embedded code using the same constructs that they do with the PC.

To coin a phrase: Brevity is the soul of embedded code.

To be successful at embedded software the programmer is challenged with doing more with less. Typically, hardware is very minimal and lacks memory and raw processing power. So, this means that you generally work at a lower level and do not use the all of the "power" features of the language because you simply can not afford the memory and CPU power requirements.

So, I can see why many embedded programmers might not cut the muster when it comes to understanding the complete language set, but what they lack in language skills they more than make up with understanding the rules of engagement in the embedded world and how to think out of the box. This is why good embedded engineers earn higher pay than application engineers.

Reply Good Answer (Score 3)
Guru
Popular Science - Weaponology - New Member United Kingdom - Member - New Member

Join Date: May 2007
Location: Harlow England
Posts: 16499
Good Answers: 663
#4
In reply to #1

Re: Are Embedded Control Programmers Up to Code?

02/22/2010 3:32 AM

Excellent!...I can only give a GA as there isn't an EA!
Not to mention the requirement to write great chunks in assembler.
Del

__________________
health warning: These posts may contain traces of nut.
Reply
2
Guru
Popular Science - Evolution - New Member Popular Science - Weaponology - New Member

Join Date: May 2006
Location: The 'Space Coast', USA
Posts: 11109
Good Answers: 918
#7
In reply to #4

Re: Are Embedded Control Programmers Up to Code?

02/22/2010 7:47 AM

Thank you.

Actually, assembler is something that is almost unnecessary, even when looking at the most compact code. Written cleverly, C can be nearly as compact as assembly, but you have to know how to do it and it helps to have a good compiler.

However, there are some times where the only command must be assembly when it is not compiler supported. These tend to be interrupt driven or one-time start up elements of the code.

Reply Good Answer (Score 2)
Guru
United Kingdom - Member - Not a New Member Hobbies - Musician - New Member Hobbies - Fishing - New Member

Join Date: May 2006
Location: Reading, Berkshire, UK. Going under cover.
Posts: 9684
Good Answers: 467
#8
In reply to #7

Re: Are Embedded Control Programmers Up to Code?

02/22/2010 7:57 AM

Quite agree. Time was, I did a lot of work with Z80s, programming mostly in C, and dipping into assembler for time-critical functions.

A decent compiler & a bit of crafty coding can produce compact & efficient target code. It's a bonus if the compiler produces assembler that you can tweak if things really need to fly.

__________________
"Love justice, you who rule the world" - Dante Alighieri
Reply
Power-User

Join Date: Aug 2008
Location: Melbourne, Australia
Posts: 476
Good Answers: 32
#2

Re: Are Embedded Control Programmers Up to Code?

02/21/2010 11:18 PM

What survey? Can we get more information please?

__________________
johny451
Reply
Guru

Join Date: May 2007
Location: Geelong, Australia
Posts: 1084
Good Answers: 54
#3

Re: Are Embedded Control Programmers Up to Code?

02/21/2010 11:34 PM

http://www.rako.com/Software/Software_Humor/The_Software_Toaster_Parable.html

This neatly explains the many benefits of using a language like C++ in an embedded project.

__________________
If there's something you don't understand...Then a wizard did it. As heard on "The Simpsons".
Reply
Guru
Popular Science - Weaponology - New Member United Kingdom - Member - New Member

Join Date: May 2007
Location: Harlow England
Posts: 16499
Good Answers: 663
#5
In reply to #3

Re: Are Embedded Control Programmers Up to Code?

02/22/2010 3:51 AM

Aw I'm a softy old cat...I do wub a happy ending.
Del

__________________
health warning: These posts may contain traces of nut.
Reply
Anonymous Poster
#6
In reply to #3

Re: Are Embedded Control Programmers Up to Code?

02/22/2010 5:47 AM

Exactly what I thought of when I read this!

Reply
Guru

Join Date: Dec 2009
Posts: 582
Good Answers: 15
#9

Re: Are Embedded Control Programmers Up to Code?

02/22/2010 12:00 PM

What high-level languages other than C/C++ (hereinafter shortened to "C" though Mr. Stroustrup among others would object) are even practical for embedded code? Seems to me you've got C and assembly language, and anyone with any brains avoids trying to accomplish significant things in assembly. Sufficient knowledge of C provides precisely the same capability, though sometimes vendor support lacks when it comes to direct register manipulation.

In order to accomplish most things in C one must have an understanding of processor internals. In order to accomplish certain things with C one must have a deep understanding of the language. With fewer software curricula including C or other low-level (or low-level capable) languages, many programmers are being minted without a deep understanding of pointers or memory management. Sure, most of them can learn it on the job, but what's the language most likely being used to impart that knowledge? C.

But not every developer requires such knowledge. As long as the developer organization has ready access to a C guru(s) we're okay. Ready! access.

BTW, Moore's Law does NOT apply to software. Hardware capability has advanced and is advancing far more quickly than software productivity. In my experience, brevity is less important than ever, and this trend will continue. One of the "problems" the world is facing now is the difficulty embedded programmers have in using all the horsepower available - other than to mask inefficiencies in their code... I find myself continually tempted to port DOOM to the system I'm working on at the time just to give the coprocessor something to do.

__________________
Ignorance is no sin. Willful ignorance is unforgiveable.
Reply
Guru
Popular Science - Weaponology - New Member United Kingdom - Member - New Member

Join Date: May 2007
Location: Harlow England
Posts: 16499
Good Answers: 663
#10
In reply to #9

Re: Are Embedded Control Programmers Up to Code?

02/22/2010 1:41 PM

If you carefully read your own post you seem to have pointed out precisely why some some cats with furry brains still accomplish 'significant' things without C on some applications.
In a small company one is often constrained to use what is available without significant investment.
Del

__________________
health warning: These posts may contain traces of nut.
Reply
Power-User
Engineering Fields - Mechanical Engineering - BSME Clarkson University 1992 Engineering Fields - Software Engineering - BSME Clarkson University 1992 Fans of Old Computers - TRS-80 - DataRock 1.0

Join Date: Apr 2008
Location: Troy, NY
Posts: 388
Good Answers: 3
#11
In reply to #10

Re: Are Embedded Control Programmers Up to Code?

02/22/2010 5:31 PM

Very much agreed Del. - Larry

Reply
Reply to Blog Entry 11 comments
Interested in this topic? By joining CR4 you can "subscribe" to
this discussion and receive notification when new comments are added.

Comments rated to be Good Answers:

These comments received enough positive ratings to make them "good answers".
Copy to Clipboard

Users who posted comments:

Anonymous Hero (2); Anonymous Poster (1); april05 (1); Del the cat (3); ffej (1); JohnDG (1); Johny451 (1); Lynn.Wallace (1)

Previous in Blog: Recycle Your Brakes?   Next in Blog: Are Fywheels Fly-by-night?

Advertisement