-------- Original Message --------
Subject: Re: [mail] Re: [HACKERS] Windows Build System
Date: Fri, 31 Jan 2003 15:46:20 -0500
From: mlw <[EMAIL PROTECTED]>
To: Tom Lane <[EMAIL PROTECTED]>
CC: Curtis Faith <[EMAIL PROTECTED]>, 'Al Sutton' <[EMAIL PROTECTED]>, 'Bruce Momjian' <[EMAIL PROTECTED]>, [EMAIL PROTECTED]
References: <002101c2c625$e3204e30$a200a8c0@curtislaptop> <[EMAIL PROTECTED]>
Tom Lane wrote:
"Curtis Faith" writes:OK, I have to weigh in here.
If a developer can simply download the source, click on the Visual C++
project in the win32 directory and then build PostgreSQL, and they can
see that Windows is not the "poor stepchild" because the VC project is
well laid out, they will be more likely to use it for Windows projects
than MySQL which requires the CygWin tools (this means "really a Unix
product" to Windows developers).
In all honesty, I do not *want* Windows people to think that they're not running on the "poor stepchild" platform. If we go down that path, they'll start trying to run production databases on Windows, and then we'll get blamed for the instability of the platform, not to mention the likelihood that it ignores Unix semantics for fsync() and suchlike critical primitives.I have no objection to there being a Windows port that people can use to do SQL-client development on their laptops. But let us please not confuse this with an industrial-strength solution; nor give any level of support that might lead others to make such confusion. The MySQL guys made the right choice here: they don't want to buy into making Windows a grade-A platform, either.
I have been a Windows application and kernel driver developer since version 1.0. I have also worked on UNIX since the original Sun machines. Yes, the DOS version of Windows, i.e win95/98/ME is pure unmitigated crap. No doubt. The NT version of Windows, NT/2K/XP has a very well designed kernel. It is more or less based on OpenVMS. To say it is a "poor stepchild" shows a lack of imagination on your part.
The NT lineage of Windows is usable as a production server. I think PostgreSQL using the most pedestrian Win32 API entry points will perform just fine. The core disk I/O subsystem and NTFS are very stable. The scheduler is not great, but is usable. The VM system is probably better than most UNIX environments, including FreeBSD and Linux. The always interruptable always reentrant device driver design could crank out some serious performance on a busy server.
That being said, the kernel level GUI of Windows is a dangerous risk. Many of the changes made since the original NT (3.x) do reduce stability in a desktop environment. However, a server environment, such as PG, which does not perform any graphic interactions should be stable enough. If rebooted once a every month or two, the system should never experience data loss and windows admins are used to doing periodic reboots.
One last, IMHO very important point, A LOT OF PEOPLE USE WINDOWS!
Every effort should be made to support it. Yea, we all have our favorite environments. I choose Linux, others choose a *BSD, some use HPUX, Solaris or whatever. The point is a lot people choose Windows. It is possible to make a stable environment on this platform. Would I choose it? No, but some people do. Don't you think it makes sense to provide a good solution on Windows, and if they run into the inherent limitations of that platform be able to say, "Windows has some serious design flaws, but you can upgrade to Solaris or HPUX if you need" and getting the user, instead of saying, "Windows sucks, use a real platform" and losing them?
I think it is a AWESOME story to say, "Build your app using PG. Start with Windows, if you like, we don't care, if you grow beyond the capabilities of Windows, just upgrade your server, no need to change anything else."
Just my $0.02
---------------------------(end of broadcast)---------------------------
TIP 2: you can get off all lists at once with the unregister command
(send "unregister YourEmailAddressHere" to [EMAIL PROTECTED])