TE
TechEcho
Home24h TopNewestBestAskShowJobs
GitHubTwitter
Home

TechEcho

A tech news platform built with Next.js, providing global tech news and discussions.

GitHubTwitter

Home

HomeNewestBestAskShowJobs

Resources

HackerNews APIOriginal HackerNewsNext.js

© 2025 TechEcho. All rights reserved.

Learning Assembly Changed My Programming

5 pointsby signa114 months ago

1 comment

taylodl4 months ago
A week or so ago I was commenting on how Rust doesn&#x27;t really solve much, if any, of my problems with C++. In that comment I wondered if part of that might be because assembly language was one of the first languages I ever learned and I spent the first few years of my career writing and maintaining low-level assembly language code? Assembly really does change how you program in C&#x2F;C++, especially when I came of age in an era where compilers had bugs and you really did have to check the assembled output to make sure it made sense. Also, symbolic debugging didn&#x27;t exist yet and so you had to print out the linker maps so when you looked at the compiled code, which for a long time was the only code you could actually debug, and know which variables corresponded to which memory references. You also got really good at learning how most C&#x2F;C++ compilers built a function stack frame: what order the parameters were pushed onto the stack, how local variables were stored on the stack and stuff like that. I was a few years into my career before we had symbolic debugging, debugging the actual source code and not the assembly code, and could inspect variables by name rather than knowing where they were stored on the stack or on the heap.<p>I&#x27;m not recommending we go back to those days, <i>but</i> as the author notes, it <i>does</i> change your programming. Maybe it&#x27;s one of those things one should do a few times not from a perspective of being thankful how much better our tools our today, but from the perspective of this is actually what&#x27;s going on under the hood. This is how your program is actually running.