> 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