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

Skype Now Supports Emergency Calls In the US

With the latest round of updates to Skype , it was noticed today that the instant messaging and VoIP phone service now supports emergency calling in the United States. The release notes for the most recent update to the Android version of Skype indicated that the service now allows calls to be made to US emergency calling systems via 911.  Telephony services like Skype, Google Voice , and Vonage typically don't offer this emergency calling ability without some sort of intermediate step like deferring to the phone's default dialer, as is the case with Voice, or setting up a physical address location ahead of time which is how Vonage handles it. The indication is that Skype will handle the 911 calls natively, but when verifying with an account that does not have a Skype phone number assigned to it, it was found that the instructions in the FAQ explaining how to turn on emergency calling are not accurate. Emergency calling support in Skype for the United States Interestingly, th...

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.

Edit CUPS Configuration File To Re-assign Network Address

The printers.conf file can be edited to change the network address a printer uses.  This can be useful to fix situations in which the printer in question has a new IP address, but the local system is trying to use the previous address. Shutdown the CUPS server Change the network address Restart the CUPS server sudo systemctl stop cups sudo nano /etc/cups/printers.conf sudo systemctl start cups NOTE The editor used in the example is nano for the sake of those who may be less comfortable in the command-line.  With nano, once the change has been made, use Control + O to save the changes, and then Control + X to quit the editor. Ideally, this process would not be necessary.  Instead, once a printer is added, it will always be reachable at the address it was assigned when it was added to the system.  In practice, things like power outages, or breaks in network connectivity, may be enough for the DHCP server to issue a new IP address. A tip when making the address cha...