in reply to Web aps with Perl (6) vs. Longhorn and the Windows API?

where is PHP getting more traction than Perl from?

mod_php is more useful for bulk hosting than mod_perl because mod_php is less powerful. As a system admin, you don't want a user you don't personally know to write a handler, or to be able to do internal Apache things (like play with subrequests and internal redirects). And even though having an eternal interpreter and an API to communicate directly with Apache make mod_perl so fast, not having an eternal interpreter is what makes PHP much easier to work with and much more reliable in case of sloppy programming, and not having that API would comfort sysadmins more. Perl interpreters are very heavy, and that would need to change before a mod_php-ish thing can be made with Perl. The closest thing you can get now is letting the process that handles the request die. You then skip startup overhead by CoW forking, but don't have the risks involved with having your interpreter live on.

Summarized: mod_perl is too powerful to compete with mod_php on the bulk hosting / idiot programmer market, and unfortunately, that's where popularity lies.

Juerd # { site => 'juerd.nl', plp_site => 'plp.juerd.nl', do_not_use => 'spamtrap' }

  • Comment on Re: Web aps with Perl (6) vs. Longhorn and the Windows API?

Replies are listed 'Best First'.
Re^2: Web aps with Perl (6) vs. Longhorn and the Windows API?
by theorbtwo (Prior) on Jan 01, 2005 at 10:51 UTC

    I should think a good middle-point is having each individual script having it's own interpreter -- what's wrong with that? (You could have them last forever, and rely on the kernel to swap them out as it wishes, or you could tear them down if they aren't used for a fixed period.)


    Warning: Unless otherwise stated, code is untested. Do not use without understanding. Code is posted in the hopes it is useful, but without warranty. All copyrights are relinquished into the public domain unless otherwise stated. I am not an angel. I am capable of error, and err on a fairly regular basis. If I made a mistake, please let me know (such as by replying to this node).

      I should think a good middle-point is having each individual script having it's own interpreter -- what's wrong with that?

      It's a good solution, and several programs use this technique. However, for things to work correctly, still you need to pay attention and not program sloppily. Another problem is that this puts very heavy load on a machine if you use one script per page (as is very common in PHP), regardless of what the kernel can do.

      Juerd # { site => 'juerd.nl', plp_site => 'plp.juerd.nl', do_not_use => 'spamtrap' }