I actually agree that CF's paradigm is easier to learn, and in fact, I'd argue that CF is better than ASP in every single aspect - I just don't think that ASP is really all that ugly. Now PHP, Perl, CGI/Shell - those are some ugly ;)
Roland -----Original Message----- From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] On Behalf Of Jim Davis Sent: Tuesday, November 08, 2005 11:24 AM To: [email protected] Subject: RE: [CFCDev] Witnessed the power of CF > -----Original Message----- > From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] On Behalf > Of Roland Collins > Sent: Tuesday, November 08, 2005 10:30 AM > To: [email protected] > Subject: RE: [CFCDev] Witnessed the power of CF > > Not really that ugly, IMO: No it is! Horribly, horribly ugly! Like pedophilia-colored drapes with malignant cancer polka-dots. (Sorry. I get worked up sometimes.) However, seriously, the code you posted isn't difficult to work through but actually does require quite a bit of sophistication to do. (I know that you were just responding to the "ugly" comment... but it got me thinking. Bear with me... or ignore me. Either one, really.) ;^) > <% At the very least none programmers aren't used to the marker constructs which distinguish code blocks. Why is this code "different"? Why doesn't it look like the rest of my (HTML) "code"? > Set Mail=Server.CreateObject("CDONTS.NewMail") Having to know both that an object is needed AND which object is needed (especially with such a completely appropriate name!) shows a rather advanced level of understanding. > Mail.To="[EMAIL PROTECTED]" > Mail.From="[EMAIL PROTECTED]" > Mail.Subject="Test Subject" > Mail.Body="Test Body" Setting properties (and knowing how and what properties can be set) is another "new" concept for HTML users. It's not that it's hard, of course, just (at least initially) confusing. With this simple example we've also not dealt with common issues like the need to escape strings when used in script and so forth. These kind of issues are also very difficult for beginners to deal with. > Mail.Send The idea of needing to initiate the action later (in other words the concepts of firing a method on a previously instantiated object) is definitely a foreign concept for most people suckled on HTML. The simple fact that all these lines aren't "connected" in any way is confusing to some. The concept that the object exists for use and much now be acted upon is something that needs to be understood. > Set Mail=nothing Lastly, the concept of needing to do something (anything) with this object AFTER it's already done what you want, the need to "clean up", is actually really very sophisticated. It's not that any of this code is "bad" or anything - but it definitely is a programming model and, even with this simple example, requires many fundamental OO-programming concepts to really understand. Now add to that all of the other issues that a non-programmer may face for the first time in a situation like the one described. It truly is a recipe for frustration. A fundamental concept of ColdFusion is to provide the non-programmer with instant gratification. To abstract complexity. You really can get quite a bit of useful work out of CF without requiring any programming knowledge or concepts. (How well that trend continues into more advanced constructs is debatable of course.) I feel strongly that those concepts are useful and well worth knowing, but many people just don't need them to get the job done with CF. Jim Davis ---------------------------------------------------------- You are subscribed to cfcdev. To unsubscribe, send an email to [email protected] with the words 'unsubscribe cfcdev' as the subject of the email. CFCDev is run by CFCZone (www.cfczone.org) and supported by CFXHosting (www.cfxhosting.com). An archive of the CFCDev list is available at www.mail-archive.com/[email protected] ---------------------------------------------------------- You are subscribed to cfcdev. To unsubscribe, send an email to [email protected] with the words 'unsubscribe cfcdev' as the subject of the email. CFCDev is run by CFCZone (www.cfczone.org) and supported by CFXHosting (www.cfxhosting.com). An archive of the CFCDev list is available at www.mail-archive.com/[email protected]
