I was hacking scripts and web shit together in perl, python and php for many years before learning C, and just a couple months learning C/C++ made me understand so many more basic concepts than all previous years experiences combined.
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 was hacking scripts and web shit together in perl, python and php for many years before learning C, and just a couple months learning C/C++ made me understand so many more basic concepts than all previous years experiences combined.
Try assembly then - it’ll freaking blow your mind!:-)
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!!