I can remember myself when chose just 'C' as a good language and enough for my job several years ago. after about a year later I added C++ to my list[just C and C++] but never seriously used it(in fact never used it and I just read some books about it[just "getting started" books]). I chose 'C' because some seemed-experts told me that by C I can write my programs in minimized size. they said me "OOP would occupy a big part of the memory and you don't need it because MCUs have small memory"(is it correct?). BUT today I want to choose C++ as my sexiest baby on the list. although I will use 'C' for simple and small projects and I think I know C enough to write my simple/small projects.
I want to use it from now on because I have seen many guys who are working/using C++ to write their programs. I feel the Embedded world is getting bigger and MCUs are getting cheaper and they are going to have bigger memory in the future. nowadays you can run and use a colour display. this is the cockpit of an old aircraft(F-4):
And now look at the cockpit of a modern one(F-35):
One more from a nice private jet:
A colour display need a very well GUI. writing a good GUI with 'C' will probably take time. more than "C++" or because it's a bit complicated then it would be better to write it by C++. that's why they have created C++. if we get back to many years ago(about 15-20 years ago yeah I think it's good) you could see everybody or many embedded programmers were using Assembly but now what happened to them? they are using C/C++. I think a revolution happened to them(embedded programmers). they changed their language programming. and now that's what I'm doing. I'm changing my main language programming. it's C++. now the questions:
1- What's your opinion about my arguing and changing my main language to C++?
2- Is there any problem/issue in ambush for me during this migration? e.g. can I use my C libs in C++ without any problem? and or Can I use something like Sprintf in C++? yeah I know there are other functions/commends like 'COUT' or 'CIN' to use but I think Sprintf occupies much less than those standard commands in C++ (or C++ compilers are enough smart to reduce the size of programs)or some-times for porting my libs I need them. won't I?
3- Please provide a book as "getting started" and another one as "source" for C++(the best you think). please note that I said just C++.
To moderators: Is here suitable for this topic? if not, then please move it.