Also don’t forget - we still have to write certain routines in Assembly even after so many years. Number of abstraction layers doesn’t mean complete automation.
Going from high level to low level code will not go away. But, for the most part you would probably try to get something working and then optimize it.
http://wiki.c2.com/?PrematureOptimization