I’ve spent years arguing that large language models are pattern-matchers, not intelligence — and I still think that. But there’s one place the pattern-matching pays off completely: writing code. Code has strict syntax, predictable structure, and a narrow space of valid forms. NLP++ is a programming language, so an LLM can write it. For the last eight weeks I put that to the test, hard.
The journey
I paired with Claude to build version 3 of the NLP Engine and its VS Code extension — not a side experiment, the real thing: hundreds of commits across more than a dozen repositories. Some of what we did together:
- Added new functions and capabilities to the NLP++ language itself
- Fixed cross-platform problems in the engine
- Built one-click compiling using Cloudflare and GitHub
- Converted the entire old RoboHelp HTML help set into Markdown
- Percolated coordinated updates across eight-plus repositories
- Shipped a new Help tab in the extension
- Scaffolded and hardened more than 40 information extractors
Across all of it, Claude was a force multiplier — call it five to ten times my normal output. And every bit of it worked for one reason: I understand every line of code, the code we wrote and the code it wrote.
Why it works for me specifically
Two conditions make Claude effective, and I don’t think either is optional.
First: I am 100% familiar with the code. I know the C++ engine and the TypeScript extension inside and out. That is not a footnote; it is the whole reason this partnership works. Claude is a fast, tireless writer of plausible code, and plausible is not the same as correct. Because I can read what it produces and know instantly whether it’s right, it becomes an accelerator instead of a liability. The classic failure mode of AI-assisted development — shipping code you don’t actually understand — never happens here, because I understand all of it.
Second: the foundation is solid. The engine and extension were written by senior software engineers, and the code is clean and well-structured. Claude does its best work on top of good code, because good code gives it clear patterns to mimic. And whatever it writes stays glass-box: plain, deterministic code you can read, diff, version, and re-run to the exact same result. Claude is a development partner, not the runtime.
The big question: can Claude write analyzers?
The big question: can Claude write analyzers?
Building the engine and tooling is one thing. The question I really cared about was NLP++ itself: could Claude build analyzers from scratch, and could it help harden analyzers when they failed to extract information as new text arose?
The answer, to both, was yes.
Claude can write NLP++ code, and it can prototype a new analyzer from scratch. But there’s a real condition attached: you have to point it to the right places, and it has to understand how analyzers actually work in NLP++. Writing NLP++ is very different from other programming languages — a rule-based, knowledge-based system, not the imperative code most models have seen a million times. Left to guess, Claude flounders. Given the right paths and conventions, it does real work.
If you want the step-by-step — from a blank machine to a working analyzer, which prompts to use, and how to read, run, and tweak the code until it’s yours — I wrote a companion how-to: Let Claude Write NLP++ For You (And Then Fire It). This piece is about what it all means.
And it means one honest limit up front: Claude is not capable of writing industry-ready analyzers on its own. It builds the scaffolding and grinds the edge cases; the architecture, the precision, and the decisions that make an analyzer trustworthy in production still belong to a human who knows what they’re doing.
Lowering the barrier — who gets to use it
For years, NLP++ demanded fluency before you could start. You had to learn an unfamiliar paradigm just to get a first analyzer running, and a lot of smart people looked at that wall and walked away. Claude changes who gets to use it. You can describe your corpus and what you want extracted, let Claude scaffold a working analyzer, and then read and modify what it produced. You no longer have to be fluent before you start — you can become fluent by reading working code.
If that’s the part you came for, I wrote a full, step-by-step how-to as a companion piece — Let Claude Write NLP++ For You (And Then Fire It) — that walks you from a blank machine to a working analyzer, through the built-in prompts, and into reading, running, and tweaking the code until it’s yours.
That on-ramp depends on affordable access to a capable model, which today means something like Claude Pro. Worth naming, because it’s part of the calculus.
The irony isn’t lost on me
There’s a paradox at the center of all this: I’m using a large language model to help build the very thing that could, one day, replace it. NLP++ is deterministic, transparent, trustworthy symbolic NLP — every decision a rule you can read, every result one you can reproduce. LLMs are the opposite: astonishing, and probabilistic black boxes. For anything that demands an auditable, defensible answer — in law, medicine, finance, anywhere the stakes are real — “usually right” isn’t good enough and “I can’t show you why” is disqualifying.
So there’s something fitting about a brilliant improviser helping you write down the score. Claude is accelerating the construction of the kind of NLP that doesn’t need Claude at runtime. There’s a catch worth saying plainly: today’s models are sold below their true cost and trained on uncompensated copyrighted work, so this is borrowed, subsidized capability. My advice is to use it while it lasts, and channel it into symbolic NLP that endures. It will take decades to build symbolic NLP out to the breadth today’s models cover. But it can happen, and I’d argue it must.
What’s coming
Not everyone wants to write analyzers, and not everyone wants to stay a beginner — so we’re building for both. Curated extractors are on the way at nlpfix.ai, for people who just want reliable, ready-made extraction without writing a line of NLP++. And for those who want to go the other direction and become genuinely fluent, we’re rolling out certification through screamingkoala.com.
The bottom line
After eight weeks and hundreds of commits, my take is straightforward. Claude is a superb development partner for NLP++ when two things are true: you know your code well enough to check its work, and the code it’s building on is solid. Under those conditions it’s a five-to-ten-times force multiplier — but it cannot replace the human who ships the finished, trustworthy analyzer. The goal is worth the discipline: NLP we can fully trust.
![]()
