And to add one more comment.

Speed gained from assembly language programming could be insiginficant because the new model that they are begining to work with, will allow programms to download an compile code while the program is being used rather than all at once as well as being able to determine features of the OS and selectively compiling code based on information about the architecture. They are experimenting with this on the .net framework. This could potentially blow away assembly language and C optimization speed. It has other implications as well. Far from being utilized widely, we will probably see more of this type of benefit from programming at a higher level in the future.