Re: Open source alternative for MsAccess?

From: David W. Fenton (dXXXfenton_at_bway.net.invalid)
Date: 06/14/04


Date: Mon, 14 Jun 2004 15:48:43 GMT

Bernd Bollman <bernd@hotmail.com> wrote in
news:cak43b$ibn$07$1@news.t-online.com:

> David W. Fenton wrote:
>> Bernd Bollman <bernd@hotmail.com> wrote:
>> > David W. Fenton wrote:
>> >> Bernd Bollman <bernd@hotmail.com> wrote:
>> >> >> > [Microsoft Access]. . . It's not a programmers tool . . .
>> >> >>
>> >> >> Er, yes, it *is* a programmer's tool. I program in it for a
>> >> >> living.
>> >> >
>> >> > Damn! I'm feeling *really* sorry for you :(
>> >>
>> >> Why?
>> >>
>> >> Because I can do anything I need to do with a tool that allows
>> >> me to do it in 1/3 or less the time it would take with any
>> >> other tool?
>> >
>> > I know Access is very mature and feature-rich and all of you
>> > who program in it daily and create applications that are useful
>> > to some have my deepest respect! I couldnt do this.
>> >
>> > The reason is the total lack of a design. It is a lumped up
>> > collection of components without clean interfaces and lots of
>> > features taped all over it. . . .
>>
>> ???
>>
>> Care to explain that? I see it as as very clearly organized
>> development tool.
>>
>> Of course, I was programming desktop databases back in 1989 or
>> so, so part of my perspective is having lived through the
>> evolution of desktop database development tools.
>
> And thats the point. You have a thorough understanding of its
> capabilities and know what it can do and how. . . .

Funny how the usual Windows/Linux positions are reversed in this
discussion. ;)

> . . . For a new user
> with prior experience in other better designed systems it appears
> completely nonsensical.

Please name some better-designed systems that are the same kinds of
tools:

1. include a native, easy-to-use database engine, no extra
installation required.

2. include a flexible forms designer with a rich event model.

3. include a graphical query designer that allows you to write SQL
pretty easily without actually needing to know SQL.

4. include the best report designer, bar none, ever written.

5. include a scripting language to pull everything together.

6. include wizards to allow non-experts access to many of these
features without needing to fully understand them.

7. can be used as a fronte end to any back-end database engine that
provides an ODBC or ADO driver.

8. integrate with any other programs that offer the appropriate
interfaces.

9. easily support multiple users.

I've already offered Filemaker as an example of this, and it
definitely serves the needs of end users quite well. But as an
application platform, it's weak scripting language (apparently
expanded in the latest version) keeps it from being comparable. It
has also been relatively weak on connectivity to data sources.

>> > . . . Its based on Basic! . . .
>>
>> Visual Basic and classic BASIC have very little to do with each
>> other. I learned BASIC in college and what I learned there that
>> was specific to BASIC (as opposed to concepts like control
>> structures, data vs. logic, and so forth) was of absolutely no
>> use when I started programming in Access.
>
> I know. Should have written "Visual Basic". Either totally sucks.
> Of course this (as well this hole thread) is based on personal
> preferences, but rather many people seem to agree with me on this
> point ;)

Visual Basic is bad-mouthed because anybody can write it.

I have yet to see anyone provide any technical reasons why VB is
subpar in any area (including performance, BTW).

>> > . . . The documentation
>> > totally sucks. . . .
>>
>> !!!!
>>
>> I think the documentation is excellent. I learned to program
>> advanced applications in Access entirely without any training,
>> using the documentation that came with it (Access 2). I doubt
>> that this is because I'm substantially more brilliant than you.
>
> Dont know what version number the current Access "XP" (or "2003"?
> ".Net"?) correstponds to, but version 2 propably was way simpler.

Not really. The sequence of versions is: Access 1, 1.1, 2.0, 2.0+Jet
2.5 SP*, 95, 97*, 2K, 2K2*, 2K3*

The ones with an asterisk are mostly bug fixes for the previous
version. The ones with big changes are without an asterisk. I didn't
use Access until version 2 (in 1996). When Office95 was introduced,
Microsoft did something really big and incredibly important: they
integrated VBA into all their applications. Access95 came out a
little later than the rest of the suite (since it was more
complicated and had to be converted from Access Basic to Visual
Basic), and Office95 was pretty unstable, and quickly followed by
97, which got it all just about right.

The change from Access Basic to Visual Basic was pretty simple, and
almost all Access 2 code converted without a problem (the only
exception being any calls 16-bit external libraries). Here's an
example of Access Basic vs. the VBA version of the same thing:

ACCESS BASIC
DoCmd OpenForm "Main Form"

VBA
DoCmd.OpenForm "Main Form"

Pretty hard to adapt, eh?

And all the changes were like that. I can't think of a single piece
of converted code that was confusing to someone already accustomed
to using Access Basic.

I have one application still out there and in use that is in Access
2.0, and that's because the application uses two 16-bit external MS
OCX's that I'd have to completely replace with the new 32-bit
controls provided with Access (a multiselect listbox control and a
tab strip). The client doesn't want to pay for it, so there's no
problem. I've installed Access 2 for her on her Win3.x PC, then on
her Win95 PC, then on her NT 4 PC, then on her Win2K PC and last on
her WinXP laptop. Access 2 has worked without a hitch on every
single version of Windows. The 16-bit OCX's have installed and
worked just fine on every single version of Windows.

So, no learning curve between the versions (though the programmer's
UI has been vastly improved since Access 2). And completely
compatibility of the old version with new versions of Windows.

> Learning all the additional stuff it has acquired over the years
> in small chunks _should_'ve been easier than learning it from the
> ground up now. But its also possible that you are substantially
> more brilliant than me :)

I'm not particularly brilliant, not particularly stupid.

But there is very little added to Access that I've learned over the
years. In fact, most of what I've learned has been things that were
present in Access from the beginning. When I first started the
conversion from Access 2 to 97, I did most of my work with forms and
reports and used the wizards to build code (though I coded a lot
myself). I also wrote lots of queries, bazillions of them, and
programmed individual near-identical forms for near-identical uses.

My learning has taught me, instead:

1. how to use DAO to do a lot of the things I was using saved
queries for before.

2. how to use more advanced SQL, like subselects, to do things I
could only do before with multple saved QueryDefs.

3. how to depend less on the wizards for generating code.

4. how to program forms so that they are usable in multiple
contexts, not just one.

5. how to write efficient, re-usable code, including an increasing
dependence on class modules.

Access 2 didn't have standalone class modules, so that's one thing
that didn't exist in Access 2. But I wouldn't have been able to use
it then if it had, since I didn't understand the concept behind
them. It wasn't until A2K was already out that I started using my
own home-grown standalone class modules frequently.

So, I think your guess is mostly wrong -- hardly any of the new
things I've started using since migrating from Access 2 have been
new features, as opposed to features that have been there all along
that I just eventually learned to use.

>> I'd like to know what about the documentation you see as
>> problematic.
>
> It reflects the (IMO) bad design and opaqueness.

I don't see that, either, so you're just blowing hot air, so far as
I can see. If you can't provide specific examples to support your
assertions, then I feel safe disregarding them.

>> > . . . The user has to have Access installed. . . .
>>
>> Or the runtime. The latter costs the user nothing.
>
> I stand corrected.
>
>> > . . . Its just
>> > damn ugly. . . .
>>
>> It is? I don't think it's ugly, but then, I have a number of
>> techniques I use to make sure my apps don't come out looking
>> ugly. [...]
>
> Sorry, I was ambiguous. I meant from the programming perspective
> :)

How so? Give specifics, or the charge is basically just name
calling.

>> Nonetheless, I'll take my "opaque monolithic Monster-Bloatware"
>> over any of the alternatives any day.
>>
>> And I'll probably be able to finish the same project in 1/2 or
>> less the time it would take anyone working on any competing
>> platform.
>
> May very well be. I would never in my life touch Access again.

Your choice, but that choice mostly seems to based on your own
ignorance of how to use the tool more than it is on any actual
deficiencies in Access, which you seem able to identify in general,
but not in the specific.

That kind of criticism is of no use to anyone at all.

-- 
David W. Fenton                        http://www.bway.net/~dfenton
dfenton at bway dot net                http://www.bway.net/~dfassoc


Relevant Pages

  • AutoPlay Media Studio Personal Edition 8.0.2.0
    ... open source programming and hobbyists. ... AutoPlay Media Studio 8 Personal Edition's visual rapid application ... Studio 8 Personal Edition is free for personal, non-commercial, open- ... software development tool as Indigo Rose's professional AutoPlay Media ...
    (comp.software.shareware.announce)
  • Re: Rich GUI in C#
    ... > DirectX Or..)? ... Interface" and can be broadly applied to any interface that employs ... programming, which I applaud (programming is the love of my life, next to my ... and a beginning level development tool kit. ...
    (microsoft.public.dotnet.languages.csharp)
  • Re: Sun Java and Microsoft J#.net
    ... Programming with Designers in Microsoft Visual J# .NET ... Microsoft Visual J# .NET is a development tool that developers who are ... services on the .NET Framework. ... that you already have internet access and you are indeed ...
    (comp.lang.java.programmer)
  • Re: Is it possiable
    ... but why make programming ... >> If you don't have the money to purchase Visual Studio 2003, ... >> You can still compile your assemblies from the command-line, ... >>>I dont have any application development tool like Visual Studios .NET or any other ...
    (microsoft.public.dotnet.framework.aspnet)
  • Re: Is Programming Boring?
    ... It's precisely this separation that turns the actual programming into ... If you try to offload these problems to a 3D engine, ... A 3D engine that embraces a specific game design may be possible, ... If I want to be a game designer, ...
    (comp.lang.lisp)