I took a compiler course focused on optimization and porting. So I worked with x86 and ARM. There’s very little reason in modern computing to write assembly by hand, but it’s still useful to be able to read and understand.
Having to work within such constraints, it really showed me difficulties that modern languages try to entirely abstract away from you. e.g. there are only so many “registers” that physically exist, before you have to start using much slower to access memory locations - a very far cry indeed from automated variable garbage collection!!
I took a compiler course focused on optimization and porting. So I worked with x86 and ARM. There’s very little reason in modern computing to write assembly by hand, but it’s still useful to be able to read and understand.
Having to work within such constraints, it really showed me difficulties that modern languages try to entirely abstract away from you. e.g. there are only so many “registers” that physically exist, before you have to start using much slower to access memory locations - a very far cry indeed from automated variable garbage collection!!