Skip to main content

Tag syntax argument is invalid complaint against CFML

A common gripe amongst ColdFusion detractors is its tag-based syntax.  And to be honest, who could blame them?  There is an endless collection of CFML code on the Internet that uses CF tags instead of CFScript notation.  This, in spite of CFML's support of script-based syntax since 1998.  Granted, the provision was limited until version 9, but that was 4 years ago.

While some developers like the tag-style syntax, for those who don't it's easy to understand why the perception is that this is how CFML applications are coded.

The following examples are comparing straight CFML with CFScript and are taken from Adobe's own help page.

About CFScript
http://help.adobe.com/en_US/ColdFusion/9.0/Developing/WSc3ff6d0ea77859461172e0811cbec0a0e0-7ffe.html


First using CFML

<cfif IsDefined("Form.submit")>
 <cfif (Form.lastname NEQ "") AND (Form.department NEQ "")>
  <cfset employee = structnew()>
  <cfset employee.firstname = Form.firstname>
  <cfset employee.lastname = Form.lastname>
  <cfset employee.email = Form.email>
  <cfset employee.phone = Form.phone>
  <cfset employee.department = Form.department>
  
  <cfoutput>
  Adding #Form.firstname# #Form.lastname#<br />
  </cfoutput>
 <cfelse>
  <cfoutput>
  You must enter a Last Name and Department.<br />
  </cfoutput>
 </cfif>
</cfif>


Second using CFScript

<cfscript> 
if(IsDefined("Form.submit"))
{
 if((Form.lastname NEQ "") AND (Form.department NEQ ""))
 {
  employee = StructNew(); 
  employee.firstname = Form.firstname; 
  employee.lastname = Form.lastname; 
  employee.email = Form.email; 
  employee.phone = Form.phone; 
  employee.department = Form.department; 
  WriteOutput("Adding #Form.firstname# #Form.lastname#<br />"); 
 } 
 else
 {
  WriteOutput("You must enter a Last Name and Department.<br />");
 }
} 
</cfscript>

It's a safe bet that anyone still making this case against ColdFusion/CFML isn't close enough to the technology to be in a position to be making the case in the first place.

Comments

Popular posts from this blog

PHP built-in webserver and IPv6 addresses

Though it's difficult to confirm around the Web, it appears as though the IP address scheme the built-in PHP server uses depends on the host name that's provided.  If a fully-qualified domain name (FQDN) is used, such as server.domain.tld, then the built-in server will be listening for IPv6 based requests.  If the server is started with an IPv4 address identified as the host, then it will naturally listen for IPv4 based requests. The closest to anything official around the Web was a comment in the PHP docs that only seeded this conclusion, at best.  But here it is in any case. Built-in web server http://php.net/manual/en/features.commandline.webserver.php#120449 Ultimately, the following answer from Stack Overflow held the "universal" solution.  Thank you dew010. Running PHP 5.4 built-in web server outside localhost http://stackoverflow.com/a/8377378/2487485 Start your development server like: php -S 0.0.0.0:8989

HP webOS interface kudos

UPDATED 06/07/2013 Pandora no-longer makes the webOS version of its player available. While quite obviously a piece rooted in opinion, a subtle nod is offered to Palm for the excellent interface work it did with webOS .  Since it’s initial release with Sprint in June 2009, Palm quickly slipped into relative oblivion.  With the recent purchase of the company by HP coupled with new product releases set for the summer, webOS may become relevant once again.  If so, then perhaps a whole new lot of users will come to appreciate the consideration that was taken with the webOS user interface (UI). An example is the popular webOS application for the even more popular Pandora Internet radio service.  And as it turns out, the company has a collection of screen captures for the various mobile platforms that have native applications for the service.  This happens to double as a quick way to compare the interface elements of other platforms by using the same applic...

Allow Windows authentication using SQL Server driver with DBeaver

DBeaver will allow Microsoft Windows single sign on access when connecting to Microsoft SQL Server using the SQL Server driver (rather than jTDS ).  From the driver properties settings, set the integratedSecurity flag to true . Open the Connection configuration panel and choose the Driver properties section. Set the integratedSecurity flag to true . A subtle, but important step is to not provide username and password credentials to the connection.