I've really gotten on this Win32 kick lately. Initially, this was brought on because I needed to make sure one of our apps would work on Win32 systems. However, it has started to bleed into a desire to make programming as seemless as possible between *nix and Win32.
Now, ActiveState took a pretty big step when they made fork() available in their Perl for Win32 product (I'm not sure if they did the same for Python). But, there's more to life than fork - etc, process info, native threads - the list goes on.
I have noticed that there's a decent selection of Win32 modules on CPAN, but I'm learning that anything that doesn't explicitly fall under the Win32:: namespace either does a poor job of supporting Win32 or doesn't support it at all. And, of course, anything that *does* fall under the Win32:: namespace (*horror*) only works on Win32 systems.
I've been working to rectify this somewhat in Ruby, which is lacking compared to Perl and Python when it comes to Win32 support, IMHO. However, I think all three languages (which can, naturally, more or less share source code) could use improvement in this area. Here are some ideas I've been tossing around:
... but I'm learning that anything that doesn't explicitly fall under the Win32:: namespace either does a poor job of supporting Win32 or doesn't support it at all...
I'm not quite sure what you mean by this and one of the reasons I use Perl is that my experience has been exactly the opposite - most things work well across platforms. Certainly the big-name modules like LWP, DBI, XML::* have not given me any trouble due to Win32 issues.
The biggest problem I've encountered on Win32 is that I don't have a compiler so I rely on the generosity of Activestate, Randy Kobes et al to provide pre-compiled packages for modules with XS components. I imagine they do suffer some pain getting things to compile, but the hard work has been done for the modules I use.
What sort of problems are you seeing?
Re:Poor Win32 support?
djberg96 on 2003-09-10T02:41:15
Actually, I was only referring to C extensions, not pure Perl code. In that regard Perl, Python and Ruby are all more or less *nix-centric.Part of the problem I think is that a lot of the hard-core C programmers won't, don't or can't program on the Win32 environment and so it ends up an afterthought.