I was thinking the same thing. In fact, I've been thinking along these lines for a while now. It would be cool if someone were to revisit the idea and re-create it in a modern form.
Modern, but without all the nonsense we waste time on today.
No they are not at all because you don't own the final product and the cost over the life of the project is just insane, users don't see that because it scales slowly and once you're hooked that's hard to escape...
dBase IV tanked the dBase Line. dBase III+ was an amazing product - that everyone used, was super reliable - I made a ton[1] of money in college writing up, teaching dBase III+ systems (Along with with FoxBase PRO).
When dBase IV came out (From Ashton Tate, Not Borland) it was buggy, and much of the stuff in the user manual literally did not work. I was super excited about the SQL support in dBase IV - until after an entire evening of trying to get it to work I realized they had shipped non-functional code. Not buggy - it just didn't actually work as documented. Ended the company. (They came up with massive patches years later - but it was too late - people had moved on).
I would love to read a story on how they decided to ship a product that was essentially still 12-18 months from being completed. I'm guessing (?) they were about to run out of cash - and selling something, even if it didn't work, kept the lights on? Hard to believe given how dominant dBase III+ was back then.
[1] Where, by ton, I mean many, many hundreds of dollars. Which felt like a lot of money back then.
"In Search of Stupidity: Over Twenty Years of High Tech Marketing Disasters" is a great book that covers Ashton Tate's blunders, as well as others from the golden age of tech.
Loved FoxBase PRO. In college I traded a gym membership for foxbase programming. I sometimes wonder that we haven't progressed much at all from those days.
Fun times and all in an era without raid storage, though the likes of Novell Netware soon did well addressing that in the years that followed.
I didn't do much DBase work in that time, but did do Dataease https://en.wikipedia.org/wiki/DataEase
(if you get an old copy hold down the CTRL key and type DEBUG and you will get a hidden debug mode, might also need to hold shift and do not recall if debug was upper or lower case but one or the other will work in the old DOS versions at least).
Which was pretty powerful stuff and was used for bespoke construction projects - what would be the realm of ERP in many ways. But large projects like the construction of oil-rigs was not isolated and few large engineering projects would be using your DBase, Dataease and Paradox! as well as few that I do not recall at the moment.
Was not long after that we saw SQL start to take some traction in usage and availability. Which was also around the time that the GUI war (however brief the GEM/Windows and then Windows/ OS/2 was) and saw many of those legacy databases fall upon those swords over the comming decade and early 90's release of Access sure did cat those who was left, combined with some aggressive office bundles and that included later their server system with backoffice - all priced together for the price of a competitions single package offering and that further hammered many of the competition that come the end of the 90's - many just hang on to stalwart legacy customers and for some, that help for a while.
I still use DataEase v4 for DOS (no interest in the Windows versions). For rapid development of databases, with forms and reporting, nothing current beats it for speed and flexibility (if you have the familiarity of course).
Borlands database was Paradox not dbase. Looks like borland was picking up the pieces of failing PCDOS companies
A better history is on Wikipedia https://en.wikipedia.org/wiki/XBase
For dbase look at Nantucket Clipper and Fox Base (which MS bought). They lasted into the Windows era. Also see the open source harbour which round on unix
Borland bought Aston-Tate in 1991, and thereafter owned dBase.
Borland also developed Paradox prior to that acquisition.
Clipper and FoxBase were dBase clones, and not always compatible.
I did a lot of Clipper programming in the 90s, and a lot of reporting in MS Access. The dBase ODBC drivers could sometimes be hit or miss when used with Clipper DBFs.
For DB applications, I got introduced to xBase via dBase III, then moved into Clipper Summer '87, followed by Clipper 5.x including doing OOP stuff in it.
And that was it, Visual Objects was a disappointment and I eventually fully focused on C++/TPW based applications on Windows 3.x.
And let's not forget Btrieve. Prior to my Clipper work, I did a lot of work building an estimation and accounting system based on Btrieve databases, using an obscure system called TAS Professional. Evidently it still survives in some incarnation: http://www.cassoftware.com/tas/manual/index.html?btrievesetu...
I know of at least one government contractor that was still shipping a clipper application at least until 2019. It is amazing the software that is foisted on government grantees.
Recall their Sprint word processor and Quattro Pro , part of their demise was stepping out of the niche compiler market into more mainstream office market.
Borland had very little except "me too" products, TBH. Pascal, C++, etc. But Delphi was a nice system, FWIW. Of all the Borland products, this one had the longest shelf-life, now still actively developed by Embarcadero.
I really don't agree and I don't think creating a product in the same category is "me-too".
Borland had some truly great products back in the day. Quattro Pro had innovations that surpassed the incumbent 1-2-3's. Paradox had innovations that superseded dBASE. Turbo Pascal was a popular product on its own merit (UCSD Pascal, Quick/MS Pascal never caught on commercially). Turbo C and Quick C were competitors, and many applications back in the day used the Turbo Vision text UI.
In the 1980s and early 90s, the marketplace was full of competing office products before Microsoft Office came around and dominated then scene (folks might remember Lotus SmartSuite and Corel WordPerfect Office).
Spreadsheets weren't always synonymous Excel, nor word processors with Word.
Which should help you understand my perspective better. I don’t agree that Borland “had very little except "me too" products“ just because another product in the same category existed first. Lotus 1-2-3 was essentially a clone of VisiCalc on the IBM PC but it was also its own thing.
Harbour is really interesting and, last time I saw it some years ago, its development was pretty active.
I have already messed around a bit with Harbour and even wrote some small tools for personal use. I was pretty happy with the combination of modern capabilities with the old-school "TUI ergonomics", allowing one to render a TUI to a Win32 GDI context (they give a name to that capability, which I can't recall. It seems that there is also the possibility of rendering to X11 windows, if I'm not mistaken).
I know a couple of decades-old Clipper shops which continued their development with Harbour (although they migrated from DBF files to relational databases), and their businesses are doing fairly well.
Borland acquired Paradox from Ansa. They later acquired Ashton Tate which gave them dBASE.
For those who have used both, many consider Paradox the superior product (technically and also in terms of ease of use, hence the name “paradox”). It had innovations like QBE and a modern Turbo Vision interface. The Paradox Application Language (PAL) was a joy to write in. dBASE had name recognition but was unwieldy in many ways.
Having two flagship database products unfortunately led to a confused strategy and neither product thrived after the acquisition.
Something that popped into my head the other day, is that I think we missed a trick going straight from text based UIs with their uniform simplicity to rich, pixel-perfect GUIs.
Would be interesting to see a design system that somehow sits in-between these two extremes. I've got no idea what that looks like.
I experimented with building something like that (at the time) as a potential graphical BBS interface with low bandwidth requirements. Basically combination of sprite editor / "level editor" to create graphical screens as a grid of entries into the sprite table, the sprite set & graphical screens required very little bandwidth.
I agree completely, and I'm actively working on this. There have been many advances in "text-based UIs" and the modern TUI can have both the uniform simplicity you speak of, along with a rich, mouseable, colorful, unicode interface.
Not quite. What I envision is something that has a broader colour palette, say 256 colours. Themeable. Perhaps like subpixels, there’s some kind of sub-character addressing mode to give more control aesthetics but not too much. And for contiguous blocks some basic capability to support proportional width text. Same with ability to fill blocks with images.
I may have already gone too far with the proportional text.
Yeah, there's something about character-cell displays that makes knocking out a UI prototype really easy, because everything naturally aligns itself to the grid.
It's a bit depressing to watch the HTML/CSS users go through huge contortions to set up a reliable cross-browser typographic grid (i.e. a consistent line-height) and equally-spaced 12 column layout. On the VT100 you get all of that for free. :)
I don't think I've ever seen anyone explore the concept of mixing proportional fonts with the standard 80-column monospaced character-cell display. One problem to solve is how to inform the program driving the terminal about the font metrics (i.e. width of each character) -- this already rears its head when showing UTF-8 text on a terminal thanks to CJK full-width characters, but in that case the width is always exactly 1.0 (half-width) or 2.0 (full-width) and isn't a property of the terminal's current font.
Both dBase III and dBase IV predate the acquisition by Borland. This kind of stuff is super easy to fact-check, so I'm always a bit put off by pieces which make those kinds of factual errors.
As per the sibling comment, Borland acquired Ashton-Tate after dBase IV 1.0 shipped in part because it was such a disastrous release. I think 2.0 was the first Borland release.
I remember doing a project for my CS degree in DBase III, and in my first job out of university I built a back office system for a very large UK cinema chain in Clipper. Discovering Blinker was a game changer, and Mike Schinkel's "Programming in Clipper 5" was my bible.
Oh the nostalgia. Linkers were exotic at the time. Before I discovered Blinker, I got to use Exospace that was shipped with Clipper 5.3. A lot of old goodies are still availabe at the The Oasis mirror at https://harbour.github.io/the-oasis/ftpgenrl.htm
Good to see Exospace being remembered. My brother Greg created that and a lot of other Clipper addons. He passed away a few years ago but I know me enjoyed being part of that community.
Ah, yes, the IBM PC. I think of it as the Permian extinction (Great Dying) of computer science.
I’m joking, but... most higher level languages were tossed aside for “serious” app development. First to use x86 assembly, then “portable assembly” (C). Much of the “worse is better” methodology can be attributed to giving many people computers, but initially very underpowered computers.
MicroRIM's R:Base had modest success, pre client/server. It was always a true RDBMS. I had used R:Base for "real work" and dBase (and kin) for flatfile type stuff.
I've always wondered how Oracle swept the industry, and R:Base did not. Probably multiple factors.
Like Oracle's initial customers had big iron and those enterprise contracts are big money. Whereas R:Base was part of the personal computer revolution and so probably wasn't even considered.
In my mind, MS Access was the market fit successor. IIRC, Access was the first "workgroup" (network file sharing vs true client/server) RDBMS to make the jump to GUI. A bit like Excel displaced Lotus 1-2-3.
Too bad. Much as I came to love Access, I also loved R:Base.
IBM IMS goes back to 1968 (originally developed for NASA). Cincom's TOTAL was sometime around the early 1970s. I'm sure there were databases on DEC's PDP systems. And so forth. dBase II was an important early database product for CP/M and then DOS systems but there were many earlier databases on mainframes and minicomputers.
> there were many earlier databases on mainframes and minicomputers
We were talking about commercially successful DBMS. From the Wikipedia-page it is still not clear to me when IMS became a DBMS for example. Wikipedia lists TOTAL as released in 1982.
IMS was always a database. But it was hierarchical rather than relational. I was thinking TOTAL was earlier than it was though given the company had been in business for quite a while.
What is true is that pretty much all the earlier database products were tied to specific system hardware. In fact, Cincom (which developed TOTAL over time) was arguably the first independent software vendor. So there were lots of databases being put out by successful computer companies (indeed most of them). They just weren't products you would buy or use unless you were also using a particular manufacturer's hardware.
TOTAL was around and already considered old-fashioned (because it was hierarchical rather than relational) in early 1981, when I persuaded my boss not to use it.
In computing history claims like "first" and "commercial success" need to be qualified and defined, and therein things become difficult since timing and thresholds matter to meet a generally acceptable standard of either claim.
In the 1960s, several companies were selling commercial database management systems (as a distinct product), for example: IBM IMS, Univac DMS and General Electric IDS. These ideas were established to a level that there was a database standard committee known as CODASYL active from 1959 onward.
Brought back some good memories of my old days writing Clipper software. Performance was fast, I mean really fast, even on plain 486 PC hardware.
I still have some sources around, although I made use of external libraries iirc for .nsx indexes and other things and they wouldn't compile with some free Clipper clones.
Clipper was the first programming language I learned as a kid outside of bat files. My dad worked with it at work, so we had a copy at home that I played with. Loved making those textual UIs using the double border boxes.
dBASE was a product of Ashton-Tate, not Borland. [1] Odd sidebar: Ashton-Tate had a BBS accessible via a toll-free (800) number for many years and it was extremely popular. I shudder at the thought of their monthly phone bill.
I built several systems using dBASE III and Clipper. Ah, the Summer of 87. [2]
I know I'm old and washed up when I wish I could time travel back to this era. I miss it.
When a program could be written and be useable within hours.
Now it takes me days to install VM's and butchered/forked SDK's and cloud connectors and incant the various sacred undocumented mantras before I can actually open VSCode and start coding.
The tool that impressed me most back then was Dataflex version 2. Version 3 felt very PC-centric and added some OOP ideas that didn't feel right. It was trivially easy to quickly write a screen layout and derive table structure from it. From there to a full-function CRUD was more or less nothing.
I like to compare it to "Rails for the VT-100".
That and Mantis (not sure the version) on an IBM mainframe (something like "Rails for the 3270")
I spent a whole summer in my early teens were my dad paid me to write a DBase IV database/app and to inventory all of their parts (he was a co-owner in a business that serviced CNC machine tools). When I'd get tired of DB 'coding' and data entry I'd go and count parts and write the data in a little notebook to later be entered. Of course it was all a waste because neither he nor the staff ever updated the database when things came and went and it quickly went out of date. I think I was 13 and it was my first introduction to computers being used for business reasons. I was soo over it by the end but now I look back at that summer fondly - I got to go to work with him every day and he took me to lunch and I actually went from a blank PC and copy of DBase to a functional thing myself. I think it put me on my path to computing career and success (next MS VisualBasic and MS Access then 'proper' CS at College etc.).
Library terminals! I remember the public library in my hometown had both an InfoTrac PC (with CD-ROM, in the 80s!) with a horribly burned-in amber monitor, and actual green screen terminals connected to some beast in the basement or someplace (VAX?) to search the card catalog.
I remember that half the searches at the main library would refer you to the microfiche (for some reason they'd know which one to look at but wouldn't have the data).
I was actually still using Sequiter CodeBase (dBase/FoxPro/Clipper) until last year, when I upgraded to 64-bit and couldn't compile the CodeBase source. There were 64-bit flags in the code, but it failed to work. Switched to SQLite, should have done years ago.
Headline's fine, you need to update your historical timeline. I'm also sure you missed the part of the article that illustrates install screens with the company name "Borland" displayed.
Does anyone remember WordTech's dbXL? It was yet another DBase clone.
When I was a kid, my dad brought a copy home to play with. I fiddled with it but never really found any use for it. Unfortunately somebody (not me) threw out all the 5.25 inch floppies years ago, it was on one of them.
(There's a copy of it on vetusware, but not the English version.)
A lot of low-code solutions aimed at collecting and reporting on data are based on streamlined versions of the workflows from old-world DBs like this (and, later, Access): Define your data, define how it is joined for reports, drag-and-drop form/table designers of varying complexity for data entry. So the UI is likely to feel similar unless/until someone comes up with a genuinely new paradigm for this sort of thing. Some are a bit more spreadsheet+transformation based, but that is the "define data & connections" part and once you add custom forms for easier data entry you are essentially back to the same place just maybe hiding the table structure less.
Neat, this was the first db I was exposed to at school and didn't touch another for years. Didn't know it could be so colorful, my memory is of grey on black. CP 437 FTW though.
I thought the lang was a precursor of SQL, but people are saying that's not the case. Might explain why I also didn't know SQL for a long time.
SQL dated back to work at IBM in the early 1970s but it didn't actually find its way into products from IBM and Oracle for almost another decade. I can't say to what degree any of that work influenced dBase. Certainly, the relational model wasn't dominant at the time.
I'm not sure I'd go with the green terminal feel. By the time dBase IV was released, VGA was becoming popular a lot of us moved to color monitors. Even the monochrome ones were white, thanks to the adoption of GUIs.
Last green-screen I used was on a CGA system. It was horrendous.
You really only wanted CGA when you had to do something graphical. The nicest thing you could probably say was it was better than nothing. For most purposes, it was better to just use text monochrome. (There was monochrome graphics with Hercules and some other proprietary variants but they were never very widely supported.)
At least in Brazil, where I lived, CGA monitors were much cheaper because they had high commonality with B&W TVs, CCTV monitors, and the monitors that have been used with 8-bit computers. Color RGBi monitors were not as common because they required better CRTs than most TVs that size and decent color monitors only started appearing when it became easier to import them and their parts.
I'm not really fond on the MDA/EGA/VGA default fonts either unless we are talking about the ones that came with the Cordata or Toshiba portables ;-)
> dBase was THE first commercially successful DBMS in computing history
Is that true? I worked only with PC’s back then but I’m sure that the “mainframe” computers of the day were doing mostly database workloads. Think banks, insurance companies, accounting software...
I still have my Clarion disks. I'm a bit shocked you are the first to mention it in this thread - and so far I'm more than several pages down into it :p
Interesting. Maybe take a look at R:BASE too. It was the first relational database for the PC. dBASE wasn't very relational (didn't emphasize referential integrity) at first. MicroRIM also took/takes pride in its code.
"referential integrity" is not necessary to make something relational.
Is just that for some reasons, everyone on the RDBMS/relational space instantly add EVERYTHING that make a rdbms.
Is like adding transactions to OO... and if a OO implementation don't have it claim is not OO.
P.D: I'm building a relational language... And also start with FoxPro. What it not have at the time was well rounded SQL support but is until this day MUCH better rdbms tool than any other on the market, by a mile (considering the difference on time and scope, btw)
Never said that. And I'm having difficulty following what point you're trying to make because there's little coherence or grammar to your writing.
Referential integrity is a real DBMS term, so I don't know why you're poo-pooing it. It means never having dangling foreign key references.
The drop or preserve semantics of RI are dependent on R-E DBMS design (foreign keys). RI is fundamental to data hygiene, unless you'd prefer customers have a huge mess and then blame you for it.
FoxPro is/was based on dBASE II/III. R:BASE predates it by 3 years.
Relational databases were pretty new at the time of dBase II, although at least IBM and Oracle had SQL-based products. There were a bunch of other databases in the market however.
I entirely forgot about R:BASE. Thanks for the memories. I worked in it only briefly, as a teenager. My uncle, an early PC adopter, introduced me to it.
Now it takes 2 weeks to evaluate the latest UI frameworks only to find the one you chose (or it's tooling) is obsolete before you finish the project:
https://hackernoon.com/how-it-feels-to-learn-javascript-in-2... (from 2016).