Let me have a crack at this...

> I'm rather confused by the various advanced or "active" web page
> methods.  Let's see, there's CGI, Perl, Visual Basic Scripts,
> JavaScripts and Java, ASP (Active Server Pages), PHP and XML.  I'm sure

There are server-side technologies and client-side technologies.
Server-side technologies run at the web-server side.  Client-side
technologies are provided by the browser or other client application.

   CGI - not a language, but an interface for the web server program
    to call arbitrary code on the server system.  CGI programming
    can be done in any language.  Lots of CGI programs are written
    in Perl because web-page serving is generally a text-generation
    problem and Perl has excellent text-processing capabilities.
    See www.oreilly.com/catalog/cgi2 for a good overview.  One of
    the biggest beefs (beeves?) with CGI is that it requires the
    web server program to spawn (fork/exec) a new process to service
    each request.  The downsides to this are performance issues and
    some convolutions when trying to maintain user state across
    several pages.  For this reason most web server processes
    implement some kind of "servlet" technology - teh ability to
    write scripts which execute as threads inside the web server
    process, skipping inter-process communications and process
    creation overhead.

  Perl - the Pathalogically Eclectic Rubbish Lister was already
    cranking in the late 90's and was widely used by UNIX sysadmins
    to automate all of those little UNIX chores that required the
    editing or monitoring of text configuration and log files.
    It rapidly took over the CGI space becuase it was a good tool
    for the job.  The Apache web server supports a loadable module
    called mod_perl that allows your perl code to run inside
    Apache.  There is also a module that allows you to embed perl
    statements inside the HTML documents for evaluation by the
    server before transmission to the client.  See perl.apache.org
    for the straight dope on Apache+Perl.  See www.perl.org for
    a lead on Perl itself.

  VBScript is a proprietary technology only available on IIS.  I think
    it works a lot like embedded-perl, where VBScript statements are
    embedded in the HTML.  With so many platform-independent alternatives,
    a *technical* decision to use VBScript is a symptom of brain
    damage.
    
  JavaScript is an OO scripting language developed and first deployed
    by Netscape Corp.  There is a server-side scripting environment
    available in the web servers sold by Netscape (Sun/iPlanet).
    The "Java" in the name is a marketing gimmick and has nothing to
    do with the Java programming language.  JavaScript is also available
    in most browsers as a client-side technology.  There is an industry
    standard for this one: www.ecma.ch/ecma1/STAND/ECMA-262.HTM

  Java is a general-purpose byte-compiled OO programming language.
    From an IBM perspective it replaces the work that was being done
    in the early 90's to migrate busiess software development from
    COBOL and PL/1 to Smalltalk.  On the server side, it's relatively
    easy to build a web server in Java which acts as a framework
    for managing custom server application objects or "servlets".
    See www.oreilly.com/catalog/jservlet for a generic overview.
    There is a java servlet engine for Apache called mod_jserv,
    more info at java.apache.org.  Java's cool - definitely blows
    the doors off of C++ for developer ease-of-use.  Bummer about the
    licensing and standardization issues.

  ASP - Active Server Pages.  More Microsoft stuff.  Again - unless
    somebody puts a gun to your head, leave this alone.

  JSP - Java Server Pages.  Sun is a Microsoft wannabe with a
    perpetual System V license.

  PHP3 - open source server side language that embeds in HTML.
    The processing engine can run as a CGI with any web server and
    as a module (mod_php3) in Apache.  This thing is spreading like
    wild fire.  Check out www.valinux.com or sourceforge.net as
    large-scale PHP3 sites.

> I've forgotten some.  Now these are all just scripting languages,
> right?  Clearly there are differences.  Some are interpretive (Basic,
> JavaScript-? (or is it run from the JVM?).  I assume that ASP and PHP,
> which I believe are server side implementations, require a special code
> server to which they interface (meaning they interface a daemon which
> provides their functionality).

Yup.  VBasic and JScript require interpreters.  ASP and PHP require
code at the web server to make them work.

> Is this right, or am I all wet?
> 
> What is the difference between PHP and ASP?
> 
> I thought ASP was an M$ thing, is it or is it open?

ASP is an MS thing.  See www.chilisoft.com for a platform-independent
implementation.  PHP is open-source.  If it breaks, you get both
halves.

> I don't need to code in any of these but I would like to know where they
> all fit.  Why are there so many?  Is the number of ?languages?
> increasing or decreasing?  Which are the most used?

There are basically three core technologies:

      client side technologies either embedded in the browser or
       accessible via plug-ins.  You can use a plug-in to enable
       just about any language at the browser - i.e. the tcl
       plug-in available at www.demailly.com/tcl/plugin.

      CGI - use your favorite language

      server side technologies that run a scripting environment
       inside the web server.  Allaire Cold Fusion and JavaScript
       are probably the first cuts at this.  ASP emerged as
       Microsoft Cold Fusion "not invented here" and PHP emerging
       as both of those are cool but "where's my source code?".
       Any language which can be though of as a "run-time" language
       eventually get used to write a web server.  There's the
       TCL web server used at AOL and pushed by Philip Greenspun
       of MIT and ArsDigita.  There's CL-HTTPD or AllegroServe in
       Common Lisp.


> I know I've asked a lot of questions and I appreciate any assistance.
> 
> Thank You, GGK

The technology may be widely deployed but it's still in it's infancy.
Every programming technology from the last 40 years is being re-checked
for suitability in this environment.

WebCOBOL anyone?


ccb

--
Charles C. Bennett, Jr.                 VA Linux Systems
Systems Engineer,                       25 Burlington Mall Rd., Suite 300
US Northeast Region                     Burlington, MA 01803-4145
+1 617 543-6513                         +1 888-LINUX-4U
[EMAIL PROTECTED]                         www.valinux.com
 vi/(emacs)  NT/(Linux)  qmail/(sendmail)  (perl)/python  (pepsi)/coke

**********************************************************
To unsubscribe from this list, send mail to
[EMAIL PROTECTED] with the following text in the
*body* (*not* the subject line) of the letter:
unsubscribe gnhlug
**********************************************************

Reply via email to