Assembly language is always a great base for learning the inner workings of a system. I would strongly suggest you learn the assembly language for your micro controller before you start developing any embedded system.
C is definitely the way to go once you have the basis down. The reason why C is preferred over C++ in embedded programming is that it has less hardware requirements to run; when dealing a limited amount of memory, or working with a slower processor, building classes and using an object oriented approach is quite impractical.
What type of language to begin learning with if one's want to learn embedded software developement will it be assembly language or C?
Are there a lot of differences between window programming in C++ with embedded software in C++ ?
thanks... :)