I've been developing processors for 18 years. The only thing assembly is used for is bootloaders and DSP type optimizations. Most code can actually be written more efficiently in C because optimization is excellent and most engineers can't write efficient assembly (no matter what they claim). That said, you use the language appropriate for the job. No one developing desktop applications, nor even mobile applications, nor small embedded applications should be writing assembly...ever. It is people like me (and there are very few people like me) who write the initial bootloader in assembly (the rest is in ANSI C) so you don't need to. I am an old embedded guy, I write desktop and server application code in Java because it is nearly as fast (with modern VMs) and far more maintainable than C. In fact embedded system that use Android OS exclusively use Java outside the native driver level (which is written in ANSI C). Now that the nerd fest is done stop throwing airs around about things you very likely have never done.