[Catalyst] RFC: The paradox of choice in web development

Stuart Watt swatt at infobal.com
Thu Feb 19 16:04:51 GMT 2009


Cosimo Streppone wrote:
> It's _not_ that hard.
> Perl has been good in the Windows world for long.
> Strawberry has improved this a great deal.
Actually, our experience has been pretty horrendous. The problem for us =

has not been Perl but deploying Catalyst apps under Windows. We've used =

IIS and FastCGI, which eventual hard-won success, and we now have a =

60-page installation guide as a result.

Strawberry for us had the same issues as ActiveState - a Perl =

distribution that worked fine, but neither was updated all that =

frequently, and both have no debugging support which makes memory leak =

tracing somewhere between very hard and impossible. In the end I built =

my own Perl, with MinGW, and found it only slightly harder than using =

Strawberry. This was because there had been a core bug in both =

distributions which broke DBI with a memory leak - since the indexing =

part of our app does tens of millions of SQL queries, we could never get =

it to run to completion under Windows. The time it took for the core =

patch to make it into the distribution was about four months.

On Windows, for the most part, Perl is the easy bit. Getting it to talk =

to some parts of Windows is a bit harder. Getting it to run to a =

production standard with Microsoft technology is almost unbelievably =

complex. It would probably be much easier with Cygwin, Apache, etc., but =

then, the whole point of them is to hide Windows, so that isn't really a =

help.

Some of our nasties included:

    * ActiveState's PerlEx induced memory errors in file access at a
      level below Perl -- these all went away under FastCGI
    * File locking under Windows is not always as sound as we'd like (we
      hit frequent deadlocks in KinoSearch, which depends on it)
    * CPAN installations depending on external libraries sometimes
      require help to find the right DLLs (e.g., SSL stuff, XML::LibXML,
      XML::LibXSLT) - this seems to be very non-standard across CPAN,
      with each module working entirely differently to find DLLs
    * Under MinGW, I have even had to manually edit export files to get
      DLLs working right
    * Windows permissions for FastCGI - let's not even go there! Have
      you any idea how many policy settings and permissions are involved
      in getting IIS and Perl FastCGI to work?

OK, a lot of this is not actually Perl, but you need a very solid =

background in operating systems in general, networking, DLLs, makefiles, =

etc., if you want to get the whole of Catalyst up from a solid basis.

I'd love to see a Strawberry-type distribution that included a solid =

Catalyst base and the bridge to FastCGI, preferably under both IIS and =

Apache, etc. Give it a proper installer, capable of handling enough =

about IIS/Apache configuration to get a base Catalyst application up and =

running, with decent performance under Windows. If we'd had this, we =

would have saved months of work, and this is not an exaggeration.

All the best
Stuart
-- =

Stuart Watt
ARM Product Developer
Information Balance
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.scsys.co.uk/pipermail/catalyst/attachments/20090219/d8ac6=
995/attachment.htm


More information about the Catalyst mailing list