Looking for what purposes you want to use a particular language. C is pretty fast (if not the fastest), and this is important in the embedded development, where every byte and every millisecond is counted. C is a general-purpose language. There are no classes, no interfaces. But in it, there are much more useful and powerful tools - for example, pointers and many others that allow you to manipulate the memory during the execution of the program. C was also used as a 'building material' for other higher-level languages: Java, D, C#, C++ and Objective-C after compilation are converted into C code, which is then compiled into machine code for faster execution. Beginners need to learn C#, as this is a perfectly balanced OOP language, which makes it easy enough to start working with it using simple and concise constructs at the beginning, and gradually move to such powerful tools as Linq in the future. Also, Python is suitable for beginners, because it will be easier to learn this language than other. When I studied Python, I performed simple assignments with this site in the beginning, and later I took courses in mobile app development. Python has a low threshold of entry, it's extremely simple both in writing code and in reading/understanding someone else's code, which is also important. And with all this, it's a powerful enough language for the implementation of almost any ideas and is also surrounded by very numerous, responsive and friendly community.