Ten facts why ColdFusion beats PHP and ASPx

The article below is an old post back from 2007 which I’ve decided to put back up since a lot of people asked me for it. Have fun reading! P.


Whenever someone asks me which language I use for coding, I tell them it’s ColdFusion. People don’t really seem to know ColdFusion, but they have heard of PHP and ASPx. They tend to ask me if it’s the same and I tell them “kinda, but it’s more fun”.

It’s in this that I feel ColdFusion is something of a marketing deprived product (from a European perspective maybe), it simply doesn’t get the attention it should get, to establish a firm place in the choice for application platforms. Maybe Adobe will changes their budgetting plans, or find a marketing office who knows what to should do they get on the most-wanted list. Time wil tell.
That’s why up here in the Benelux countries, no real ColdFusion User Group tends to take off, since nobody really knows the product, except the people who have gotten to know it (mostly by accident or referral I assume).

Then there is the general discussion I get when anybody asks me why they should pay a certain amount when you’ve got all the freeware goodness of a product like PHP. I tell them ColdFusion is a/my specialty, and I don’t want to learn a product like PHP. ColdFusion has kept me happy from day one, but if I’ve started out using PHP, I would probably feel the same way on ColdFusion like they do…

The biggest problem ColdFusion has for it’s main propositions is that it isn’t free (except for Railo), it doesn’t come pre-installed and you have to buy and download it yourself. So why would you bother using that product, when you can get something that does “the same” for free? From an economical point of view, it’s true, ColdFusion has no benefits.

This is a shallow way of looking at things, so this is why I’ve created this post. For everyone who wants to know: my TOP 10 reasons why I would invest in ColdFusion, when you’ve got PHP for free and ASP that comes pre-installed on a Windows box. I feel this list is something Adobe/Macromedia/Allaire always have forgotten to post, next to a Unique Selling Proposition, something ColdFusion needs desperately from a consumer point of view. How else would you know which package to get, if ColdFusion is missing a real proposition? Right now, their main slogan seems to be “Create better Internet applications quickly and easily”, but this doesn’t refer to anything really. It’s not unique (enough) to stand out from the crowd and pay more money.

Remember, it’s my personal view on this. I would like to have an open discussion on this, so if you feel I’ve left out or misjudged anything, post your comment. My purpose is to spark a discussion, or to be referred to by people who are on the virge of investing in one thing or the other. Here we go…

1. Flat learning curve

I’ve started using CF since 4.0 in 1999, because back then my development mentor “heard about it” and it seemed to serve our needs. If he didn’t hear about it back then, I guess I would not be using it, or maybe I would. In 1999, marketing on CF wasn’t all that as well, and people were overwelmed with ASP and PHP.

Anyhow, I started using it, together with ColdFusion Studio (I miss that beauty) and it’s wizards that got the trick done. Not only that, but looking at example-apps and opening other people’s code really started to get my CF-juices flowing. I had created my first professional working/looking site in a matter of 3 or 4 weeks, and it did the job well. Now, in those few weeks, some of the functionality wasn’t all clear to me, but I saw the bigger picture and knew what tags “would” be there.
Ordering “The ColdFusion 4.0 Web Application Construction Kit” by Ben Forta (still available, to my amazement) let me take off without having to read the whole story but learning as we go. Security wasn’t that much of an issue for me in that time, but looking back, CF took care if it in the right way anyway. So in less than a few months I got from CF-newbie, to CF-intermediate, just by coding all day and working Ben’s examples.

CF doesn’t use a complex model that you have to understand upfront. Every webdesigner knows HTML: tags and attributes, plain and simple. CF works in that way as well. You don’t have to use CFC, UDF’s, CustomTags and who knows what, you can start using  and  and you’ll get the job done in time. Along the way you can extend your knowledge into how deep a level you feel comfortable with. I really started using CFC’s for the past 5 years and I don’t feel my coding before that was less good, I just know I’m faster with what I know now.

2. ColdFusion has all the other tools right “down the hall”

Becoming a Macromedia product showed the world the opportunity CF had. It fits right in the alley of Flash, Dreamweaver, Flash Generator (which was a great product, no questions asked), etc. But Macromedia let me down in this context, it wasn’t marketed enough, but when I explained to customers it was a “Flash” product, they nodded friendly because that’s what they knew, and Flash meant having a nice, fresh, interactive website.

Same applies for the current situation. CF is an Adobe product, and all clients know Photoshop and Flash. “ColdFusion? never heard of it…”, I reply “It’s from the same company that makes Flash and Photoshop” and they nodd friendly once again.

I can only predict good things happening to CF now it’s Adobe. It won’t be a large enterprise package that banks will use for their transactions (although Adobe could probably sell it off like that) but it will be a package that will make a site look and feel great. We’ve gotten SPRY, AIR, Flash Remoting, Flex, Dreamweaver being a Creative Suite packaged product (jay!). This will open new markets and new perspectives on CF. Give me half an hour to think about combining CF with any other Adobe product and I’ll think of half a dozen new products… it’s that simple to combine CF with any of the other products “down the hall”.

3. If it’s not ColdFusion, you can use it anyway

I’m not a programmer, that’s not my discipline, but I do know people who program in all sorts of languages and create awesome apps that do things I’ll never be able to do with CF. I don’t feel too bad though: if they can write the software in C++, VB, java, .NET, I can use it in my app to do the stuff I want.

I’ve used CFIMAGE years before CF8 came out, because there was this brilliant tag CFX_IMAGE that does the job (and still does well, so check it out if you require a great tag). But there were other projects as well, that didn’t have a CFX tag available on the web. I still didn’t feel too bad: as long as a programmer could write an .EXE for it, it didn’t present any problem.

Just mentioning an .EXE is a very limited example, I know there are much much more external techniques that can be used inside CF, but I didn’t want to elaborate overly.

4. Professional support when needed

A few years ago, we needed new webservers. There were 3 options for us at the time: DELL, HP and a white label from a nearby computer store. I was pushed towards the white label since it would be the cheapest option (it’s true what they say about the Dutch… :) . On the other hand I didn’t want to be called at 11pm by a client who could not read their mail because the webserver was down for reasons unknown.
I chose the Dell machines, because besides choosing grade A components and boards, they have a kick-ass support service (at a certain cost, but that makes perfect sense). I wouldn’t want to be the guy who has a blue screened server because of component-compatility issues, 11pm when you’re in your PJ’s on your way to bed (or posting on your blog…).

Same goes for Adobe and Macromedia. I know I can get professional support for which I don’t have to Google. This is a fact I believe in, and has proven to be true in the field.

I don’t know which of you reading this ever called Microsoft support for an *important* issue, but believe me, you don’t want to go there. It’s a mess of phone-lines, wrong answers, and “I dunno, sir, we’ll have to get back to you”. I’m not trying to badmouth Microsoft because they have done good in the past, but I wouldn’t want to see some 500 server error with an ASP page and not knowing which support hotline to call first.

(PS: If your CF just crashed: http://www.adobe.com/support/coldfusion/: it’s easy).

5. New features based on user opinions

ColdFusion today has become what the CF community has put in for a large part. As questions for certain features have increased, they became available in some form or another. In that respect PHP and ASP haven’t changed that much, they are still oriented from the source of where they took off, and if you require additional features, you have to install them yourself.

In my opinion this proved to be limited marketing view of the people behind these products. If you expand your product to fit your markets needs, you’re bound to gain more users and fans for your product. This also fits in Adobe’s vision when they further developed Photoshop and Illustrator, they’ve created products that fill needs for as wide a marketgroup as possible without losing core focus.

I showed a fellow developer who codes PHP the new CF8 tag CFEXCHANGE-tags and he was surprised to learn that something that would be so hard to code with PHP, was such a breeze NOW with CF8. I’ve cursed at CF7 too that it didn’t provide this functionality, until I heard Ben Forta mention last year it would be included in Scorpio, since so many users requested it. That brough a smile to my face.

Listening to your audience does two things for your brand: you are able to pull new users that might reject CF in the past to CF, and you get a firmer grip on your existing users. When I used CF5 i would have been less “bound” to CF than I was with version 6, and 7 etc. Each version seemed to add more of my needs and provide me more time to code at my business’ needs instead of coding what ColdFusion was missing at itself.

6. It’s NOT open source (and that’s a good thing)

There is always this ambiguous feeling I have when I hear open source. On the one hand it’s good and everybody wants to have “open source” editions of a product. Certainly it feels good to be able to recompile a program to suit your personal needs in one way or another.

With an application server, I don’t see this as an opportunity, I feel it is a threat since it takes away responsibility from the development team and you open your business to professionals who can’t always assess the implications of changes.

If things aren’t broken, I don’t want them fixed, unless it’s by the support team of the product themselves. Never offer me a CF custom build, my version is working fine as it is, and I know who to call when the CF crashes and won’t boot up (if it ever did ;) .

7. Value for money

At this moment CF9 is priced at $1.299, which is a small amount for the massive package of tools you get for this amound. When developing applications, I know I’ll return this investment in 2 or 3 projects, since it will give me so much speed when developing. You’ve got a few hundred tags and functions, and every upgrade gains a few dozen, which at third of the original investment still makes sense.

Our webdevelopment’s pricing structure is pretty ordinary, we charge what most other companies charge. Only difference is our pricequotes tend to be lower. Why? Because we can code in less time because we use CF. Which brings me to point number 8…

8. Rapid Application Development

I am not world’s fastest coder. At times I tend to work really slow since I want to thoroughly document my steps so I can retrace my steps when I’m in a jam. But I would want to see a competition where 3 developers from around the same skill level would have to build a similar application, one in PHP, one in ASP and a third in CFM.

I know where I would put my money…

At times our company would gain new developers, where I was responsible for their training. In less than a month they would be “up to speed” to start building not all too complex but fun applications to use in our sites. CF is RAD at it’s best, if you don’t know the tags, you could easily guess them. “I want to do a QUERY….” or “I want to do a conditional LOOP…”

It’s an intuitive language and has features for designers, for programmers, at beginners, intermediates and advanced levels. Any sort of webdeveloper can use CF, not just the technically equipped programmer, or database-operator, but a wide group of people.

9. Security to the max

In my early days as a developer (not so long ago) I wanted to learn the nitty gritty of creating fast and nice looking sites. Oh sure, there were hackers, but that didn’t bother me too much at the time. I felt my webserver would probably protect the code as long as I kept my passwords to myself and didn’t leave any ports open.

Okay so I was naïve (… a tad bit…;) but I learned from my mistakes and read a few books on SQL injection, script protect, etc etc. and I got better in securing my apps.
A few months ago I found an old CD with backups of the stuff I wrote in my early CF days. I studied the code that I wrote to log-in and -out of an account, and discovered that CF basically didn’t have too many backdoors open, from the application point of view. I used SQL’s LIKE statement A LOT, boy, but other than that security-wise, nobody every laid hands on my database or internal code. Nor did anybody use CFFILE to upload an executable thanks to CFFILE’s basic attributes that hit you in the head if you miss one or two attributes.

We didn’t have too many reports of CF-security issues, and if there were, patches were out shortly. I feel secure using CF, and I can guarantee my clients that their site is protected from major harm.

10. Java under the hood

CF code runs on any platform, it doesn’t use ActiveX technology so it isn’t restricted to just Windows. That has opened eyes to Mac developers as well. They are the typical graphical users of webdevelopment, but can now benefit from being more than just the “Photoshop and QuarkXpress” platform it once was. You can buy a Mac and start building and running CF apps. Talking about expanding your market, this is one market that felt really deprived of any serious software development other than Adobe, Quark and Filemaker not too long back.

Also Java, the CF underlying engine, has matured well and Sun and ColdFusion certainly have uplifted each other well. This will keep running since they become more and more tangled.

This article was published by Pablo Vos, owner of Out of Site Webontwikkeling in Antwerpen

Volgende bericht
Plaats een reactie

Geef een reactie

Fill in your details below or click an icon to log in:

WordPress.com logo

Je reageert onder je WordPress.com account. Log Out / Bijwerken )

Twitter-afbeelding

Je reageert onder je Twitter account. Log Out / Bijwerken )

Facebook foto

Je reageert onder je Facebook account. Log Out / Bijwerken )

Verbinden met %s

Follow

Get every new post delivered to your Inbox.