Anybody who's starting with anything except assembly language is WRONG!!! If somebody doesn't know how CPU works he can't make a decent software engineer: he'll use bloatware, write things in interpreted languages and bring file systems to kernel from user-land.
As a matter of purity or getting down to basics when introducing concepts, I agree. But, when you're talking about trying to introduce CS concepts to people new to the field assembly is a nightmare. I had some simple assembly as part of intro CS when in college, but it almost soured me completely on programming. Of course, what really killed my nascent interest in programming (in college) was having to learn Cobol... :) Perhaps it's safe to say that the closer you get to the kernel the more you need assembly?
Nope, modern kernel is developed in C and some C++ mostly.
Its really about basics: if you don't know how hardware works and how expensive f.e. thread content switch is you'll write something looking very cool and simple and it actually crinkles and mangles on a real hardware.
Eyyyyy!!!! Now that's what I'm talking about :). Those are my favorite languages!
It's much like how COBOL and Fortran take quite a beating today. But they were breakthroughs at the time and were really important.
In the context of their time COBOL, FORTRAN, et al were important, but today they're lumbering proto-dinosaurs. It's more disturbing than anything else how much out there still uses it and should've been replaced long ago.
I was going to mention flash as well, and what I like is how flash is finally on its way out, and mostly only gets used now for video. We fail over to flash player for some of our older videos which are not re-encoded (we've been slowly re-encoding to something HTML5 friendly, but there are 2 million videos so it's taking a while) and also fail over if the person simply doesn't have HTML 5 video playing for whatever reason.