| ▲ | _the_inflator 2 hours ago | |
I feel the guy’s suspicion towards any high level language. I exclusively programmed in assembly on C64, Amiga and the recognized that this ain’t sustainable on PC because there are more and more edge cases or different machine configurations. I had a very hard time simply using and even utilizing C++ or Java. C and Turbo Pascal especially was easier because the compiled code was very much resembling to hand written code. As the author described, you can do in 4.000 lines what others can do with way less pain in 100. So you build macros, come up with your own library and in the end you kind of build a meta language build on top of assembly because some lines are so hard to grasp that you delegate working code into a library for reuse. It is funny how much we take conventions for numbers for granted. If you happen to know assembly and its intricacies you immediately will learn to work with a sign bits which mark negative numbers. But how do you know? Maybe you use the whole addressable space only for positive numbers. Small things that make a huge different. Nice article, I enjoyed your adventures and would do the same. | ||
| ▲ | imtomt an hour ago | parent [-] | |
Thank you! The thing about eventually building your own meta language ends up happening all the time with bigger assembly projects. I do have a fair few quality-of-life macros too, but probably fewer than I should. I did end up needing to implement by hand what would be standard functions, things like atoi, itoa, strlen, memcpy, streqn. Higher level languages are more convenient for 99% of things, but the directness of Assembly gives me a rush unlike any other. I didn't live through the C64/Amiga, but I was obsessed with old C64/ZX emulators growing up. | ||