A couple of years ago, when I switched careers to programming, I remember learning the now-familiar hierarchy of low level to high level programming languages: machine code