http://qs321.pair.com?node_id=300933


in reply to Multi tiered web applications in Perl

There are basically two reasons to go with a .Net or J2EE solution
  1. You have expertise in those architectures that you do not have in the 4GL languages, like Perl or Python.
  2. You are already seriously committed to a Win32 architecture.
  3. You already have a large codebase in those architectures.

For a completely new project, it often makes more sense to build it in Perl/PHP. Reasons?

  1. Perl is developed faster
  2. 90% of every Perl application has already been written, tested, and deployed.
  3. Perl is supported on (nearly) every single system known to man
  4. Perl has support for (nearly) every single data store known to man

As for the multi-tiered stuff ... I worked on an e-commerce site that had all the MVC architecture built. Oracle was on its own server, separate from the Apache servers. It was all in Perl.

I've also worked on another web app that had 4 front-end servers, using MySQL for session information. They communicated using Tuxedo across the DMZ to an Oracle server (with HA backup). All the SQL was in Pro*C in a bunch of C++ classes.

The point here is that Perl is a very effective language for every part of the web app. I've heard of apps that have their engine in Perl and use Java/.Net for the presentation layer. No problem!

------
We are the carpenters and bricklayers of the Information Age.

The idea is a little like C++ templates, except not quite so brain-meltingly complicated. -- TheDamian, Exegesis 6

... strings and arrays will suffice. As they are easily available as native data types in any sane language, ... - blokhead, speaking on evolutionary algorithms

Please remember that I'm crufty and crochety. All opinions are purely mine and all code is untested, unless otherwise specified.

  • Comment on Re: Multi tiered web applications in Perl

Replies are listed 'Best First'.
Re: Re: Multi tiered web applications in Perl
by chromatic (Archbishop) on Oct 21, 2003 at 16:43 UTC
    4GL languages, like Perl or Python

    Without commenting on the rest of your post, how do you classify Perl and Python as 4GLs? They're not application specific, they have conditional and looping operators, and they don't require a database.

      4GL => 4th generation languages. I've often heard Perl described as a fourth generation language. Of course, I should've looked up the definition first.

      Often abbreviated 4GL, fourth-generation languages are programming languages closer to human languages than typical high-level programming languages. Most 4GLs are used to access databases. For example, a typical 4GL command is FIND ALL RECORDS WHERE NAME IS "SMITH"

      But, the definition can apply to Perl, in that the language is much closer to English than C or Java. For example,

      foreach $item (@list_of_stuff) { next if $item eq "Something bad"; do_stuff($item); }

      And, from what I've read about Perl6, this will be even more the case. My feeling is that any language that provides the following is a candidate for being a 4th-generation lenguage.

      • Abstracts away physical hardware (where possible), like memory management
      • Provide higher-order constructs as first-order variables (like hashes)
      • Allows for flows that closely map to human thought processes

      But, as always, this is just my opinion.

      ------
      We are the carpenters and bricklayers of the Information Age.

      The idea is a little like C++ templates, except not quite so brain-meltingly complicated. -- TheDamian, Exegesis 6

      ... strings and arrays will suffice. As they are easily available as native data types in any sane language, ... - blokhead, speaking on evolutionary algorithms

      Please remember that I'm crufty and crochety. All opinions are purely mine and all code is untested, unless otherwise specified.

        4GL => 4th generation languages. I've often heard Perl described as a fourth generation language. Of course, I should've looked up the definition first.

        Often abbreviated 4GL, fourth-generation languages are programming languages closer to human languages than typical high-level programming languages. Most 4GLs are used to access databases. For example, a typical 4GL command is FIND ALL RECORDS WHERE NAME IS "SMITH"

        By this definition, doesn't COBOL qualify as a 4GL?

        -QM

        --

        Quantum Mechanic

Re: Re: Multi tiered web applications in Perl
by dug (Chaplain) on Oct 21, 2003 at 19:43 UTC
    90% of every Perl application has already been written, tested, and deployed.
    That sounds really appealing, but I certainly haven't found it to be the case. Possibly if you are writing things such as CGI scripts that do mailforms, but I'm curious. Do other folks who write serious Perl applications for their day jobs agree with this statement?

    -- dug
      In the application I'm working on now, there is much more CPAN code (Class::DBI, HTML::Template, CGI::Application, DBI, Data::FormValidator, SOAP::Lite, XML::Parser, etc.) than code written by me. The code written by me is the actual logic of the application, i.e. the part that couldn't possibly come from another source since it is specific to this project.
      I do write serious Perl applications for my day job. A few examples of apps I've heard about:
      • An application that will take inputs in nearly every format known to man (including screen scrapes of vt100 terminals), munge the input according to arbitrarily-defined rules, then output it in any number of outputs, defined at run-time?
      • An application that securely handles over M$100 in seed orders yearly.
      • E-Toys, the most-hit website behind E-bay and Amazon.

      Would those qualify as serious web apps?

      ------
      We are the carpenters and bricklayers of the Information Age.

      The idea is a little like C++ templates, except not quite so brain-meltingly complicated. -- TheDamian, Exegesis 6

      ... strings and arrays will suffice. As they are easily available as native data types in any sane language, ... - blokhead, speaking on evolutionary algorithms

      Please remember that I'm crufty and crochety. All opinions are purely mine and all code is untested, unless otherwise specified.

        I'm not questioning the seriousness of your projects. I was questioning the language that you used when you said, "90% of every Perl application has already been written, tested, and deployed."

        Maybe it is a silly thing to harp on, but it is patently false.

        -- dug
      The code I produce in Perl could easily be 10% of what I would produce doing everything in C without access to a huge library like CPAN.
        What libraries have you found yourself missing when programming in C?

        Don't get me wrong, the CPAN is certainly one of my favorite things about Perl. I have just never had a job programming something substantial in any language that was already 90% complete. I would certainly never say that "90% of every" application in *any* language "has already been written, tested, and deployed". Some of them, sure. But not all of them.

        -- dug