For better understanding of how things are working in the microcontroller "ASSEMBLY LANGUAGE" is recommended...
For advance users..."C or C++" is the best
this qustion has no answer because every one have his own mind so the Decision is yours you must try all and then choose the one you see it is very simple for you
I think C is good because you don't need to mastering object oriented things for programming uc and it's easier for programmer to debug the program than assembly.
If you want to learn something like programming language for microcontrollers, you must face with a lot of problems.
Best way to solve all problems is to find lot of tutorials, books, project examples etc.
So, C maybe not easiest language, but it is the best covered computer language on the net.
There are many books about Programing for Embedded Systems. They use C, C++, Assembly and Mixing of C and Assembly.
You can choose the best suit for you.
If you have had no exposure to microcontrollers earlier, use assembly. It will expose you to all the nitty gritties of a microcontroller programming and the hardware.
However, C seems to be less grinding but, if you have been programming in C (or its other variants) on PC, you will need to re-learn C for microcontrollers.