Zen and the Art of Learning Assembler in the 21st Century

A2 | Tue 22 Jan | 1:55 p.m.–2:35 p.m.


Presented by

  • Tom Cully
    @tomdionysus
    http://blackraven.co.nz

    Tom Cully has a 20+ year career in software engineering as a coder and architect ranging from tiny startups to SMEs, national businesses, international corporate and government work. Tom owns BlackRaven, a bespoke SkunkWorks-as-a-service agency and is the CTO of Passphere, a revolutionary event ticketing system that launches in early 2019.

Abstract

A presentation on the benefits of learning (and starting students at) Assembler from experience with the BlackRaven Dojo - i.e. once you have coded in assembly, 'There's No Magic'. In today's world of 'learn to code in 6 weeks' courses and programmes that teach high-level languages in the first month, we are in danger of the widening gap between an abstract and fundamental understanding of machines. I put forward the case that we should start training young engineers at the lowest possible level (assembly language) - not because it is necessarily useful of itself, but because of the deep understanding and efficiency learned from such a low level approach. There is a saying in Wing Tsun Kung Fu - 'If you can't do it slow, you can't do it fast.' - I propose that something similar is true in software; if one does not develop a deep understanding of the fundamentals of machine architecture and programming at the chip level, one is less likely to be able to meet the challenges of the modern age; that learning the lowest level possible teaches lessons that are relevant even when the target architecture has multiple cores, GHz of performance, and Gbs of memory. With our recent focus on IoT, an 'old-skool' approach is especially relevant given IoT and embedded devices, which possess very limited capabilities by comparison.