The Positive Case for AI-Assisted Development
- 4 minutes read - 850 wordsThis is Part 3 of a three-part series on my 2025 obsession with NeXTSTEP, OpenStep, and NEXTSPACE. In Part 1, I introduced the project and my motivation. In Part 2, I walked through the seven-phase technical journey of porting NEXTSPACE to FreeBSD. Here, I reflect on what AI-assisted development made possible.
The Positive Case for AI-Assisted Development
There’s a concept in education called the “zone of proximal development”—the gap between what you can do alone and what you can pull off with guidance. I’ve got decent instincts for the abstract stuff: data structures, control flow, when to extract a function. But I simply cannot be bothered to learn GNU Make’s idiosyncratic dialect. Life’s too short. And while I’m always glad to invest time becoming a better C developer, having focused, contextual help with my specific struggles? Invaluable. Claude’s syntax knowledge paired with my architectural intuition let me expand what I could actually accomplish. That’s not nothing.
There’s also the matter of unattended edits. Once I agreed to a strategy, I
could let Claude Code make the changes while I stayed present as Dad. A quick
review of the diff, a nod, and the agent did the tedious work. I once wrote
that good instructional materials should let you complete one full step during
a toddler’s nap. AI-assisted development takes this further: you can make
meaningful progress in fragmented time. It raises real questions about
whether IDEs—even my beloved vim—will matter in the same way going forward.
There’s also what I’ll call the “code hype-man” effect. When you’re working on a significant changeset and life pulls you away for a day, you risk losing your mental model of the problem. Having an ongoing TUI-based chat agent means someone is there to remind you of the theory behind your bugfix when you return. It’s like having a pair programmer who never forgets. This alone saves enormous cognitive re-entry costs—the kind of friction that kills hobby projects.
And there’s the avoidance of condescension. I’ve been working among Unix users for most of my life. We are a condescending and pedantic group by nature. It’s keenly frustrating that anyone asking for help is told “Be more smarter” [sic] or “Read more books.” These aren’t objectively wrong responses, but they’re completely tone-deaf—and they suppose that those being flayed are lazy idiots rather than people caring for small children, or people who don’t inhabit professorial posts, or people who don’t have an English gentleman’s daily schedule of trifles. And as someone who looks the part of “software developer” out of central casting, I don’t have to chew on stereotype threat (Am I being treated hatefully because of my identity? Because these people are assholes? Because I’m not good enough?). AI doesn’t sneer. It just helps.
Finally, there’s the avoidance of toil. Let’s grant that the AI naysayers are 100% right—that AI will never help humanity generate one jot of new, good code. Any developer will readily tell you that their lives are full of incidental toil: setting up a web server, configuring a reverse proxy, setting up backups, cleaning up a repository for faster cloning on slow connections. If AI can help humanity avoid this work, it’s doing something good. I don’t see how that’s arguable.
I’m not going to deny that there are concerning externalities to mass AI adoption: heat emission, water consumption, resource scarcity. These are real concerns, and they should be deeply considered as we figure out how to array the material wealth of this planet. But to claim prima facie that there’s nothing good to AI seems tone-deaf and provably false—like talking to a Free Software Foundation zealot about the pragmatic benefits of a permissive license.
Conclusion
I set out to recreate something that mattered to me: the elegance of NeXTSTEP, the feeling that a computer could be both powerful and thoughtfully designed. I ended up with a working desktop environment on FreeBSD, a collaboration with the original NEXTSPACE author, and a much clearer sense of what AI-assisted development can actually do.
This wasn’t AI replacing a programmer. It was AI extending one—filling gaps in syntax, holding context across interrupted sessions, doing the mechanical work so I could focus on the decisions that mattered. The positive case for AI isn’t that it writes code for you. It’s that it lets you write code you otherwise couldn’t, in time you otherwise wouldn’t have.
Every iPhone is a NeXTPHONE. Every MacBook carries NeXT’s DNA. And now, on a FreeBSD laptop (a cousin of the BSD that NeXT was built on), I’m writing this post in a desktop environment that honors that lineage—built in the margins of a busy life, with a little help from an AI. It’s been a consuming bit of geekery, but when I open my laptop: Windows isn’t end-of-lifing me; Apple isn’t pushing their new movie “F1” in my (sacred!) system updates notifications; rage-driven click-bait headlines aren’t in my workspace. It’s superior tooling from a more civilized time.
This post is part of a three-part series. Start with Part 1 for the introduction, or read Part 2 for the technical journey.