10 ms·
Exploring Borland DBase IV for DOS (2020)
- CurtHagenlocher 6y agoBoth 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.
- ghaff 6y agoIn fact, it was at least in part the screwed up introduction of dBase IV that led to Borland's acquisition of Ashton-Tate.
- akx 6y agoYet the installer screenshots pretty clearly say Borland.
- ghaff 6y agoPresumably Borland rebranded after they acquired Ashton-Tate.
- CurtHagenlocher 6y agoAs 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.
- ghaff 6y ago"dBase was THE first commercially successful DBMS in computing history" Got to love people who think computing didn't exist before the PC.
- airhead969 6y agoIt just wasn't a strongly-relational one. Marketing! xD
- rbanffy 6y agoBack then I refused to call it a database. It was more like a data bundle or data bunch.
- airhead969 6y agoPretty much. It was a queryable, flat file spreadsheet verging on what we would call a NoSQL these days. Referential disintegrity.
- the-dude 6y agoPlease name this first commercial succesful DBMS you are thinking about then. For me, only Oracle comes to mind.
- ghaff 6y agoIBM 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.
- the-dude 6y agoThanks for the follow-up. > 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.
- ghaff 6y agoIMS 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.
- SulphurCrested 6y agoTOTAL 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.
- leeter 6y ago
- Roboprog 6y agoAh, 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.
- tyingq 6y agoThat progressions of screens is remarkably similar to what you see today with things like Quickbase, Zoho Creator, Knack.com, Ragic.com, etc.
- dspillett 6y agoA 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.
- airhead969 6y agoInteresting. 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.
- mamcx 6y ago"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)
- airhead969 6y agoNever 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. Good luck to you!
- ghaff 6y agoRelational 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.
- airhead969 6y agoIBM's System R came out in 1977, and DB/2 in 83. R:BASE was the first RDBMS on the PC. Oracle existed in 1979 but was only ported to PC in 1984. NonStop SQL in 1987 was revolutionary.
- bitwize 6y agoLibrary 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.
- bombcar 6y agoI 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).
- monkey_monkey 6y agoI 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. The nostalgia is real.
- jasim 6y agoBlink and you'll miss it !! 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 https://harbour.github.io/the-oasis/ftpgenrl.htm
- dugmartin 6y agoGood 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.
- pasc1878 6y agoBorlands 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 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
- teilo 6y agoBorland 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.
- pjmlp 6y agoFor 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.
- teilo 6y agoAnd 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?btrievesetup.htm http://www.cassoftware.com/tas/manual/index.html?btrievesetu...
- tibbydudeza 6y agoWe used it under DOS for our backoffice system - you talked to the "database" engine using an interrupt via loaded as a TSR utility.
- 6y ago
- Zenst 6y agoFun 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 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.
- kcartlidge 6y agoI 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).
- squarefoot 6y agoBrought 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.
- heywire 6y agoClipper 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.
- G3rn0ti 6y agoI‘d love to see it used as a DB backend for a small website. :-D
- rbanffy 6y agoI'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.
- ghaff 6y agoYou 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.)
- rbanffy 6y agoAt 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 ;-)
- malkia 6y agoLast year of mathematical high-school (Bulgaria, 1993-94) I had assignment for dBase. I hated it, but I was rebel back then :)
- lsllc 6y agoAh the good times when you could build a functioning business application in a day or two or three. 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-2016-d3a717dd577f https://hackernoon.com/how-it-feels-to-learn-javascript-in-2... (from 2016).
- bborud 6y agoI 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.
- jluxenberg 6y agoAirtable (https://airtable.com/ https://airtable.com/) and Coda (https://coda.io/ https://coda.io/) are two products which might fit the bill.
- ta988 6y agoNo 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...
- colejohnson66 6y agoIn case anyone doesn’t get the Guy Fieri reference: https://medium.com/s/silicon-satire/i-peeked-into-my-node-modules-directory-and-you-wont-believe-what-happened-next-b89f63d21558 https://medium.com/s/silicon-satire/i-peeked-into-my-node-mo... It has been removed though: https://github.com/babel/babel/pull/3646 https://github.com/babel/babel/pull/3646
- lionkor 6y ago> just wait for it, we are going to do assembly in the web in a year or two. Oh no... He predicted WASM.
- ghshephard 6y agodBase 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.
- tibbydudeza 6y agoDbase IV biggest issue was that it supported the SQL syntax for the first time and it's implementation was just buggy and FoxPro just worked better.
- toddh 6y agoLoved 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.
- protomyth 6y agoFirst real job and all I had was Foxbase Pro, Turbo C 2.01, and a PostScript printer. It made for some interesting programing and data display.
- tragomaskhalos 6y ago"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.
- faichai 6y agoSomething 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.
- janekm 6y agoI 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.
- buescher 6y agoAre you imagining something like the PLATO system? https://en.wikipedia.org/wiki/PLATO_(computer_system) https://en.wikipedia.org/wiki/PLATO_(computer_system)
- faichai 6y agoNot 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.
- kiwidrew 6y agoYeah, 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.
- GnarfGnarf 6y agoI 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.
- nybblesio 6y agodBASE 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. [1] https://en.wikipedia.org/wiki/Ashton-Tate https://en.wikipedia.org/wiki/Ashton-Tate [2] https://en.wikipedia.org/wiki/Clipper_(programming_language) https://en.wikipedia.org/wiki/Clipper_(programming_language)
- tibbydudeza 6y agoWhen 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.
- mixmastamyk 6y agoNeat, 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.
- ghaff 6y agoSQL 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.
- mixmastamyk 6y agoInteresting, I definitely remember tables of records of fields, etc. Foreign keys I can't remember if they existed or not.
- rbanffy 6y agoThe 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")
- tibbydudeza 6y agoI started my coding career when I discovered you could compile your Dbase III code (CRUD stuff) using the Clipper compiler into a DOS executable. Then Clarion was released with it's amazing app generator.
- EricE 6y agoI 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
- ngcc_hk 6y agoFirst job is dBase system building,in parallel to use sir/dbms in univac. Just 1 person in those days. It is very different when I work as DB2 dba.
- alwaysanon 6y agoI 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.).
- stueynz 6y agoCough, cough, Ashton Tate. Would someone like to fix the headline? https://en.m.wikipedia.org/wiki/Ashton-Tate https://en.m.wikipedia.org/wiki/Ashton-Tate
- mikestew 6y agoHeadline'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.
- skissane 6y agoDoes 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.) Edit: I found the English version here: https://www.swcs.com.au/db3.zip https://www.swcs.com.au/db3.zip
- superjan 6y ago> 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...