Every software organization eventually inherits something nobody wants to own: source files older than the current stack, an original author long gone, and a workflow that still depends on the result. The longest answer to that predicament I have studied belongs to John M. Christy, who began writing a CAD program 45 years ago on a machine clocked at 613 kHz and still builds it 45 years later on a Mac M4 that accepts spoken drafting instructions. Between those two points sit a hand-drawn artwork table, an HP BASIC prototype, a year of retraining in HP Pascal, a shelving in the 1990s, and a 2025 revival carried out mostly with Claude. Treated as an engineering teardown instead of a memoir, it hands a development team what this channel exists to circulate: a rewrite sequence, a commit-gate habit, rules that survived four hardware generations, and hard evidence that readable code has quietly become a machine-readable asset.
Google's 2025 DORA report, "State of AI-assisted Software Development", surveyed nearly 5,000 technology professionals and puts AI adoption among software development practitioners at around 90%. Its headline is a reversal: AI adoption now correlates positively with software delivery throughput, unlike the 2024 findings, but delivery instability remains elevated (blog.google, 23 September 2025). Christy's one-person shop is a small-scale preview of that same combination. Idea, implementation and verification that once took months now "sometimes take minutes instead of months", yet nothing lands without an automated gate. For a team adopting assistants this quarter, the bottleneck has moved from typing to review, and the review layer is what you must build deliberately.
| Era | Platform and language | What shipped | Durable engineering decision |
|---|---|---|---|
| Late 1970s | HP-85, HP BASIC in ROM, 613 kilohertz clock vs rival machines at 4 megahertz | CADD/85, then CADD/86-87 for the HP-86 and HP-87; listed by Hewlett-Packard as a software supplier | Buy accuracy, not clock speed: binary-coded decimal arithmetic to fifteen significant digits |
| 1980s | HP 9816, HP Pascal | CADD 200, later CADD 200/300, published by Tensegrity, Inc. in Chicago | Store an extent per item so redraw touches only what crosses the screen; name everything descriptively and comment heavily |
| 1983-2012 users | A succession of HP machines | John Hardy's sheet metal, injection-molded plastic, machined parts, schematics and circuit boards; CADD/200-300 drawings | Release the source to a capable customer: wide lines in the 1980s, Gerber output in 2012 |
| 2025-2026 | Mac M4 plus Claude, with the Pascal printed out and an HP 340 feeding files over a serial link | C3 (short for CADD300_Modern), feature-complete by February 2026; Windows version under way | Split the human role: producer and director plus quality-control tester, instead of typist |
The revival began with a wish that predates it. During the 1970s, JMC Engineering was Christy's small company, producing audio products for musicians, instrument preamps and a phase-locked-loop frequency counter that remained accurate at low frequencies. Circuit board artwork was done by hand on a light table, using film, ink and drafting tape of various widths, drawn at four-to-one and photographically reduced, which shrank the errors along with the drawing. At the Design Engineering Show at McCormick Place in Chicago he saw a computer system that could actually draw, running on what was then called a minicomputer, priced at roughly $500,000. That was the problem: he could barely afford $500, let alone $500,000, and since no affordable machine would draw a circle, he taught himself programming and made one.
His first computer was an HP-85. One box held a five-inch screen, a thermal printer and a tape cartridge; HP BASIC came in ROM, engineering graphics came in the language, and there was an easy path to an HP plotter. While other machines ran at 4 megahertz, its clock ran at 613 kilohertz: HP had chosen complex and slow over simple and fast, doing its arithmetic in binary-coded decimal to fifteen significant digits. The answers were right, the machine was not fast. Variable names were either one letter or one letter plus one digit, so you had 286 simple variables and that was it. Inside that box he wrote CADD/85, which could draw circles, lines and boxes and grew a library of schematic symbols. Because the HP-85 sat on engineers' desks worldwide as an instrument controller, it sold quite well, and Hewlett-Packard listed him in its software catalogue as a supplier; CADD/86-87 followed for the HP-86 and HP-87.
An HP-85 computer. Wolfgang Stief / Wikimedia.
Front and back of the CADD/86-87 datasheet. John M. Christy.
Then the 9816 arrived, and HP Pascal proved the only way to get real performance out of it. A year spent becoming good at the language, then a start over, producing CADD 200 and later CADD 200/300, published by Tensegrity, Inc. in Chicago. The name came from Buckminster Fuller, who personally granted permission to use it for the company on one condition: telling people, in his words, that "the word tensegrity is an invention of R. Buckminster Fuller." That line was printed on the business cards, after Fuller's lectures in the 1970s were attended several times.
The CADD/200 data sheet, with the HP 9816, the plotter and the 9111 graphics tablet. John M. Christy.
John M. Christy.
The rest of the product came from users, and one of them set the readability standard. In Evanston, Illinois, John Hardy of The John Hardy Company designs precision audio equipment; he started on CADD in 1983 and never stopped, running it across a succession of HP machines for sheet metal, injection-molded plastic, machined parts, schematics and circuit boards. He was handed the source and added what he needed, including wide lines in the 1980s and a Gerber output in 2012. The best test of readable code is a customer extending a program thirty years after it was written. For anyone shipping electronics data today, that late export is worth contextualising: the extended Gerber stream belongs to the RS-274X family, first released in September 1998 and still the industry's de facto image-format standard (en.wikipedia.org/wiki/Gerber_format), so a 2012 addition remained compatible with modern CAM pipelines.
Drawings produced with CADD/200-300 by John Hardy of the John Hardy Company. John Hardy.
During the 1990s, Christy moved into a different business and put CADD to the side, but last year, in a very different environment from the one in which he had started, he decided to revitalize it. Nothing in the restart depends on genius; each move below is transferable to an internal service that has outlived its team.
HP built a machine running at 613 kilohertz that got the arithmetic right, while the competition ran six times faster and rounded. Today's C3 solves every construction, tangent circles, arc fits, intersections and offsets, in closed form, never by a grid search or an approximation, because an error nobody can see on the screen shows up at a hundred-times zoom and in the shop. That trade is still an active research problem in computational geometry: adaptive-precision floating-point arithmetic and robust geometric predicates exist precisely because naive floating-point orientation and incircle tests silently produce wrong signs and inconsistent topology (Shewchuk, paper set at people.eecs.berkeley.edu/~jrs/papers/robust-predicates.pdf). Rule for your codebase: publish the list of predicates that must stay exact, and never let a "faster" dependency quietly downgrade them.
Of the choices made during that HP Pascal rewrite, two outlived every machine they ran on. The first was in the database: giving every item an extent meant a redraw touched only what passed through the screen and ignored everything that did not. Most CAD programs of that period redrew the whole file every time, which alone made CADD 200 many times faster than the products it competed with. The same structure remains the default answer in modern rendering, where axis-aligned bounding-box culling combined with a spatial index such as an R-tree is how current 2D engines cut draw calls on viewport-sized scenes (performance-optimization guide, g.antv.antgroup.com). If you draw a list, a map or a diagram today, per-item extents are not retro engineering; they are the cheap, boring fix.
The second durable decision concerned the source. Freed from one-letter variables and their ceiling of 286 simple variables, everything was named for what it was and what it did, and commented heavily. Four decades later, any procedure in that Pascal source can be opened and understood at once, and the same readability is why a language model could read the 1985 code in 2025 and help carry the design forward. Michael Feathers' widely quoted formulation that legacy code is simply code without tests (Working Effectively with Legacy Code, summarized at ibm.com/think/topics/legacy-code) has a corollary here: code with no describable structure is also code an assistant cannot safely take over. Names, comments and plan documents are not courtesy; they are the interface between eras, which is why the new code and its plan documents are written the same way, for whoever reads them next, person or model.
John M. Christy.
Back in the HP days a requested feature usually could be built, but it took a lot of coding, a lot of testing and a lot of time, and users invited to ask were mostly very good engineers and scientists. With Claude working as the programming partner, recent examples show where that time went. Mid-drawing, a needed function was unclear and searching the manual proved slow, so the instruction was simply: "Claude, we need context-sensitive help." The user guide, which runs over two hundred pages, was restructured, and now the help key opens the manual at the exact spot for whatever you were doing. Another time, photographs and spreadsheets inside a drawing were requested; the program could not do either yet, and within minutes it could, with the spreadsheet living inside the drawing itself and formulas for bills of materials and hole schedules saved in the same file.
The C3 assistant arrived in three steps, and the first two had nothing to do with artificial intelligence. In January, the request was voice guidance that tells you what to click next: trivial for a line, but for an angular dimension you click the start and end of one line, the start and end of the other, and then the place you want the arc. A new user has no way of knowing that sequence, and the author admits forgetting it half the time, having written the program. So in May the question became whether the program could simply be talked to, with phrases such as "lines menu," "circles menu," and similar; it now understands more than two hundred spoken commands. In September came the third step: drawing something from a plain-language request. That became the assistant, a language model driving the program through its own command catalogue, one undo step per request, and driven by dictation.
A bolt circle flange drawn entirely by the C3 assistant, with the user’s prompt on the right in blue (the gray-backed text is from the assistant itself). John M. Christy.
The C3 interface with a circuit schematic developed by John Hardy. John M. Christy.
R. Buckminster Fuller had a word for the arithmetic inside this story: ephemeralization, doing more with less, the way a growing population can be supported without anyone having less, as each generation of tools extracts more result from less material, less time and less energy. One person carrying one program across 45 years, and building in minutes what once took months, is a small instance of exactly that.
All of the mechanics, none of the romance. The transferable pieces are the serial-link reference machine, the printed source used as specification, the sub-minute test gate, per-item extents for rendering, and naming for the next reader. What does not transfer is the single decision-maker and 45 years of continuity; a team substitutes written plan documents and a stated review owner.
No. The workflow that worked here began by handing pieces of the Pascal to Claude to analyze and comment on, which produced a reviewable artifact before any generated line existed. Treat model-written explanation as an input requirement in your pull-request template.
Large enough to cover the behaviour you refuse to re-derive by hand. The working number in this project is nearly two thousand tests completing in under half a minute; the ratio is the point, since a slow gate gets skipped and a fast gate becomes policy.
Where an error is visible on the screen, no; where it appears only at a hundred-times zoom or in the shop, yes. The literature on robust geometric predicates is effectively a warning that floating-point approximations in orientation and intersection tests yield inconsistent decisions, which is why closed-form solutions remain the defensible default in CAD and, by analogy, in money and scheduling code.
Only where a step sequence is genuinely hard to remember. In C3 the assistant exists because an angular dimension needs five ordered clicks, and more than two hundred spoken commands now cover the rest. A deploy tool with a six-step ordering is the same problem.
Figures stay credited to their original holders, John M. Christy, Wolfgang Stief via Wikimedia, and John Hardy, and the added industry context is attributed to named reports and specifications rather than restated as common knowledge.
Editorial note: this engineering teardown was written by James Hartley for the SoftwareDevelopment channel at ItInsightsWorld, published by IT Insights; proposals for the next legacy-code case can go to contact@itinsights.com.