Re: [mail] Re: Windows Build System

From: "Curtis Faith" <curtis(at)galtcapital(dot)com>
To: "'Justin Clift'" <justin(at)postgresql(dot)org>
Cc: <pgsql-hackers(at)postgresql(dot)org>
Subject: Re: [mail] Re: Windows Build System
Date: 2003-01-31 19:18:29
Message-ID: 003401c2c95d$8aa29ed0$a200a8c0@curtislaptop
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

Christopher Browne wrote:
> <snip>
> >> From the MySQL site's page about MySQL vs PostgreSQL:
> >>http://www.mysql.com/doc/en/MySQL-PostgreSQL_features.html
> >>
> >>"MySQL Server works better on Windows than PostgreSQL does. MySQL
> >>Server runs as a native Windows application (a service on
> >>NT/2000/XP), while PostgreSQL is run under the Cygwin emulation."
> >>
> >>That seems pretty straightforward.
> >
> > But it's not /nearly/ that straightforward.
> >
> > If you look at the downloads that MySQL AB provides, they
> point you to a link that says "Windows binaries use the Cygwin
library."
> >
> > Which apparently means that this "feature" is not actually
> a feature.
> > Unlike
> > PostgreSQL, which "is run under the Cygwin emulation,"
> MySQL runs as a native
> > Windows application (with Cygwin emulation). Apparently
> those are not at all
> > the same thing, even though they are both using Cygwin...

Justin Clift replied:
> Hmm... wonder if they're meaning that MySQL compiles and
> executes as a True native windows application (skipping any unix
> compatibility calls), and it's just some of the support utils that
> use cygwin, or if they're trying to say that PostgreSQL has to
> operate entirely in the cygwin environment, whereas they don't?

I just downloaded the latest productin source (3.3.55) and it appears to
me that:

1) It uses Cygwin emulation via a dll.

2) It uses Visual Studio C++ 6.0 for the primary build environment. It
compiles out of the box without having to learn Unix-style build
systems, config, make, etc. No warnings, no errors, it just builds out
of the box. If I did not have a lot of experience building databases I
certainly would have found their support for Windows compelling. This is
a big reason why they are #1.

3) The statement by the MySQL folks above that MySQL runs as a native
Windows application (a service on NT/2000/XP) is indicative of why MySQL
is kicking PostgreSQL's butt in terms of popularity. It is "marketing
speak" at its best. It is technically true, MySQL runs as a service. As
Christopher Browne points out, they still use the Cygwin Emulation
layer. The statement is misleading, however, as it implies that they
don't use any emulation but they do.

The salient points:

a) Running as a service is important as this the way NT/2000
administrators manage server tasks. The fact that PostgreSQL's Cygwin
emulation doesn't do this is very indicative of inferior Windows
support.

b) MySQL recognizes that the important issue is to appear to be a
well supported Windows application rather than to actually be one.

c) It is probably much easier to add the support for running as an NT
service than it is to write a true native port with no Cygwin
dependency. NT Service support is basically a single funtion wrapper for
certain API calls (startup, shutdown, etc.) that enable the Windows
administration tools to deal with all servers in a similar manner.

They have worked on that which makes them look better, makes their
prospective customers happier, and makes it easier to support. Exactly
what any good product development organization that listens to their
customers would have done.

<flame on>
IMHO, PostgreSQL will never have the same level of use in the field as
MySQL currently does as long as there is the kind "head in the sand"
attitude about Windows that I've seen here on the hackers list,
especially as evidenced by the recent outright attacks against those who
are simply trying to port PostgreSQL to the largest platform out there
today.

There have been some very legitimate points about Windows being a new
platform, one that will likely see a lot of users, and therefore one
that should be more thoroughly tested before release than the typical
port to another flavor of *nix.

However, the way the conversation started reminds me of some of the chat
discussions I've seen between young teens.

I was a Mac developer way, way back and long ago realized that the best
often loses and that better marketing beats better engineering every
single time.
<\flame off>

DISCLAIMER: I hate Microsoft and Windows drives me nuts.

- Curtis

In response to

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message Kurt Roeckx 2003-01-31 19:21:21 Re: Linux.conf.au 2003 Report
Previous Message Andrew Dunstan 2003-01-31 19:08:04 Re: [mail] Re: Windows Build System