From: Ryan Leavengood Date: 2001-11-01T02:14:12+09:00 Subject: [ruby-talk:23987] Re: New RubyGarden Poll: Windows support > I think you'll find that the biggest problem is that the list does not > seem to be very Windows-user heavy. People with copies of MSVC and the > knowledge to make Ruby work nice under it (currently, it does not ... > it does some bloody strange things, like sleep briefly after EVERY > syscall ... *shudder*). Ouch, that can't be good. I find it very ironic that I now find myself in the position of advocating better Windows support for Ruby. You see, I've been interested in alternative operating systems for years (I used BeOS R4.5 for an entire summer in college...it was great.) But I still recognize that Windows will remain a dominant platform for some time, and supporting it fully is necessary for the future adoption of Ruby by the masses. I am far from an expert on C or compiling things in Windows, but I do have a legal copy of Visual Studio here at work. But I kind of feel that trying to really support Windows in the current codebase of Ruby is a waste of time. Since we are starting over with Ruby 2.0 I think we should focus on really providing the full cross-platform support in that version. This means Windows, *nix, AND MacOS (classic and X.) Of course I'm currently completely ignorant of MacOS and how to better support it, but we have many, many examples of how Windows and *nix can be supported in one codebase. From various big 3D games, to GUI libraries, to programming languages, this problem has been solved many times. But we HAVE to have this cross-platform support a major goal in the future of Ruby. If Matz is not interested in this then others need to step up to provide the support to help make this happen. I for one will make an effort in this regard. > Note that I'm not arguing for or against MSVC or MinGW. I'm just > playing Devil's advocate in this instance. > > As you came very close to pointing out, people are not used to having > to compile things for their Windows platforms -- they're used to > binary installers. This is all very good and well, but this puts the > onus on module builders to get their modules compiled for Windows and > to provide the binary packages. Yes this is for sure. I would imagine a large percentage of the Windows users would never compile their own Ruby or any C modules. They just want a drag and drop type of deal. Heck, I even get into that mindset when in Windows (I installed a binary VIM 6.0 on Windows, but compiled a custom version in Linux.) > So all of a sudden, people need copies of MSVC again. Dang! Catch-22! Well I suppose we need to see the final results of this poll, but I would be curious how many people would rather have MSVC support vs MinGW. I guess if they already had MSVC installed and were used to it they wouldn't want to have to download MinGW just to compile Ruby or some extensions. But this is certainly easier then some poor college student having to get a copy of MSVC. So I would say having MinGW the main compiler with some sort of MSVC compatibility later would be the best thing. MinGW got my vote in the poll. > Binary distribution is something RubyGems should keep in mind. :) Yes it is and I have. But this obviously applies more to the C extensions than to pure Ruby libraries. As I've said in past emails, I haven't put much thought into the C extension issue yet in relation to RubyGems. But it is obviously an important issue and it will be addressed in the near future. I just need to hone my C skills again. > What will probably happen, given the current results of the poll, is > that whoever actually rolls up his sleeves and does the port will use > MinGW or MSVC based on personal preference. > > So really, the best thing would be for you to finish the port and > clean it up. :) Again like I said above we need to look at other projects and use what they have learned for Ruby. I think if we have cross-platform in our minds from the beginning, then we can make sure we design in support for native threads and other things like that. I think we can think of the current Ruby as sort of a prototype. It has proved that Matz's ideas for a great human-oriented programming language are right on. Now we can use what we have learned to design and create an even better Ruby that addresses many of the issues people have brought up with the current version (such as Windows support, native threads and performance.) But to reiterate: full cross-platform support is a must for Ruby 2.0!!! Ryan Leavengood