How I Stopped Worrying and Started Loving the Assembly
Posted2 months agoActive2 months ago
medium.comTechstory
excitedpositive
Debate
20/100
Retro ComputingAssembly LanguageGame Development
Key topics
Retro Computing
Assembly Language
Game Development
The article shares the author's journey of developing a game for the Atari ST using assembly language, sparking enthusiasm and nostalgia among readers who appreciate retro computing and low-level programming.
Snapshot generated from the HN discussion
Discussion Activity
Very active discussionFirst comment
N/A
Peak period
26
Day 9
Avg / period
11.3
Comment distribution34 data points
Loading chart...
Based on 34 loaded comments
Key moments
- 01Story posted
Oct 23, 2025 at 11:23 AM EDT
2 months ago
Step 01 - 02First comment
Oct 23, 2025 at 11:23 AM EDT
0s after posting
Step 02 - 03Peak activity
26 comments in Day 9
Hottest window of the conversation
Step 03 - 04Latest activity
Nov 2, 2025 at 2:29 AM EST
2 months ago
Step 04
Generating AI Summary...
Analyzing up to 500 comments to identify key contributors and discussion patterns
ID: 45682917Type: storyLast synced: 11/20/2025, 2:00:08 PM
Want the full context?
Jump to the original sources
Read the primary article or dive into the live Hacker News thread when you're ready.
Bare metal programming with those old CPUs is WAY easier than learning new web stack IMO.
Some people are drawn to assembly and that’s great. Me personally, after a course in undergrad studying MIPS assembly, I learned to appreciate what all the compiler does for us and moved on!
While I have manually written code for Z80, 68000, x86, and MIPS, I never bothered with MIPS outside university project assignments.
It's truly wild how much a modern compiler can transform code. There are circumstances where a human can do better (mostly around SIMD optimizations) but those require you to be in situations where you doing operations on large arrays of numbers. Not extremely common in most programming (beyond maybe making totals. Which is a SIMD operation that compilers do well).
I will wait for when efficiency (as well as speed) comes from elegance in the programming language itself rather than the human mind having to cater to some fundamental archaic syntax.
That's a self-defeating attitude which you don't want to reinforce :-(
Assembly is not difficult but writing large-scale programs/systems in it is. But almost nobody does this nowadays; it is generally C & Assembly. So you need to know/understand just enough assembly to get along.
Start with Jonathan Bartlett's Programming from the Ground Up for a nice introduction - https://news.ycombinator.com/item?id=11702025 Then look at Daniel Kusswurm's and Larry Pyeatt's books. Also https://news.ycombinator.com/item?id=45782206
Value goes into register, do some math on register, compare register to immediate, etc.
The difficulty comes the more code you add. The same thing happens in nearly any language. A single file python script is easy, the complexity in a mature async python app is hard. It's easy to add some numbers and val >> stout in c++, but managing all the dependencies and build chain is hard in a million line program.
It's no different, but assembly is neat because you can isolate the complexity via inlining and just step back and tell the computer exactly what to do.
I got one of his kits and assembled it while working through his YouTube series.
(I didn't, at the time, continue very far into the assembly course, but perhaps will this Winter when I am hunkered down in the Midwaste with the blizzards beating down on my home.)
The retro scene is alive and well, and in many small ways, flourishing. Even the obscure platforms get new device peripherals designed for them - among other things in my retro corner, I have a remote controllable Amstrad CPC6128 with an M4 card, putting it on a network .. a couple of ZX Spectrum variants with so much storage attached, the ‘why not just put every single spectrum game on it, ever’ question just hangs in the ether .. and an original C64 and Commodore monitor rig, sitting at one end of the city waiting for a LoRa/meshtastic session, to set it up, so we can chat with the other Oric/ZX Spectrum/Amstrad/etc. systems all over the place.
Anyway, I just want to point out, there is a very thriving retro scene, so learning assembly and participating in it, in your own way, is a very stimulating hobby. Even if you are a master of all the current tooling, learning the tools of the ancients will make you appreciate just how much bloat we tolerate, needlessly.
In any case, its often surprising where 6502/z80-like systems turn up these days, too ..
Probably my best project was a FORTH system. It used direct threading so each FORTH word was a proper assembly routine. It had primitive peephole optimization too! It was all written in 68000 assembler with K-Seka.
So if you want an assembler to learn, 68000 is a great choice. However you could learn 32 bit ARM which I came to prefer and that will still run on modern systems (at least if they have been compiled with 32 bit support or on the plentiful ARM microcontrollers).
My straight Javascript implementation: https://github.com/EngineersNeedArt/Mooncraft2000
https://news.ycombinator.com/item?id=45646958
I guess it would be nice to have a more entry level piece not just a more advanced stuff and a story. Still nice. But not that involved and getting into IT is more than involvement and interaction.