Assembly language will never die! When I started computer programming, assembly language seemed like a high level language to me – because I started by hand-encoding the actual machine language. As a computer repair technician in the U.S. Navy, there was no reason to spend the (large) amounts of money that would have been required to give me access to programming tools. Actually, nobody ever told me those tools even existed; I'd been programming for 5 or 6 years before I found that out!
As the years have gone by, higher level languages (C, C++, Java, etc.) have become the norm. Partly this is because computers have gotten so much more powerful that the inefficiencies of those languages (compared to machine or assembly language) don't matter as much. Mostly it's because the productivity of programmers is so much higher when using a high level language. These days it's gotten to the point where it's common for programmers to never have learned assembly language at all. And many programmers, having no experience with it, have no idea why anyone would ever use it. I've had quite a few conversations with programmers like this over the past ten years or so, trying to help them understand why assembly language was still useful, even if it's only occasionally. I've also tried to convince them (usually without success) that they'd understand computers a whole lot better if they knew assembly language. This article does a much better job than I did. I'll be sending this to some friends :)