| By Simon Horwith | Article Rating: |
|
| March 6, 2007 06:45 PM EST | Reads: |
15,387 |
While recently channel surfing, one of the "Geico caveman" commercials came on the tube to remind me that Geico.com is so easy to use, even a caveman can do it.
The marketing campaign is very clever; watching it, I couldn't help thinking what a shame it was that Allaire didn't think of the slogan first. After all, ease of use certainly is one of ColdFusion's greatest strengths. That night I couldn't stop thinking about the caveman commercial and how applicable it is to CF. Questions kept entering my mind like spam forcing its way into my inbox. Is being very easy to learn and use a good thing for a programming language? Does being easy make ColdFusion a less viable business solution? Are ColdFusion developers illegitimate in the programming world? It is no secret that Java, .NET, and other developers sometimes look down on ColdFusion and ColdFusion developers. Is it a simple case of ignorance? ...or jealousy? ...or is this perception justified? I'll preempt addressing these questions with a statement that makes my own perspective and interests clear. Like many other developers, I do what I do because of a real love for my trade. Like all other developers, I also do what I do for profit, i.e., to make money. For a very long time I've been an extremely active member of the ColdFusion development community - I enjoy being active in the CF community and I love working with ColdFusion. For the past five or six months, however, I've been pretty quiet. The reason for this is that rather than focusing on engagements where I largely end up "preaching to the choir," I've been focusing on speaking directly with business owners and important decision makers in large businesses that, in reality, are the folks who can really make ColdFusion a quantifiable success. Speaking with these business-decision makers and advising them on technical and architectural issues has influenced my perception of how ColdFusion fits into the larger IT picture, and it has shaped how I choose to respond to these questions. I'll begin with the fundamental question as to whether or not there is such a thing as a programming language that is too easy. It's not such an easy question to answer. Developing software is largely all about solving problems - and I for one will take all the help I can. CFML and the features built in to the ColdFusion Application Server don't eliminate every problem I face as a developer, but they do make many otherwise difficult tasks trivial. Wanting development to be easier is something that programmers in all development environments strive for. Any Java or .NET developer who tells you they don't want their jobs to be any easier than they already are is either lying or ignorant. Java frameworks like JUnit, Aspect-J, and Struts to name a few were all developed to make developers' lives easier. .NET developers don't use Visual Studio because it looks pretty - they use it because it rapidly speeds up development. There are thousands of other examples of frameworks, IDEs, APIs, and other tools that developers use to make their jobs and their lives easier. Be happy to admit that you use ColdFusion because it makes your life easier.
While many people won't argue with this logic, there's a common rebuttal - "at what cost?" Yes, there is a cost to getting these features out of the box. Part of that cost is obviously the actual price of ColdFusion. Of course, you save so much time and money doing your programming that the server pays for itself in this respect. Another part of the cost is performance. Given all that it does, the ColdFusion Application Server does what it does remarkably fast, but it is an extra layer of abstraction between the code and the J2EE Application Server that the code is running on. To meet the needs of an overwhelming number of users, the performance impact that this layer of abstraction comes with is not only acceptable but well worth it. The last cost of ColdFusion being easy to use is the effect it has on the quality of developers and code associated with it. Unfortunately, being easy does mean that ColdFusion, more than other programming languages, attracts more developers who have little or no programming experience or education. This is actually not such an issue - in fact the majority of the best developers I've worked with come from very non-technical backgrounds. On the other hand, couple this with the fact that the programming language and the CF server are very forgiving and you do have a recipe for creating a lot of bad code. Bad code usually means poor performance and/or difficult maintenance, and any company/manager who experiences this is likely to make a general assumption about ColdFusion in general. This is the fault of the developer, not of ColdFusion, but unfortunately the saying that one bad apple spoils the bunch is especially true in business, where discovering one bad apple can cost a lot of money. To take the questions originally posed in this editorial and rephrase them as statements:
- There is definitely no such thing as a programming language that is too easy to learn or use, but I strongly recommend avoiding any language that makes tasks more difficult than need be.
- A programming language that is easy to learn and easy to quickly achieve results with is definitely the most viable business solution. Anyone who says otherwise won't be in business for very long.
- Plenty of ColdFusion developers are not what some people might call "real programmers." This is not necessarily a reflection on the platform; I've met plenty of Java and .NET developers who couldn't code their way out of a wet paper bag either. The very idea that someone is "not a real developer" is ridiculous. You're either a developer or you're not. If you get the job done and you do it fast and well, I don't care what you wrote it in - even if you are a caveman.
Published March 6, 2007 Reads 15,387
Copyright © 2007 SYS-CON Media, Inc. — All Rights Reserved.
Syndicated stories and blog feeds, all rights reserved by the author.
More Stories By Simon Horwith
Simon Horwith is the CIO at AboutWeb, LLC, a Washington, DC based company specializing in staff augmentation, consulting, and training. Simon is a Macromedia Certified Master Instructor and is a member of Team Macromedia. He has been using ColdFusion since version 1.5 and specializes in ColdFusion application architecture, including architecting applications that integrate with Java, Flash, Flex, and a myriad of other technologies. In addition to presenting at CFUGs and conferences around the world, he has also been a contributing author of several books and technical papers.
![]() |
ColdFusion News 03/06/07 06:20:25 PM EST | |||
While recently channel surfing, one of the 'Geico caveman' commercials came on the tube to remind me that Geico.com is so easy to use, even a caveman can do it. Plenty of ColdFusion developers are not what some people might call 'real programmers.' This is not necessarily a reflection on the platform; I've met plenty of Java and .NET developers who couldn't code their way out of a wet paper bag either. The very idea that someone is 'not a real developer' is ridiculous. You're either a developer or you're not. If you get the job done and you do it fast and well, I don't care what you wrote it in - even if you are a caveman. |
||||
- ColdFusion and AJAX
- i-Technology Viewpoint: We Need Not More Frameworks, But Better Programmers
- What's New with Flex, ColdFusion, and More
- New Adobe ColdFusion 8 Tools "Invaluable"
- Welcome the Arrival of Adobe and Web 2.0
- "Convergence Is Now Coming Alive" Says Jeremy Allaire
- Misconceptions and Myths About ColdFusion . . .
- "It's Here!" - Editor-in-Chief of ColdFusion Developer's Journal Introduces ColdFusion MX 7
- The Future of ColdFusion – Major Flex 2 Deployments Are On Their Way, Says CFDJ Editor-in-Chief
- ColdFusion Developer's Journal Special "Frameworks" Focus Issue: SAM
- CFDJ Product Review "CFMX Exam Buster 7"
- ColdFusion CFC Query in Dreamweaver




























