Never Assume Malice When Stupidity Will Suffice*
Mr. Mettler has commented on another posting by one Thomas R. Nicely. Mr. Nicely posts that Microsoft's "Vista arbitrarily restricts the memory space for the GCC executable to 32 MB (33,554,432 bytes)." Mr. Nicely's development environment is composed of the following:
- GCC 3.0.4, which was first released in February 2002.
- DJGPP, which was likely updated April 2001.
- Vista Home Basic
The age of Nicely's tools is limiting. GCC is currently at version 4.1.2 for example. I can work with the latest releases of gcc only on Solaris (if I bootstrap build it) or current distributions, such as Ubuntu 7.04. Even less leading-edge releases (such as Suse 10.1 and 10.2 for example) use gcc 4 and 4.1. Yet, when I try to use up-to-date development tools on Windows, I find they're a major generation back (some release of 3). This is true for MinGW and Cigwin. There's a reason why new versions of any complex tool are released, and if you choose to not step up to those releases, then you should be willing to accept the consequences of that choice and not whine about it when something breaks.
And as for Vista itself, there are already innumerable stories about incompatibilities with existing applications running perfectly fine on Windows XP, but failing to install or run on Windows Vista. We've been hearing about this for over a year. And now Nicely pops up with his grand conspiracy because he can't use his very old tools on the cheapest version of the latest OS.
Before Nicely continues down this path he needs to perform more testing. Run those same tools on a more capable version of Windows (he only documents Basic Home). If the tools continue to fail in the same way, then update those tools and run the same tests again. If there is a real memory (malloc) limitation, then somebody needs to make very sure that it's not a bug with either GCC or DJGPP, especially DJGPP. I find it peculiar that the maximum is $1FFFFFF (33,554,432 bytes). It looks more like a masking problem than a deliberate test (although I don't have access to the code so I can't speak with any authority). The APIs changed a bit between XP and Vista. When somebody can actually look at the Windows interfaces in DJGPP and can say that they are correctly used with regards to Vista, then and only then can you can move on to stage two of this sorry story: point the finger of blame at Microsoft.
You Are Not An Engineer
Mr. Mettler would have us believe that Nicely's problem is yet another example of "using [artificial] restrictions to frustrate developers who do not support only the Microsoft platform." Mr. Mettler would be well advised to find good technical council with regards to Nicely's problems. Nicely's complaint is sloppy at best, and Mr. Mettler's comment that he smells "a law suit against Microsoft for unfair competition" smacks a bit of ambulance chasing. I've followed Mr. Mettler for a long time, starting back when he was following and commenting on the Microsoft antitrust trial, and I've never had a problem with any of this posts before now. But right now, on this post, he needs to back off and make sure his technical facts are straight before charging ahead. Comments and charges like Mr. Mettler's are a good way to loose credibility. And Nicely would do the community a whole lot of good if he dug down into DJCPP and traced what was happening. Nicely needs to get his facts straight as well. Especially if he's a developer.
Update 25 Sept 2011
On 31 May 2007 I wrote another post in which I proved my assertion that the age of the tools were the root of the problem, not Microsoft or Vista.