The C programming language definitely reigns supreme in the embedded electronics community. Microprocessors can be found in 99% of all electronic appliances these days from car radios to cookers and it is the software that the microprocessors run that gives personality to the whole design.
Many hobby electronic enthusiasts cut their teeth on microprocessors by learning assembly language. Indeed the PIC Microcontroller from Microchip is the processor of choice for many starting on this path.
Assembly language presents a free of charge entry into this market – ideal for the beginner on a limited budget. However assembly language is somewhat laborious if a complex task needs to be coded. Now free of charge C compilers are available for download, so students can begin their programming experience in a high level universal language that can be used on many other high and low end microprocessors.
Assembly language is limited to use with one particular processor family and if the engineer migrates to another processor, he has to start again from scratch. C is a universal language and it is the headache of the compiler designer, not the engineer, to make sure the C code is compatible with the processor.
Most software written by non-hobbyists is written in C. Program snippets can be collected and used across many projects with different processors until whole libraries of code are amassed. Code writing then becomes a simple task of selecting which code functions are needed and gluing them together – a task that the C programming language is particularly suited to.
Simple C for the PIC microcontroller gets anyone with little or no experience of C or PIC microcontrollers programming in as little as half a day.