I'm part of the only ASP group in an otherwise CF shop, so I've worked
with both for the past few years. The two languages are very
different -- because they have different target audiences that value
different features. When, for example, opening and looping over a
recordset, ASP will require more code than CF. However, with ASP you
will be able to control whether you use ODBC/OLE DB/OO4O/what have you
to open the database connection, whether that connection is kept open
for other recordsets on the page, whether the recordset is read-only or
writeable, etc., etc.
"Better" is subjective. It all depends on the current skill set of the
people who will be doing the coding -- whether they're more comfortable
with scripting or tag-based coding -- and whether you need the
flexibility and extensibility available with ASP, or would prefer the
quick coding and out-of-the-box functionality of CF.
I would say that the main pros and cons are:
ASP:
takes more code to do some tasks
has fewer built-in features (but can be easily extended with COM
components)
much finer control
easy transition for VB programmers (most sample code is in VBscript)
CF:
some things _must_ be tag-based (database access, for example)
- so you can't just cfscript everything
- so you _must_ transition to the tag paradigm
ODBC/JDBC connections only (unless I'm missing something)
difficult to extend using COM components (again, unless I'm missing
something)
easy transition for HTML programmers