Author Topic: Which is better for embedded work: C or C++?  (Read 42284 times)

0 Members and 2 Guests are viewing this topic.

Offline legacy

  • Super Contributor
  • ***
  • !
  • Posts: 4415
  • Country: ch
Re: Which is better for embedded work: C or C++?
« Reply #100 on: July 05, 2013, 02:04:29 pm »
You can always use the list of tools as a starting point. And when too expensive, google for equivalents that fit your requirements & budget.

Yep, misra, damn to autocorrection =P, ummm, but anything opensource to suggest ? or anything "demo" ? CosmicC for example is offering a 4K line  limited C compiler for 68hc11 and 68300, wandering if there is a sort of misra-limited to ... 4K lines of code per module.
 

Online nctnico

  • Super Contributor
  • ***
  • Posts: 26906
  • Country: nl
    • NCT Developments
Re: Which is better for embedded work: C or C++?
« Reply #101 on: July 05, 2013, 05:27:01 pm »
I like the line 'There is no MISRA certification process'... so don't bother with the tools  |O
There are small lies, big lies and then there is what is on the screen of your oscilloscope.
 

Offline cthree

  • Frequent Contributor
  • **
  • Posts: 258
  • Country: ca
Re: Which is better for embedded work: C or C++?
« Reply #102 on: July 06, 2013, 02:26:39 am »
What do you think about

- "Design Patterns for Embedded Systems in C: An Embedded Software Engineering" book (click)
- "Design Patterns: Elements of Reusable Object-Oriented Software" book (click)

The second one is one of those iconic texts which you have on the shelf but never bothered to read unless someone forced you to. Everything in it is also available online just by searching for "programming patterns". Factories, Singletons, yadda, yadda. It's not a practical guide, CS theory mainly.

The only book about C that everyone needs to read is http://www.amazon.com/C-Programming-Language-2nd-Edition/dp/0131103628/ref=sr_1_1?ie=UTF8&qid=1373077313&sr=8-1&keywords=the+c+programming+language All the other books about C simply add to this cononical text. Thin, clear, concise, essential.
« Last Edit: July 06, 2013, 02:28:26 am by cthree »
 

Offline diyaudio

  • Frequent Contributor
  • **
  • !
  • Posts: 683
  • Country: za
Re: Which is better for embedded work: C or C++?
« Reply #103 on: July 06, 2013, 04:26:47 pm »
There have been a couple of interesting discussions here on software topics. Assembly vs C is one, and the ISR discussion is interesting too.

So, what about C vs C++? The question is moot for rinky-dink microcontrollers that don't have a C++ compiler, but for modern "reasonable" architectures (e.g., ARM, MSP430) it's an interesting choice. Most embedded code is straight C, but there's a growing number of C++ folks in the mcu world.

Given a choice, I'll go with C++ in a heartbeat. A major reason is that C++ makes structure initialization much more rational with constructors. C++ objects are implemented in a way that's similar to adding a compiler-managed parameter block to each function, avoiding the need to have so many static variables. Namespaces, templates, virtual functions and references only add to the C++ win.

What say you?

I'm a seasoned developer I just got into embedded development 8 months ago as a hobby as the experience is fun as im already comfortable with elementary computer science.

The point im try to make is this. C++ from a code organisation view is very good VS C however consider this, low level high performance code is written and maintained in C in fact 90% of the windows api is C as well a Linux kernel, even quake 1,2 and 3 was written in C, C++ is a very complex language to master, in fact you will end up running in circles trying to debug "C++ problems and miss understandings" then actually solving your micro-controller problem. C++ is about objects, classes advance topics like templates by the time you fully covered c++ you would be so far out at sea, you wont see micro-controller land for months !!!

 I like the elegance of nicely layered C code with logical *.h,.*c units and thick well written comments and #defines its far easy to read then C++ objects hiding the logic deep inside of classes with pointers and other complex mechanics. (only a small percentage of developers know how to logically and beautifully architect a c++ application)


If you want to explore C++ checkout Scott Meyers, he is one of the world's foremost experts on C++ and pushing C++ for embedded systems.
The Case for C++ in Embedded Systems
http://aristeia.com/TalkNotes/MISRA_Day_2010.pdf


 

« Last Edit: July 06, 2013, 04:33:47 pm by diyaudio »
 

Offline PuterGeek

  • Regular Contributor
  • *
  • Posts: 88
  • Country: us
    • SolutionsPLUS engineering
Re: Which is better for embedded work: C or C++?
« Reply #104 on: July 07, 2013, 01:24:19 am »
Thanks to the PDF diyaudio posted, I found an article on C++ performance (http://www.open-std.org/jtc1/sc22/wg21/docs/TR18015.pdf).

This dispels some of the widely held view that C++ has significant overhead and is well worth a read.

-Joe
 

Offline cthree

  • Frequent Contributor
  • **
  • Posts: 258
  • Country: ca
Re: Which is better for embedded work: C or C++?
« Reply #105 on: July 07, 2013, 05:08:54 am »
Thanks to the PDF diyaudio posted, I found an article on C++ performance (http://www.open-std.org/jtc1/sc22/wg21/docs/TR18015.pdf).

This dispels some of the widely held view that C++ has significant overhead and is well worth a read.

-Joe

There isn't much in the overhead. The tools are good. One thing though, the discussion surrounding "embedded" development seems to be one size fits all. There is a huge diversity in embedded targets. Is it a microprocessor or microcontroller? does it have a dynamic memory or static? RTOS or bare metal? Those are some huge differences.

What practical use is C++ when you're talking about 8K or 16K of compiled code running on something like an AVR with static RAM, it doesn't even have malloc() or free(). You aren't creating "instances" at run time. Once you get right down to it all you've got left is namespaces per Arduino.

It would matter on an ARM processor say with a dynamic memory controller and maybe an RTOS or at least some sort of scheduler controlling a bunch of sophisticated peripherals, etc.

Using C++ for a toaster oven or an clothes dryer might be adding unnecessary abstraction to a simple state machine.

"Embedded" covers a huge spectrum of devices and applications. There are so many applications, how can you have a single best tool to cover them all?
 

Offline WarSim

  • Frequent Contributor
  • **
  • Posts: 514
Re: Which is better for embedded work: C or C++?
« Reply #106 on: July 07, 2013, 06:04:39 am »
I have been reading and enjoying this forum for some time now. 
Normally I do not respond, but in this case I think I must. 

The debate of which higher level language to use or even what level to use is somewhat pointless. 
All non level 0 languages use reductive compilation and linking to generate native code no matter what he target. 

Any higher language could be used to generate the exact same native code. 
The things that would cause differences is the compilers used, and departures from structure. 
Every compiler is coded with reductive algorithms which include code sequence preferences. 

Every higher language with a good compiler for every target is capable of generating good code. 
The quality of code is completely dependant on:  The programers understanding of the language used, The structure of the target system, and the reductive abilities of the compiler. 
I specifically did not use the term optimization because compilers try to optimize by making many assumptions which are not always correct.  IMHO too often incorrect. 

I believe the more important discovery is finding the best compiler option for each programer. 
Ergo not everyone has the option to pay thousands for a compiler. 

Since this is my first post I guess it is customary to qualify oneself. 
In 74 I started with electronic testing and repair in 75, due to family obligations. 
In 86 I also became a Programer Analyst now know as a systems programer. 
In 89 I officially became the equivalent of a electronic technologist. 
In 92 I used both disciplines to create an AI to some aclaim.
Since then I have worked in both disciplines, but I can not and will not say on what nor where. 
But I can and will chat about my hobbies that do include electronics and programming. 

In short I know allot, and love learning much more.  This is the biggest reason I like this forum and Dave's vblog.  There are a lot of smart people here that I can learn new things from. 
 

Offline Kremmen

  • Super Contributor
  • ***
  • Posts: 1289
  • Country: fi
Re: Which is better for embedded work: C or C++?
« Reply #107 on: July 07, 2013, 07:50:27 am »

[...]
What practical use is C++ when you're talking about 8K or 16K of compiled code running on something like an AVR with static RAM, it doesn't even have malloc() or free(). You aren't creating "instances" at run time. Once you get right down to it all you've got left is namespaces per Arduino.
:palm: Why do people have to declare things with the loud voice of ignorance, when it would be so easy to find out the truth of the matter?

Code: [Select]
#include <stdlib.h> // for malloc and free
[...]
void* operator new(size_t size) { return malloc(size); }
void operator delete(void* ptr) { free(ptr); }

And you are done. That wasn't too hard, eh?

The rest of your argument evaporates so i won't comment on that at all. This code works like a charm in Arduino and if you want to tweak, you can always change the implementation of the plain malloc/free to something more to your liking. As does for example the popular FreeRTOS OS, where you have 3 different allocators depending on what you want.

Quote

Using C++ for a toaster oven or an clothes dryer might be adding unnecessary abstraction to a simple state machine.

"Embedded" covers a huge spectrum of devices and applications. There are so many applications, how can you have a single best tool to cover them all?

Since you don't pay for what you don't use, there is no reason to pick a weaker tool for a smaller target. As C++ is a genuine superset of C, there is no reason to revert to C. Just use C++ as C if you absolutely don't want to use OO features. That will keep your toolchain and work processes intact.
I have to say that this is one of the arguments that makes least sense to me. It is perfectly understandable that if you have coded tiny environments in C there is little incentive to switch to C++ since you will face issues using the more advanced features, and accordingly don't get any benefit from the switch. But once you are committed to using C++ in larger environments where you do get the benefits, there is no compulsion to switch tools in smaller ones. Anything you can do in C you can replicate in C++ with no penalty.
Nothing sings like a kilovolt.
Dr W. Bishop
 

Online nctnico

  • Super Contributor
  • ***
  • Posts: 26906
  • Country: nl
    • NCT Developments
Re: Which is better for embedded work: C or C++?
« Reply #108 on: July 07, 2013, 11:12:48 am »
The point im try to make is this. C++ from a code organisation view is very good VS C however consider this, low level high performance code is written and maintained in C in fact 90% of the windows api is C as well a Linux kernel, even quake 1,2 and 3 was written in C, C++ is a very complex language to master, in fact you will end up running in circles trying to debug "C++ problems and miss understandings" then actually solving your micro-controller problem. C++ is about objects, classes advance topics like templates by the time you fully covered c++ you would be so far out at sea, you
Now you are saying you are better of using assembly because any high level language is hard to learn. The real problem is that many EEs get a bit of programming during their study so they can dabble a bit with software. However it takes years to become a real software engineer. For some this is just beyond their reach. That doesn't make a high level language unsuitable though. You just need the right person for the job.

BTW the Linux kernel actually disproves the point you are trying to make. The Linux kernel is a large number of objects and they use plain C to emulate an OO language. Its a pretty convoluted mess. And I doubt its faster. The C++ compiler knows it is dealing with an object so it can do clever optimisations. The C compiler used on OO emulated in C sees a struct with some function pointers and data.
« Last Edit: July 07, 2013, 11:37:37 am by nctnico »
There are small lies, big lies and then there is what is on the screen of your oscilloscope.
 

Offline diyaudio

  • Frequent Contributor
  • **
  • !
  • Posts: 683
  • Country: za
Re: Which is better for embedded work: C or C++?
« Reply #109 on: July 07, 2013, 05:30:01 pm »
Oh, what an informal introduction "Now you are saying you are better of using assembly because any high level language is hard to learn."
Hello how do you do ! :)

Did you know the of best developers are the ones who master the mechanics of low level computer science example ASM -> C -> C++ (not the reverse) then move on to C++ I’m sorry if you like to put the cart before the horse, I stay far away from debates like this my point was simple C++ is a complex language to understands and not that high level, in fact it’s just an extension of C it’s not that high level compared to Java, C# which sits on top of a virtual machine, you can make c high level as well with certain amount of effort, and yes everything has its place but if you act more humble you will understand the value of mastering C.

"BTW the Linux kernel actually disproves the point you are trying to make. The Linux kernel is a large number of objects and they use plain C to emulate an OO language. Its a pretty convoluted mess. And I doubt its faster. The C++ compiler knows it is dealing with an object so it can do clever optimisations. The C compiler used on OO emulated in C sees a struct with some function pointers and data."

clever optimisations?

Code in the kernel runs in a very different environment than in user space. There is no process separation, so errors are a lot harder to recover from; exceptions are pretty much out of the question. There are different memory allocators, so it can be harder to get new and delete to work properly in a kernel context. There is less of the standard library available, making it a lot harder to use a language like C++ effectively.

Sometimes i wonder why i bother participating in useless debates like this :palm:  ( maybe it’s just to educate and warn others )





« Last Edit: July 07, 2013, 05:34:44 pm by diyaudio »
 

Online nctnico

  • Super Contributor
  • ***
  • Posts: 26906
  • Country: nl
    • NCT Developments
Re: Which is better for embedded work: C or C++?
« Reply #110 on: July 07, 2013, 05:47:45 pm »
I have to work on the Linux kernel every now and then (debugging and writing new drivers) and the whole thing is filled with exceptions: if error goto error_handler (which cleans the whole thing up). That is exactly what exceptions are for... Thinking the Linux kernel is something special is a misconception. Actually its a pretty bad piece of software with very little structure and documentation.
There are small lies, big lies and then there is what is on the screen of your oscilloscope.
 

Offline Kremmen

  • Super Contributor
  • ***
  • Posts: 1289
  • Country: fi
Re: Which is better for embedded work: C or C++?
« Reply #111 on: July 07, 2013, 06:21:28 pm »
[blah]
Sometimes i wonder why i bother participating in useless debates like this :palm:  ( maybe it’s just to educate and warn others )
Please do educate us then but preferably by making concrete points or in fact any points, because many of us have failed to notice the fatal shortcomings you imply but don't elaborate. If you want to participate, that is... But please show some actual competence in C++ before bashing it using factual arguments.
Nothing sings like a kilovolt.
Dr W. Bishop
 

Offline WarSim

  • Frequent Contributor
  • **
  • Posts: 514
Re: Which is better for embedded work: C or C++?
« Reply #112 on: July 07, 2013, 06:22:04 pm »
DIYaudio I was following your argument until you called Java, C# and C++ high level lanquages.  :)
Since forever high level language has referred to level 5-7, has the term changed? 

I do find it amusing that all these mid languages originally created to make programming easier are now considered harder.  (Java and C# being exceptions.  Java started with a C++ structure to create a language for a virtualized environment.  C# is M$ attempt to automate some of the cludges for programming in their environment.).   

Many languages have been developed to help programers program properly.  Yes it takes years to learn proper programing skills, but the mid languages where intended to reduce that learning burden.  So it does take years to learn the skill to write an strong kernel or engine.  Exponentially less time higher up the abstract layer and language levels you go.  For example Delphi is suppose to allow a non programer to creat a user space app in hours. 

Yes I will accept that it would be easier to inspect level 0,1 code when nessary, if the programming learning process start bottom up.  But in reality most people have learned programming with the embarrassment of the languages, BASIC.  It is still possible for these BASIC to become great programers. 

Besides may programers will just claim a task is not possible if they can not be successful utilizing the tools and skills they have.  This annoys me but I am not the opinion police. 

 

Offline WarSim

  • Frequent Contributor
  • **
  • Posts: 514
Re: Which is better for embedded work: C or C++?
« Reply #113 on: July 07, 2013, 06:44:41 pm »
The Linux kernel is/was considered a marvel because a university student was able to successfully create a capable reverse engineered Unix kernel.  This by no means acclaimed his programming prowess.  This acclaimed his practical application of his understanding of the Unix subsystem. 
Since then he continued his development and may others have now added to the effort.  Frankly it is amazing that a one person core has survived the contributions of so many without complete rewrites.  This proves to me that his programming practices where good enough to allow this migration and therefor successful. 

Because off this everyone has access to a Unix like kernel, normally only accessible to large organizations. 
 

Offline diyaudio

  • Frequent Contributor
  • **
  • !
  • Posts: 683
  • Country: za
Re: Which is better for embedded work: C or C++?
« Reply #114 on: July 07, 2013, 07:02:16 pm »
[blah]
Sometimes i wonder why i bother participating in useless debates like this :palm:  ( maybe it’s just to educate and warn others )
Please do educate us then but preferably by making concrete points or in fact any points, because many of us have failed to notice the fatal shortcomings you imply but don't elaborate. If you want to participate, that is... But please show some actual competence in C++ before bashing it using factual arguments.
  :scared: im having a general discussion why do you wanna know whats going on under my skirt?, back off!

Quote
DIYaudio I was following your argument until you called Java, C# and C++ high level lanquages.  :)
Since forever high level language has referred to level 5-7, has the term changed?

I do find it amusing that all these mid languages originally created to make programming easier are now considered harder.  (Java and C# being exceptions.  Java started with a C++ structure to create a language for a virtualized environment.  C# is M$ attempt to automate some of the cludges for programming in their environment.).   

Many languages have been developed to help programers program properly.  Yes it takes years to learn proper programing skills, but the mid languages where intended to reduce that learning burden.  So it does take years to learn the skill to write an strong kernel or engine.  Exponentially less time higher up the abstract layer and language levels you go.  For example Delphi is suppose to allow a non programer to creat a user space app in hours.

Yes I will accept that it would be easier to inspect level 0,1 code when nessary, if the programming learning process start bottom up.  But in reality most people have learned programming with the embarrassment of the languages, BASIC.  It is still possible for these BASIC to become great programers.

Besides may programers will just claim a task is not possible if they can not be successful utilizing the tools and skills they have.  This annoys me but I am not the opinion police

In computer science, a high-level programming language is a programming language with strong abstraction from the details of the computer. In comparison to low-level programming languages.

Firstly i didn't say c++ is high level.

Java, C# are. and this is why..  if you look at the .NET framework and Java both frameworks contains a hug set of abstractions (even more the Base Class Library (BCL) v4.5) used to aid common and complex tasks such as Object Serialization, File Access, Network Communication, GUI development, Threading and many others, and further extends the "high level model" into functional language using LINQ ( .NET ) and giving birth to F#... I cannot comment much on java i only worked on it for 8 months and used spring but the client was  happy and i moved on.

Now if we turn our attention to C++ out the box it doesn't come with very much in comparison with Java and C#, there are good efforts see the "boost library" to build platform independent code with a large set of desperate libraries "missing" in the standard for everyday critical usage which makes c++ easier to work with.

(i was looking at the ASIO library for networking just last week for a MAC OS, Linux and windows network service) 

Here something im working on it uses a MICRO PIC 4550 using C, .NET C# 4.5 GUI



« Last Edit: July 07, 2013, 07:13:52 pm by diyaudio »
 

Offline Kremmen

  • Super Contributor
  • ***
  • Posts: 1289
  • Country: fi
Re: Which is better for embedded work: C or C++?
« Reply #115 on: July 07, 2013, 07:12:09 pm »
You sure have a knack at evading the point.
How is this related to C vs C++?
Nothing sings like a kilovolt.
Dr W. Bishop
 

Offline diyaudio

  • Frequent Contributor
  • **
  • !
  • Posts: 683
  • Country: za
Re: Which is better for embedded work: C or C++?
« Reply #116 on: July 07, 2013, 07:20:01 pm »
You sure have a knack at evading the point.
How is this related to C vs C++?

Oh please Kremmen, don't think im standing in front of you as if you a judge and im in court.  :wtf:
 

Online nctnico

  • Super Contributor
  • ***
  • Posts: 26906
  • Country: nl
    • NCT Developments
Re: Which is better for embedded work: C or C++?
« Reply #117 on: July 07, 2013, 07:23:45 pm »
The Linux kernel is/was considered a marvel because a university student was able to successfully create a capable reverse engineered Unix kernel.  This by no means acclaimed his programming prowess.  This acclaimed his practical application of his understanding of the Unix subsystem. 
Since then he continued his development and may others have now added to the effort.  Frankly it is amazing that a one person core has survived the contributions of so many without complete rewrites.  This proves to me that his programming practices where good enough to allow this migration and therefor successful. 
Well you should spend a couple of hundred hours digging around in the Linux source (like I have) and I'm pretty sure you won't be so enthousiastic about it. And if you compare early versions to today's version you'll see the kernel has been rewritten several times. This is why it is so hard for commercial parties to support Linux based software especially when it comes to hardware. The reasons behind changing the driver model is usually a good one but also points out the severe lack of planning and system design (specification). A while ago I reported a quite severe bug in the Linux kernel's power management which could freeze a machine during a soft reboot (and according to bug reports it did for some systems / several different platforms including PCs!). The fix was pretty simple but it turned out the new mechanism the developers where working on didn't cater for the situation. Oooops!

@diyaudio: if you want to use C++ for cross platform development I can recommend Wxwidgets. OTOH networking is pretty similar on Windows and Unix based systems so writing portable code isn't difficult.
There are small lies, big lies and then there is what is on the screen of your oscilloscope.
 

Offline diyaudio

  • Frequent Contributor
  • **
  • !
  • Posts: 683
  • Country: za
Re: Which is better for embedded work: C or C++?
« Reply #118 on: July 07, 2013, 07:35:05 pm »
Quote
@diyaudio: if you want to use C++ for cross platform development I can recommend Wxwidgets. OTOH networking is pretty similar on Windows and Unix based systems so writing portable code isn't difficult.

been looking Wxwidgets sometime ago must be honest didn't get a change to evaluate it and i haven't ever built platform independent c++ code for an operating system, most of the work i do involves back-end end processing services, databases, web services and the like ( its my embedded hobby/interest  that brought me closer doing some operating system GUI work )
 

Offline Kremmen

  • Super Contributor
  • ***
  • Posts: 1289
  • Country: fi
Re: Which is better for embedded work: C or C++?
« Reply #119 on: July 07, 2013, 07:48:31 pm »
You sure have a knack at evading the point.
How is this related to C vs C++?

Oh please Kremmen, don't think im standing in front of you as if you a judge and im in court.  :wtf:
No, not at all. But also please don't talk down to the rest us as if we didn't know or understand anything. It just offends without bringing value to the conversation.
If you have a point in the debate C vs C++ then please make it.
Nothing sings like a kilovolt.
Dr W. Bishop
 

Offline mrflibble

  • Super Contributor
  • ***
  • Posts: 2051
  • Country: nl
Re: Which is better for embedded work: C or C++?
« Reply #120 on: July 07, 2013, 07:50:36 pm »
most of the work i do involves back-end end processing services, databases, web services and the like ( its my embedded hobby/interest  that brought me closer doing some operating system GUI work )

Heh, same here. Mostly it's backend stuff. The occasional simple GUI I make using Qt. Precisely because it works on linux, windoze and with a little extra prodding even on android.
 

Offline WarSim

  • Frequent Contributor
  • **
  • Posts: 514
Re: Which is better for embedded work: C or C++?
« Reply #121 on: July 07, 2013, 07:53:03 pm »
Java is level 4 not 5, 6, or7.
C# level is still in debate as far as I know. 

I believe I use the phrase complete rewrite, which it has not.  If it has been it would not be able to use the name Linux. 

I also commented on the kernels ability to survive the migration path to what it is today.  Giving credit to his knowledge of Unix and structure.  I gave credit to the man that was the first to achieve what was considered impossible at the time.  If you find this offensive to bad. 

As far as the code itself over the last decade. Yes I do find fault, as I do with most code not from a select few.  That is why I gave credit as I did.  Credit for a kernel surviving the input of so many coders and still archiving what it has. 

Yes since 1986 I have spent a lot of time in the Linux kernel, and several other kernels.  In a lot of them it is akin to juggling cats.  But I prefer to give credit where it is due.  In reality few are capable of producing a successful open architecture kernel.  Besides there is nothing stopping you from helping fix the problems. 

I relatively recently discovered the joys of closed architecture programming and have decided to get out of the open system programming rat race.  I do understand your aggravation, I just don't agree with you level of bashing others. 
 

Offline diyaudio

  • Frequent Contributor
  • **
  • !
  • Posts: 683
  • Country: za
Re: Which is better for embedded work: C or C++?
« Reply #122 on: July 07, 2013, 07:57:30 pm »
You sure have a knack at evading the point.
How is this related to C vs C++?

Oh please Kremmen, don't think im standing in front of you as if you a judge and im in court.  :wtf:
No, not at all. But also please don't talk down to the rest us as if we didn't know or understand anything. It just offends without bringing value to the conversation.
If you have a point in the debate C vs C++ then please make it.

hi Kremmen

i apologize if i came across as speaking down on you or anyone here. point taken. i don't know everything,
but i do program professionally and it puts bread on my families table, and there are things that i do take seriously and that is programming. :)


 

Offline Kremmen

  • Super Contributor
  • ***
  • Posts: 1289
  • Country: fi
Re: Which is better for embedded work: C or C++?
« Reply #123 on: July 07, 2013, 08:01:47 pm »
NASA banned malloc() for most embedded systems. It's just too much of a minefield.
Maybe for a good reason. Malloc is quite helpless if you ever actually run out of memory. Also you might want to have more sophisticated allocation strategy than that offered by vanilla malloc().
I'm sure NASA can afford to take the time to implement more deterministic solutions for memory usage, like safety-of-life applications elsewhere should do. For less critical apps malloc() or a variation can be good enough in practice. It all depends.
Nothing sings like a kilovolt.
Dr W. Bishop
 

Offline WarSim

  • Frequent Contributor
  • **
  • Posts: 514
Re: Which is better for embedded work: C or C++?
« Reply #124 on: July 07, 2013, 08:05:58 pm »
I just found a University that is posting a different language level naming convention.  It seems at least one University is not teaching the 0-7 language levels.  In particular this institution is grouping all levels above level 3 as High level languages.  So much for the old system. 

Wonder how they refer to the old level 5.  Apparently level 4 is now called high level OO now. 

Learned something new, don't like it, but it is new.  :)
 


Share me

Digg  Facebook  SlashDot  Delicious  Technorati  Twitter  Google  Yahoo
Smf