Re: [mail] Re: Windows Build System - Mailing list pgsql-hackers
From | Curtis Faith |
---|---|
Subject | Re: [mail] Re: Windows Build System |
Date | |
Msg-id | 003401c2c95d$8aa29ed0$a200a8c0@curtislaptop Whole thread Raw |
In response to | Re: [mail] Re: Windows Build System (Justin Clift <justin@postgresql.org>) |
Responses |
Re: [mail] Re: Windows Build System
|
List | 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
pgsql-hackers by date: