[thelist] [aspng] Re: Differences

Scott Dexter sgd at ti3.com
Wed Nov 8 15:00:54 CST 2000


one more spew from Mr Carroll about general differences between ASP and ASP+

If you wanted to throw away the other email after a couple paragraphs, read
this one in its entirety, is more generic....

sgd
--
work: http://www.ti3.com/
non: http://thinksafely.org/ 

-----Original Message-----
From: Charles Carroll [mailto:darthcarroll at asplists.com]
Sent: Wednesday, November 8, 2000 1:32 AM
To: aspng
Subject: [aspng] Re: Differences


At 11:45 AM 11/8/2000 +0530, you wrote:

Hi 
        Can anybody give me the common features(coding) available in ASP and
ASP+.
        
With Regards
Karthik Swaminathan

Classic Asp has 
(1)
6 objects, see:
http://www.learnasp.com/start/objects.asp
which are components that make web-development dynamic.
(2)
2 built-in script languages (VBscript, Jscript) that are NOT compiled. 
some 3rd party languages: Perlscript, Python but not so robust.
(3)
Database support via ADO which communicates with ODBC and OLEDB databases.
Most database display is done through recordsets and loops. Most database
manipulation requires code coupled to back-end database that may fail if
drivers are switched and needs to be written carefully.
(4)
Can be extended with COM objects or COM+ (including transactions) that can
interact with ASP objects. Supports default interface COM programming, not
multiple interfaces. COM and COM+ objects tend to need GUI tools that
automate their creation.
(5)
Some essential COM components that are needed to build websites (browser
detection, etc.) -- Simple but useful. Most sites with complex needs will
have to build or buy many COM components to complete tasks.
(6)
Tightly coupled to IIS and NT and Intel.
(7)
Browser Neutral. The programmer decides which browsers to support.
(8)
The ASP engine is undocumented so that it cannot easily be extended and only
low-level ISAPI filters can be created to accomplish tasks that ASP will not
support easily.
(9)
Once an application is created it's settings reside in the Windows Registry,
Binary Metabase, MTS catalogs, IIS settings. Transferring /copying a app
from server is a complex tedious job with few automatic tools. Component
registration is done via a variety of doftware packages all of which require
a system adminstrator run these utilities.
(10)
Environment assumes code and libraries are written carefully and debugged
and stress tested. Flaws in codes or component or memory leaks cause system
deterioration and may require soft and hard reboots. 
(11)
Scalability without work is limited because 2 of the core objects (session,
application) don't scale on web-farms. Those objects must be replaced with
home-brewed or commercial objects if that functionality is wanted on
webfarm. Scalability, multi-tier application building and transactional
applications are possible to be build but the programmer has few tools to
make the task simple. It is just hard work and the programmer must have
experience building such systems in the past to build an effective one
today.
(12)
No debugging tools unless Visual Interdev is editor. Debugging tools are
crude and have limits on how deep they can examine the system. Error
trapping in all languages has severe limits.


ASP+ has 
(1) 
The NGWS Framework which has ALL the facilities needed to build a ROBUST
commercial product of the scope of Office 2000. NGWS is a huge library with
thousand of objects that are self-documenting and can be programatically
interogated. They range from browser interaction to cryptography to GDI/GDI+
libraries. Sockets and Higher-Level constructs.
(2)
3 built in COMPILED languages (has NO scripting languages): VB7 / VBNET,  C#
and JScript / JSNET
(3)
Database support via ADO which communicates with:
   => ODBC and OLEDB databases 
   => XML Streams
   => Binary Streams
   => Programming data structures: Hash-tables, Arrays, Array Lists, etc.
but is loosely coupled so differences between database vendors do not EVER
affect programming model.
Database display NEVER involves loops. Templates, grouped controls, Grids
and many other declarative structures eliminate need for loops and
flexibility is provided so programmer can control all interaction between
templates declaritivity.
(4)
a.
Can consume COM and COM+ objects. 
b.
Can be used to create objects that support interfaces and inheritance.
Languages can inherit and override methods of objects created in DIFFERENT
languages. These can be built with text editors and GUIs are a convenience
not a necessity.
c.
Can make its components into SOAP listeners and proxies with trivial amounts
of work by just setting a few attributes.

(5)
A massive set of built-in components for making GUIs that behave
consistently on a variety of browsers. The programmer does not have learn
about browsers, ASP+ detects the browser and renders the GUI very
differently depending on what browser requests the page.
(6)
The "guts" of the languages and framework are not tied to INTEL or WINDOWS.
The first release is Windows but porting to other computing environments
involves little work.
(7)
Plenty of tools to simplify dealing with diverse browsers. Reduces
programmers workload.
(8)
The ASP+ engine is extremely extensible and high-level utilities called HTTP
Handlers can accomplish the most complex of tasks without inheriting the
ENTIRE ASP+ infastructure or bloat.
(9)
Huge complex applications store their settings and components in ASCII files
and copying these ASCII files from server to server will result in a
perfectly deployed application with no effort. Their are no component
registration tools because components do not make any registry entries nor
do they need to be compiled before being copied to server. All
configuration/security options rely in ASCII/XML files.
(10)
ASP+ worker process assumes all components and code are likely to crash,
leak memory and have bad code (infinite loops, forgetting to advance
recordsets). The ASP+ worker process notices bad code and then isolates the
thread the code is on, allows no new code to run on same thread and then
destroys the thread and all bad code. If code leaks memory, ASP+ worker can
create a new instance of itself to run requests and tear down the previous
instance that has memory leaks without ever rebooting.
(11)
Scalability is a core feature with tons of caching, millisecond timing, etc.
built-in. It scales on web-farms and supports "web gardens" (1 computer with
multiple CPUs). Scalability, multi-tier application building and
transactional applications are trivial to build because the programmer has
many tools to simplify complex tasks. Programmers with little experience and
teams can easily work on complex code and not have trouble integrating
presentation and data thanks to the rendering model.
(12)
Powerful debugging, millisecond timing and profiling are built-in. These can
be done without GUIs and with GUI tools. Error trapping is easy because
there are many error trapping directives (about 8 x as many as Classic ASP).

FINAL NOTE:
.aspx means the page is coded in ASP+

It is pretty amazing. Compare: 
http://www.learnasp.com/learn/dbtable.asp 
and 
http://www.aspng.com/learn/dbtable.aspx 
http://www.aspng.com/learn/columnbinding.aspx 
to see just how different this amazing technology is.

To blow your mind check out: 
http://www.aspng.com/learn/visualinheritance.aspx 
which shows how graphic designers can work on one file and programmers
another SEPARATE file.

Have your heart medicine ready when you see: 
http://www.aspng.com/learn/gridevents.aspx 
Try that in "classic ASP" (our nickname for today's ASP)

Or contrast: 
http://www.learnasp.com/learn/dblist.asp 
and 
http://www.aspng.com/learn/dblist.aspx 
http://www.aspng.com/learn/dblistpagelet.aspx
Capabilities are beyond your wildest imagination. 

http://www.aspng.com/learn/pngmake.aspx 
shows making a PNG file on the fly without 3rd party components for example.

As Scott Guthrie, chief architect of ASP+ would say "that is just the tip of
the iceberg!" 




More information about the thelist mailing list