
G'day all.
Quoting Sebastian Sylvan
Depends on your definition of "widely used".
There are more digital watches, freebie four-function calculators, irritating-music-playing doorbells and furby-like toys pumped out every year than there are PCs, servers, routers and mainframes. That's the sense of "widely used" here.
You'll always need some low-level stuff at the bottom (e.g. for the page manager in an OS), and if your device is nothing but "the bottom", well then that's what you get.
Old platforms never die, they just get pushed down the food chain. Today's PC is tomorrow's peripherial, which is the day after's handheld PDA, which is the day after's elevator controller, which is the day after's smart card, which is the day after's Happy Meal(R) give-away toy. Me? I write firmware for nanotech devices. There's no point making the world's smallest strain gauge if it needs to be attached to an ATX-sized case. (I should point out, though, that embedded systems are not created equal. The issues in writing software for a heart pacemaker are very different from those of a stopwatch or a factory management/control system.)
Doesn't mean that assembly isn't "dead" in the most reasonable sense of the word for the purposes of a discussion like this (i.e. nobody chooses to use assembly when they don't need to).
Only foolish engineers choose ANYTHING if they don't need to. Heck, don't even write a program in the first place if you don't need to. Cheers, Andrew Bromage