By Andrew Grzywacz
This year’s SHARE Academy: Assembler Bootcamp is fast approaching. With the event just around the corner, take a moment to get acquainted with one of your instructors: John Ehrman. We asked John to share with us what drove him to co-found the boot camp, his years of experience in assembler language and what he hopes to impart to attendees by the end of the course.
What was your motivation behind starting the Assembler Bootcamp?
Well, as the name implies, to give programmers a boot camp in assembler language! Michael Stack and I started it together in 2000 because it occurred to us that, as important and fundamental as assembler is, a lot of programmers either don’t understand the language or don’t understand how important it is to other languages. You could program in whichever language you like and never know what’s actually happening when the program is issuing requests to the machine. By teaching assembler, we can give programmers some insight into what’s going on “under the hood,” so to speak. Assembler gives them a way to understand the actual activity going on beneath the overlay.
How did you first hear about or become interested in assembler?
I first learned about it in grad school. My roommate and I were both studying physics, and one day he asked me to proofread a program for him. I couldn’t understand it in the slightest! So he recommended taking a course with this physicist who taught computational physics. That was when I became first exposed to using a computer, and I’ve been hooked on it ever since! I took my first computer course in 1958 and never looked back (though I did still have to finish my physics degree).
What’s the biggest problem that you think programmers face when first trying to learn assembler?
The learning curve for assembler is very different from the learning curve that comes with other high-level languages. In most cases, when you’re learning a programming language, you have to think about the kind of data that you want your program to manipulate – like currencies or character strings. But in assembler, understanding how that language works means having to learn hexadecimal arithmetic or binary arithmetic. It forces you to learn these other concepts on the side just to execute programs in assembler. It’s a little like having to learn about how combustion works in a car engine just to drive to the grocery store.
What’s the main lesson you hope to impart to the class?
“People who are more than casually interested in computers should have at least some idea of what the underlying hardware is like. Otherwise the programs they write will be pretty weird.”
Don Knuth wrote that in The Art of Computer Programming, and it essentially sums up the whole value of the boot camp in my eyes. The fact of the matter is a lot of teaching institutions have cut back on assembler lessons, or eliminated them entirely, because it’s considered an old technology and not something that will lead to any acclaim or promotions for people who write about it or teach it. But assembler is so fundamental to what we do, that if we can get our attendees to walk away from the Assembler Bootcamp really believing in the overarching value of assembler, then our mission was accomplished.
For expert training in Assembler Language from John Ehrman and our instructors, click here to register for SHARE Academy: Assembler Bootcamp. The course will be held on February 28, 2016, as part of SHARE in San Antonio.