Nathaniel Talbott
11/15/2003 1:55:00 PM
Daniel Carrera [mailto:dcarrera@math.umd.edu] wrote:
> Question:
> Why would you want to use Microsoft's C/C++ compiler when gcc is
> available? No sarcasm. This is an honest question.
A few reasons:
- Ease of setup. I've tried to use Mingw before, and found it to be a
nasty mess of dependencies with opaque documentation. Couldn't get it to
work. Perhaps this has changed; perhaps not.
- When in Rome, do as the Romans do. Seriously, if you're coding on
Windows, it makes sense to use Windows-centric tools in a lot of cases. I'm
just glad folks can do that now without forking over any $$$.
- Binary compatibility? I seem to remember someone saying that a Ruby
built with Mingw cannot load extensions that are built with MSVC, and vice
versa. And unlike Linux and its brethren (cousins, ancestors, etc), it is
standard to ship binaries and not source. Thus, it's important to know that
you can ship a binary and it will run without trouble, and the best way to
do that is to compile it with MSVC, since it IS the de facto standard on
Windows, like it or not.
- Ease of use. It seems that every time I see Mingw referred to, it's
someone asking, "How in the world do I get X to build under Mingw?!? I've
tried and it won't work!" Whereas, as a general rule, I don't see the same
issues coming up with MSVC. This is really a subjective measure, but
subjectively speaking, I don't like the results.
- Short learning curve for Windows programmers. Windows is really it's own
environment, and to support it well, we need folks working on it that
specifically know Windows. It's therefore good to make it as easy as
possible for those folks to contribute code to Ruby, and if they're Windows
coders already, they're almost assuredly used to MSVC. Now someone who codes
for Windows at work can come home in the evenings and code for Ruby, without
having to buy himself a copy of MSVC or having to learn a completely new
environment.
- The One-click Windows Installer is built using MSVC. All of the possible
build options were looked at, and MSVC was chosen. Now anyone can help
maintain and contribute to that project without having to buy anything.
That's cool.
- Just because I'm stubborn? Seriously, now that this is free, I'd be very
hard pressed to use anything else. Probably not worth trying to convince me
otherwise. If Mingw is truly better, then eventually I'll see the light and
switch.
I'm certainly not saying "You're an idiot if you use Mingw instead of
MSVC!"; if it works for you, great! But I am saying that one should use the
right tool for the job, and I think it's excellent that this tool (MSVC) has
become freely available. I've heard folks complain many times in the past
that they can't afford or don't want to shell out for MSVC, and that's not a
problem anymore. I consider growth in choices to be a plus.
You asked a non-sarcastic question, and this is my attempt at a
non-sarcastic answer. I hope it helps answer your question, but it is NOT
intended to start a holy war. Again, if you prefer using something like
Mingw on your computer, great. I don't.
Nathaniel
<:((><