After their first class, he brought home a fat dBASE IV manual. Since I was very interested in computer books, I read a good portion of it even though I had never touched dBASE in my life. I would daydream of all the little forms, queries, reports and labels I could make with dBASE. But I never got to touch dBASE in my life. We kids used to get LOGO lessons instead in school.
One day my father came back from his evening lesson mildly distressed about something he had learnt. He said they were being taught loops but in the loop there was an equation that seemed just plain wrong. It was:
i = i + 1
How could that be a valid equation? How could i ever equal i + 1? He mentioned that he had asked the teacher about it and from what I could gather, my teacher and my father were talking past each other. The teacher probably tried explaining that it was not an equation but an instruction instead, whereas my father continued to interpret i = i + 1 as an equation due to the algebra he was so familiar with. It sort of held up the class for a while.The teacher asked my father's name, perhaps so that he could talk to him separately later. But when he learnt my father's name, he realised that his son, me, went to the same school where he taught. So he told my father, 'When you get back home, ask your son about i = i + 1. He will explain it to you better than I am able to.'
And indeed I was able to explain it to him pretty well. I was eight or nine years old back then. And that was probably the first thing I taught my father!
Strange it is not cited in the post.
> It is believed that - alongside the BOLD source code (missing for more than 10+ years), the BDE and many original dBase source code was lost during the ill fated Borland + Corel merger (which was eventually called off).
This is confusing because the article is supposedly about dBase, and I have no idea why Bold is relevant. It's an example of where I feel the general negativity of the blog veers into random discussions.
To the best of my knowledge, the Bold source was not lost. In fact, Embarcadero open sourced it several years ago. The blog post has details: https://blogs.embarcadero.com/bold-for-delphi-is-open-source... I worked there at the time though I did not drive its open sourcing, but it is a positive move, and clearly contrasts the blog's statement. It appears actively maintained and updated these days. I would differentiate 'lost' from 'owned but not made available publicly'.
They could have still been the king of the hill now if it weren't for the suits who completely ruined it after Philippe Kahn left the scene.
I implemented reflection for the dBase language and was also part of trying to convert it to Visual C++ instead of using the Borland compiler. I was very green back then but it was interesting, my only time dealing with interpreters / compilers
Semi off-topic: The wikipedia article on Ed Esber is in dire need of a clean up https://en.wikipedia.org/wiki/Ed_Esber
While one could debate which approach would be best for migrating such a project, an 'AI-led Big Bang Migration' would be insane.
However, AI would certainly be helpful for migration.
Netware supported loading PE executables, but it lacked memory protection so developing for it was... fun.
The .dbf format was pretty straightforward, though.
>By feeding legacy PRG (circa 1985) and logics to models like Claude, ChatGPT, developers can now instruct the AI to translate decades-old dBase PRG directly into memory-safe Rust, highly concurrent Go, or modern Dart/Flutter cross-platform applications.
And it alludes to this early on, but it doesn't show any examples.
There were some Turbo C and Turbo Pascal source code that read DBF files, but hardly anyone used them. Most stored data is in text files that can be read by any application.
I think the main gist: you work not as app developer but as db developer, is something that is missing in some partial attempt like access and such.
BTW: Wanna join me or help?
Great productivity tool, garbage collected, compiled, in the constrained environment of MS-DOS PCs.
The migration to Windows 3.1 took too much time, giving time to FoxPro, Access, Visual Basic and Delphi to establish themselves to the same programming communities.
Similar to other HNers, Clipper was also how I made my first attempts to working for others during high school.
The enterprise had to declare me as an apprentice for 'trade jobs', as it was against the law to give a regular salary to someone under 16.
I remember my first paycheck with deductions for retirement, which pissed me off quite a bit.
https://github.com/infused/dbf/
I'm not sure what the article suggests - create a custom rust program that reads and writes to a given dbf file? Create a rust program that mirrors the PRG code, writing/reading data in a custom format?
Where this becomes extremely Rorsarch is the spectrum between "notation is absolutely critical: there is only one correct representation of programs in people's heads and we have to match that exactly" vs. "all program text is ultimately syntactic sugar and programmers will just adapt to whatever". History tells us that the C choice of = for assignment and == for equality testing won, but of course that's not a choice in a vacuum and it's tied up with a thousand other choices.
IIRC, it needed one or two 360K floppies for a full install (a pirated copy; maybe the legal distribution was larger - at that time, all software was pirated). Compiling was fast (on a computer where you type dir and can read the filenames appearing on the screen faster than the computer can print them), but linking was slow, so everyone replaced MS Link with Borland’s TurboLink, which was an order of magnitude faster. It didn’t support overlays, but there were ways to work around that.
There was also documentation available in some third-party TSR app.
Later, another linker became popular: Blinker, which had a bunch of interesting features, such as loading overlays into EMS memory and providing various security functions to help protect your software. But by that time, the writing was already on the wall for DOS.
Funnily enough, many customers actually preferred DOS, since navigating with the keyboard was far faster than using a mouse, and Windows apps generally weren’t designed with keyboard navigation in mind.
Same in Iberian penisula regarding software acquisition, even during university, the same copy centers for books, also offered catalogs of which software we would like to have, or street baazars even, only in the 2000's the goverment (in Portugal) actually started hunting down those practices.
Y'know what? It's probably true that niche needs filling again as long as it isn't the dBase file format. I had to deal with one system that blew the documented max file size for dBase III but for some bizarre reason, the original dBase III executable didn't care.
However, you couldn't load it with any of the ODBC drivers it would fail. Except for one obscure Sybase based driver I have forgotten the details of.
Just couldn't deal with it again I don't think.
While the official dBase.com LLC’s website is still on-line, its newsgroups have been off-line since November 2025.
For those still trapped in its ecosystem, there is finally an escape route: AI powered migrations.
Years ago, dBase was the undisputed king of databases - every business, every person using IBM or IBM-compatible PCs had to get it installed.
But instead of innovating to remain the best database in the face of competition, former Ashton-Tate CEO Ed Esber decided to litigate. Lawsuits designed to protect “look and feel” copyrights had a massive, chilling effect on the dBase community1.
Ashton-Tate targeted its own unsuspecting customers with “piracy audits”, and ask them to pay extra fees for licenses. External consultants were given sales quotas for official dBase consultant status - a predatory practice that was unthinkable in an era when software development cycles took years.
dBase customers pushed back, asking the obvious questions: _When is a Novell NetWare-compatible server coming? When are we getting a network-aware UNIX dBase server?
_
Competitors answered. FoxBase released FoxPro UNIX server in 19932. Btrieve release their Novell-compatible servers in 19943.
Public humiliation and years of harassment by rent-seeking vendors destroyed developer trust long before the bugs began piling up.
When dBase for Windows arrived, it came with three competing systems:
Paradox for Windows
C++ low-level ISAM methods (TurboPascal Database Toolbox, Turbo C++ ISAM) and
A cottage of smaller vendors (BTree Filer/NexusDB), CodeBase (now open-source), Sequiter, Halycon were DPMI compatible.
Bizarrely, to protect dBase, there was no compatible Turbo C++ objects integration in dBase (you could import OBJ files from Microsoft C++). There was no way to natively use dBase from Turbo C++ or TurboPascal.
Borland did ship Paradox SDK which uses OVL (overlay) and DLL. When Borland Delphi 1.0 came out, they provided access via BDE, an 5- or 6- floppy disk installation routine.
It is believed that - alongside the BOLD source code (missing for more than 10+ years), the BDE and many original dBase source code was lost during the ill fated Borland + Corel merger (which was eventually called off).
The reason why its considered lost - when Borland sold Borland Office pack - Borland WordPerfect, Borland Paradox to Corel4, it kept the same BDE version from 2001. Download Corel Paradox 2026 and… you’ll see nothing changed from since 20015.
Microfocus brought Borland SCM, Borland Server, Borland legacy products. If you license Microfocus legacy SCM products, you install Borland legacy Database Engine (MDE) that includes legacy POJO (Plain Old Java Objects) and COBOL interoperability to dBase.
Meanwhile, the dBase III and IV file format became the default format for GIS systems and import/exporting from IBM mainframes, keeping the data format alive even as dBase market-share declined.
In 2012, dBase was hived off from Borland and divested to dBase LLC. dBase LLC released dBase 9, moving to Visual C++ and CodeJock to replace Borland's aging Object Windows Library (OWL).
However, from dBase 8 all the way through dBase 12+, they never removed BDE. The BDE runtime included files timestamped from 1998. After 2019, meaningful development effectively stopped.
Photocredit: CodeJock.com - the SDK that powers dBase grids
As the platform decayed, dark patterns emerged:
dBase third-party vendors refused to provide source code for their add-ons, shipping them as compiled binary files and trapping enterprise customers on MS-DOS, 16-bit, or 32-bit Windows. dBase third-party vendors continued selling “software assurance” or subscriptions for non-existent upgrades.
If you contacted them for support, you were ignored. If you complained about bad products, it was “the customer’s fault.” When frustrated businesses tried to file lawsuits, they found that these court-smart vendors had hidden behind shell LLCs and fake PO Boxes.
As the years flew by, many of these developers simply retired. They closed their websites, changed their legal names (who reads public newspaper notices anyways?), cashed their final subscription checks, and rode off into the sunset, leaving businesses stranded high and dry.
As Gen Z developers attempt to migrate 16-bit Clipper, FoxPro, or dBase to modern platforms, something incredible has happened.
The latest frontier AI models reads .PRG code It can parse all the way down to 16-bit dBase, FoxPro and Clipper .NTX files.
By feeding legacy PRG (circa 1985) and logics to models like Claude, ChatGPT, developers can now instruct the AI to translate decades-old dBase PRG directly into memory-safe Rust, highly concurrent Go, or modern Dart/Flutter cross-platform applications.
Rest in Peace, dBase. I hardly knew thee.
You sided with third-party vendors, causing life-long customers to get their reputations ruined on the former Borland newsgroups.
These same vendors prioritized their own pension over the survival of the ecosystem. They locked the doors from the inside and threw away the key. Now, decades later, artificial intelligence has arrived to finally cut the locks.
We aren't here to revive you; we are just here to help the survivors get out.
No posts