Why Learning Assembly Language Is Still a Good Idea
Subject:   Why has assembler re-emerged ?
Date:   2004-05-12 19:38:39
From:   hutch--
Computer languages are diverse in response to the diversity of the tasks they are used for and in this context, assembler programming is one of the tools that has a very useful place in software development. Over many years students have been told that you no longer need assembler, compilers are so good now that there is no point. Then you have the folklore that you cannot write reliable assembler and it is impossible to debug yet with this particular dogma, the area in question is the knowledge base of the person saying it.

When pioneers like Bob Boyer and L Moore published their famous pattern matching algorithms back in the late 70s, it was in PDP10 assembler, not a soft and easy high level language. Any who remember the DOS modem program QMODEM may remember when it was converted from C to assembler where its size dropped by half, its performance improved dramatically and its functionality increased.

Nothing stings like the sheer brutal performance of well written assembler and for the sum total of opinion, size, speed and functionality laugh at them all as it is an objective test.

Someone sprouting nonsense from their recollections of assembler programming in the 80s is doing their students a disservice when no-one programs in the style that was still being used back then.

C, Pascal and basic were all available that long ago yet few would want to go back to pre 1990 C to program in when they have the best and latest tools available. Assembler programming is no different here, when you have so many powerful capacities at your disposal with the full range of Windows API functions, structures, unions, direct addressing and the very high powered macro capacity of a modern assembler, you don't write pre-1990 style code either.

Where assembler used to be hard with DOS segemented addressing, flat memory model made this far more powerful and far easier to use and the choice of instructions is wider and more flexible.

Those who have been tarred with the brush of soft easy high level languages may never make the transition to true low level programming but for the younger programmers who are seduced by the sheer performance of a modern assembler, the sky is the limit and you don't need a compiler writer to hold your hand when you write high performance code.