Monday, September 1, 2008

Is there a problem with dBASE? Is it becoming obsolete?

I've been working with dBASE since the first dBASE for Windows, in early 1996. The development team of my company has written in dBASE, and marketed, more than one hundred programs of the most varied characteristics:

  • Commercial Management, billing and warehouse.
  • Control patients in hospital services as Neurosurgery and Nuclear Medicine.
  • A program that thousands of users downloaded from a financial company to gain access to the movements of their accounts without needing to be connected.
  • Programs that use banks for their own services.
  • Management College professional who is used throughout Spain
  • Management communities irrigators.
  • Management service water council.
  • Creating a working framework itself that has enabled us to write an expert, based on templates, which generates the framework of a comprehensive program in just ten minutes.
  • Creating a scripting language with flow control structures and facilities for local variables that can be integrated into programs.

We have our developments ido adapting to new versions of dBASE so that over 80% of our programs are used and improvements in the latest versions of dBASEPlus, the rest is almost everything in dB2k and only 3 programs are operating in dBASE 16 bit (Visual dBASE)
dBASE for Windows is the product with which we feel more comfortable to program in Windows, which could best take advantage of all our experiences Clipper, which was the language we used in DOS.

Robert Bravery recently wrote that, among other things, he liked dBASE command line. What I like in dBASE is that I write using the dBASE at the command line.

So far, virtually everything we want to do with dBASE, in one way or another, we have done.

But ... and here comes what in my opinion is being dBASE becoming more and more obsolete.

In the IDE

The program editor is poor, very poor. The visual design tools are well but are a small part of the program. Most of the time spent in the program editor and when you're using in each project multitude of functions and classes with their methods and properties, both the kernel of language as their own, the minimum that you would expect from an editor is having completion of functions, variables and classes, highlighted and analysis of syntax, that all the explanations we have written to document the methods available when we are going to use. An editor style of PHPEd Nusphere or any of the modern editors is essential for an IDE who wants to live up to the times.

Tools documentation javadoc-style or phpDocumentor, but obviously can be programmed in dBASE contribute to this modern IDE.

In implementing OOP

The implementation of the class system is simple… too simple way for current programming.

Unable to define an interface and ask your programmers to implement this interface in a particular class. Obviously I can tell my programmers who inherit a particular class and give content to all methods that there are defined but at doing so I’ve to trust my developers because there is nothing in the language which obliges them to do so.

I can say that a property or method is protected and therefore can not be used outside the classroom, but I can not say that a method is final and can not be overwritten by legacy or a method that is private and can not be used by classes inherited…

Unable to define abstract classes or successfully implement methods static.

You can not easily implement patterns as Singleton.

The data access

It is necessary to eliminate the dependence of BDE especially issues of coexistence with other applications based on BDE.

The platform

With the emerging Linux operating system Ubuntu style, if we had a development tool such as dBASE for such environments would have a market with great potential, why I need more independence from the approach the platform. NET. This is simply dreaming…

By Juan Pedro


Robert said...

I did start programming in dbase IV in, i think 1992. it was great at the time and dbase 7 GUI was real nice and productive; i went on a bit to db2k, but since 2002 haven't really touched dbase. i check every now and again to see if anything is new, but, man it sure seems to be the same old dusty stuff over there.

The same names from 10 years ago still posting. The same issues seem to be still around. When is the next version? etc etc

IMHO, the problem is scale, or lack of it. Tech is just moving way too fast for a small company like DBI to keep up with competitors like MS, not to mention Open Source.

Three years ago I moved to all Open Source environment: Debian / Ubuntu, SuSE, doesn't really matter. But oh so many languages to choose from: Python, Perl, PHP and those are just the most recognized. So many editors (from vim to Eclipse) with plugins for all the languages. Throw on top of that the frameworks of the past few years (Spring for Java, Cake et al for PHP)

Seriously, how in the world can dbase keep up technically?

I just read Marty's report at some conference in Germany last year. In it he says he asks what the conference felt about 1) open source dbase and 2) dbase on linux among other things. doesn't mention what the response was, however.

Anyway, from my point of view, open source dbase is the /only/ way they have a hope to keep up and gain new energy and momentum in the community.

Porting it to Linux could come later, but I agree with you would be a great move. Either way, if they don't go open source what chance to they have in the long run?

Consider this: why would any young programmer fresh from school look at a dbase career? When there are opportunities like working on Xen Hypervisor source code (written in Python script(!), btw) where the language is free and the source is open. Why would he choose closed, antiquated and expensive (USD 879!) dbase over python (free) or so many others?

For myself, knowing what I know now about FOSS, could never justify any personal investment in dbase anymore (not touched it for 5+ years now) and that is too bad. But when I can design a full MVC mock-up app with cakePHP in 10 minutes using a modern web oriented language and my choice of modern ide I just can't even think to go back to dbase.

Too bad :-(

Website design, web development, web hosting and Search Engine Optimization
Website design, web development, web hosting and Search Engine Optimization