From: Fred Cisin
2 or 3 decades ago, the folk controlling lower
division undergraduate
"Computer Science" at UC .. declared, "Assembly language is dead!
Nobody will ever program in it again.", and shifted their program to
Scheme/Lisp.
..
assembly language may no longer be a great career path, but there will
always be need for some levels of hand optimization.
It's worth teaching a bit of machine/assembler language, so that students
understand how computers _actually work_, underneath.
There's a semi-famous incident from a couple of decades back at MIT: they
were teaching a programming course in CLU (an "object-based" language which
contributed many ideas to object-oriented programming). So one assignment was
to write an assembler - which required being able to print octal numbers.
So quite a few of the students wrote 'octal clusters' ('cluster' is CLU
jargon for the collection of routines which know-how/are-allowed to operate
on members of a class), which used normal decimal read and write to do
input/output - and had 'octal add' etc routines which took apart two 'octal
numbers' abcdef, stored as the decimal number abcdef, into their constituent
digits, added them together individually, did the carries, and then put it
all back together. (I am not making this up. This really happened.)
Apparently nobody had ever told them that a number in memory is... just a
number. At which point it became clear that they needed to know a little
more about how a computer actually worked.
Noel