It's been long enough that I have nothing but rose-colored affinity for the dBase III, FoxPro and CA Clipper apps that I used to work on. In the early days, my company looked at Harbour (https://harbour.github.io/) as a "quick way" to get some of our account payable systems onto the web back in the late 90s. In the end, a full rewrite with MySQL + Perl DBI was what we chose. I remember that being far more painful. I wonder if I'll have similar rose-colored appreciation for that stack in 20 years.
What a nice surprise. Two days ago I glanced a book about Clipper Summer in my bookshelf and thought that it would be nice to have an environment like that for the web. Glad that someone has built it!
By the way, I'm not nostalgic about the tech of those years, but I definitely think that we unlearned a few things along the way
"As platforms and operating systems proliferated in the early 1980s, the company found it difficult to port the assembly language-based dBase to target systems. This led to a rewrite of the platform in the C programming language, using automated code conversion tools. The resulting code worked, but was essentially undocumented and inhuman in syntax due to the automated conversion, a problem that would prove to be serious in the future."
I built this because I missed the dot prompt. Before SQL and ORMs, you typed USE customers, then LIST, and your data was just there. WebBase-III is that whole world rebuilt from scratch as a web app: a W3Script interpreter (lexer, recursive-descent parser, async executor) in TypeScript, backed by Node, WebSockets and SQLite. BROWSE, @ SAY GET forms, .prg programs, indexes with SEEK, reports — it's all there.
One-click try (no install) via Codespaces: https://codespaces.new/DDecoene/WebBaseIII. Open port 5173 and you're at the dot prompt.
It's deliberately a toy (AGPL to keep it that way). Happy to answer anything about the interpreter or the dBASE quirks I had to decide whether to preserve — like the 10 work-area limit, which I dropped.
It's been long enough that I have nothing but rose-colored affinity for the dBase III, FoxPro and CA Clipper apps that I used to work on. In the early days, my company looked at Harbour (https://harbour.github.io/) as a "quick way" to get some of our account payable systems onto the web back in the late 90s. In the end, a full rewrite with MySQL + Perl DBI was what we chose. I remember that being far more painful. I wonder if I'll have similar rose-colored appreciation for that stack in 20 years.
Gotta plug the delightful, 80s-core hour length ad for dBASE
https://youtu.be/bYU3CQomE5M?is=BysfXD3ybPme-DoL
Before my time, but fun to see how much could be done with it!
Gentry Lee is in this? That's very funny.
Delightful indeed. Brings back memories, thanks for sharing!
What a nice surprise. Two days ago I glanced a book about Clipper Summer in my bookshelf and thought that it would be nice to have an environment like that for the web. Glad that someone has built it!
By the way, I'm not nostalgic about the tech of those years, but I definitely think that we unlearned a few things along the way
"As platforms and operating systems proliferated in the early 1980s, the company found it difficult to port the assembly language-based dBase to target systems. This led to a rewrite of the platform in the C programming language, using automated code conversion tools. The resulting code worked, but was essentially undocumented and inhuman in syntax due to the automated conversion, a problem that would prove to be serious in the future."
Rewriting it with an LLM, is surprisingly apt.
Using dBase3 then Clipper, I wrote this music recommending system, back in 1997.
Here it is again, reborn using Claude Code, using modern tech (Cloudflare, D1, Workers/TypeScript, Pages):
The Similarities Engine
https://SimilaritiesEngine.com
>Sorry, we don't have any suggestions yet, for those 5. But you helped improve the system for the next visitor!
The albums if you're curious:
Amorphous Androgynous - The Isness - 2002-08-05
Boards of Canada - Music Has the Right to Children - 1998-04-20
Booka Shade - Eve - 2013-11-01
Orbital - Blue Album - 2004-06-21
Rone - Tohu Bohu - 2012-10-15
Haha :-) - FoxPro and Clipper next.
I built this because I missed the dot prompt. Before SQL and ORMs, you typed USE customers, then LIST, and your data was just there. WebBase-III is that whole world rebuilt from scratch as a web app: a W3Script interpreter (lexer, recursive-descent parser, async executor) in TypeScript, backed by Node, WebSockets and SQLite. BROWSE, @ SAY GET forms, .prg programs, indexes with SEEK, reports — it's all there. One-click try (no install) via Codespaces: https://codespaces.new/DDecoene/WebBaseIII. Open port 5173 and you're at the dot prompt. It's deliberately a toy (AGPL to keep it that way). Happy to answer anything about the interpreter or the dBASE quirks I had to decide whether to preserve — like the 10 work-area limit, which I dropped.