Toasty
Sony battery
I wouldn't say assembly is hard to use, just impractical for general use. Here and there a well-written assembly function or two can improve performance significantly, but usually the speed benefits are too small to warrant the extra development time. IMHO, assembly is probably the easiest language to grasp (just a long line of instructions like Mom used to leave on the fridge - well, maybe a little different) it just takes way longer to accomplish relatively simple things in it. Also, its readability and portability are not all that great. 
I'd say go with C++ since documentation on the semantics and common libraries are virtually endless, and the language is very versatile. C could work well for you too, but since C++ adds on a few mechanisms that might prove useful in higher level programming without taking anything away from C, C would be a second choice for me. Get yourself a good compiler and IDE and Google yourself up a nice tutorial.
I'd say go with C++ since documentation on the semantics and common libraries are virtually endless, and the language is very versatile. C could work well for you too, but since C++ adds on a few mechanisms that might prove useful in higher level programming without taking anything away from C, C would be a second choice for me. Get yourself a good compiler and IDE and Google yourself up a nice tutorial.