At the driver level (in terms of writing a few library functions called from, say, C), but knowing assembler can be useful at times for higher level work even if you don't write actual assembly code. For example, it can be handy when you are producing an optimised program/library when after profiling and choosing the best algorithm, you need to work out why your code is still too slow. Setting the compiler to output assembler and looking at what it has produced can give you valuable clues on how to re-write the high-level language to allow the compiler to do a better job.