The State of ColdFusion

ColdFusion is dead, long live ColdFusion!

Before I knew it a simple twitter post about free ColdFusion workshops in Brussels turned into a heated debate on whether or not ColdFusion is a dead technology. Thought it was worth doing a blog post with my perspective on the discussion.

I’m not what you would call a typical ColdFusion developer, in fact other than installing the beta releases and experimenting with the most interesting features I have very little hands on experience with the product. Things changed about a year or so ago for me, I did some sessions at conferences like “Scotch on the Rocks” in Edinburgh where they primarily target ColdFusion developers and got to know several people in the community.

To say that ColdFusion has a passionate community is an understatement to say the least. It’s kind of like Apple fan boys. Its amazing how passionate they are. They love the latest I phone 4, MacBook and other iProducts no matter what, exactly what ColdFusion fans are like. To the untrained eye they come across as guardians of the holy grail ready to smite anyone who dares criticize their beloved technology and to an extent that is even the case. If you look at the history of the product coming from Allaire through Macromedia to Adobe it is understandable that there is a certain level of anxiety about the survival of the product and what direction it is going to take.

I for one have not given up on ColdFusion, while there are obstacles along the way with the right approach it is here to stay and can see a grow in marketshare.


 
Product positioning

For the last few releases ColdFusion seems to be focusing more and more on enterprise level features. That’s great and Adobe needs to build on its enterprise offerings along with the LiveCycle product range but it seems to be a somewhat artificial push in that direction and in the process neglecting a huge user base outside of the enterprise.

Arguably ColdFusion is the easiest way to hook up your Flash, Flex and AIR applications to backend services — what about making it easier for your run of the mill Flash/Flex developer to get started with ColdFusion?

 
Pricing and open source

From what I’ve seen over the years, succesful developer technologies at Macromedia and Adobe have always relied on three pillars:

– free SDK
– commercial developer tools
– enterprise offerings

I think the same needs to happen for ColdFusion, there needs to be a free of charge and preferably open source CFML engine. That does not exclude any further commercial and even proprietary offerings on top of that but the barrier to entry must be way lower than it is right now.

 
Educating developers

I have to admit that, eventhough I like to think I’m well versed in all things Adobe, ColdFusion does have some gems I am yet to discover. Talking to my friend Cyril Hanquez, who incidentally works in government and enterprise and has been doing ColdFusion for almost a decade I’ve found out about some amazing features that I can’t wait to try out as soon as I have the time.

Likewise, I regret to say that at least some portion of the ColdFusion community seems to be quite conservative and closeminded to what is happening around them. Technologies evolve and perspectives change, I would strongly advise any ColdFusion developers to look at what is happening with the Flash Platform as well as the AJAX world with jQuery and the likes.

Thirdly what I would call the “web 2.0 extremists” ready to dismiss anything that doesn’t fit the general style guide of the latest iteration of the web (copyrighted by O’Reilly Media, Inc.). This honestly might be the most difficult group to evangelize to since its judgement is usually not based on any objective criteria but rather a general trend and developer interest. The only thing I can suggest there is to rename the product to coldfus.io and stick a “beta” label on it.

 
Conclusion

There are encouraging signs that many of these points are being addressed, but there’s still a long way to go — more so with marketing the product and winning developer mind share than growing the technology.

In the current economical crisis I have a feeling Adobe is going to be weary of any further open source initiatives but I would urge them to continue on that path. ColdFusion needs to get more closely aligned to the Flash Platform products and the enterprise will follow.

Think about what happened with Flex when it was originally launched as a serverside MXML compiler with pricing clearly aimed at the enterprise. I think it is fair to say that wasn’t a huge success. Then in April 2007, the big turnaround with Flex going open source and becoming an almost instant hit with a lot of Java developers and increasingly large corporations which leads on to LiveCycle Data Service ES sales etc. We need a similar revolutionary approach for ColdFusion.

Open Source CFML engines are on the horizon, Adobe is working on a dedicated IDE for ColdFusion and serverside ActionScript support is to be added in the next release of the product codenamed “Centaur“. These are not signs that Adobe is throwing in the towel, on the contrary — if anything this is the time to start looking at ColdFusion and help shape its direction.

Just consider this as an “outsiders perspective” on the current state of ColdFusion, I’d love to hear your thoughts on this.

 

Advertisements

17 thoughts on “The State of ColdFusion

  1. “[ColdFusion seems to be ] neglecting a huge user base outside of the enterprise. ”

    What features would you like to see added to not neglect that user base? Honestly, with every new beta I ask myself what is missing and am usually at a loss. With every new release, I ask if it is worth upgrading.

  2. Angel Romero says:

    Agreed, what is stopping users to use an open-sourced PHP to a commercial licensed ColdFusion. I’ve used Coldfusion in the past and I loved it however, I have slowly crept to PHP for my data handling needs. I can’t wait to see what is to come of ColdFusion.

  3. Peter, don’t forget The Smith Project and OpenBD. Both are open source ColdFusion engines.

  4. Peter says:

    @jeff – maybe I should’ve phrased that differently, I see neglecting a huge user base more with regards to how ColdFusion is positioned and marketed to the community.

    For example the only times I see it prominently mentioned is at LiveCyle events, try just about any Flash/Flex conference and you’ll be hard-pressed finding presenters showing ColdFusion code in their examples — that is even the case with Adobe employees.

  5. Lagaffe says:

    When I started my internship for college about 1,5 years ago I had never heard of ColdFusion. But my internship company had there intranet running on ColdFusion and since I had to further develop there intranet I started learning/using ColdFusion. I fell in love with it straight away!

    After my internship I started looking for a real job and thanks to my ColdFusion skill I found one really fast. Since August I’m forking as a consultant developing ColdFusion applications.

    The department where I’m working recently decided no longer to start new projects (and to rewrite in Java if possible) in ColdFusion (don’t worry for my job, there is still a lot of ColdFusion maintenance :p) and this decision wasn’t made because they don’t like ColdFusion. No, the reason is that they can’t find (good) ColdFusion developers.

    I can see why you’re asking yourself the question why I explain all this… well I think this points out 2 big problem ColdFusion has. One, I didn’t got any ColdFusion at college, even worse they never even told me it existed. And if I’m not wrong none of the colleges in Flanders is teaching ColdFusion! And 2nd, (good) ColdFusion developers are had to find. Both are a really problem since the biggest ColdFusion ussing company/institution on Europe is based in Brussels

    In my opinion a lot more people need to come in contact with ColdFusion, as a student or during there free time. The educational license is a solution for that, but an other solution would be the BlazeDS/LiveCycle approach, releasing a free version (like BlazeDS) and a full paying version (LiveCycle).

    Like Cyril Hanquez blogged some time ago (http://cyrilhanquez.com/blog/2008/10/15/coldfusion-where-are-you/) Adobe should promote ColdFusion a bit better. Let’s just hope it’s all not to late…

  6. @Lagaffe

    College should focus on giving programmers a foundation in programming concepts; not teaching specific languages.

    Languages and technology come and go all the time. There are just too many out there for a college to cover all of them.

    The phrase that comes to mind is “give a man a fish, feed him for a day; teach a man to fish feed him for life.” Too many bad programmers are created by curriculum that focus on a language, but fail to give the student skills that can be transferred to another language.

  7. Also Railo is free and will have an open source version next year: http://railo.ch/en/index.cfm

    Also Coldfusion is free for education as well: https://freeriatools.adobe.com/coldfusion/

    I program in both PHP and CF. Before Learning CF almost four years ago I thought CF was a dead language as well. That is what the general belief is if you are not a CF developer. For the life of me I cannot remember why I thought CF wasn’t a viable programming language.

    When I started my job I asked my boss why did he choose CF instead of PHP and he stated that was because it was the programming language of the very first website he took over was in CF. I started using it right after CF7 came out. We had a CF 5 server and a CF 7 server, so I had to learn the ins / outs of both. Since that time 4 years ago I have learned quite a bit about it. Just when I thought I had it mastered CF8 came out with a mess of functionality that I still have not touched on. Just today I downloaded CF9 Alpha which has a ton more functionality in it. People say CF is dying because they want traffic to their blog or they are just uneducated like I was four years ago. I heard CF was dead so I believed it, I had no reason to believe otherwise until I took s job where I needed to use it every day. CFML will continue to grow especially now that there is an advisory board and open source servers out there as well free use for education. I am sure we’ll continue to see CF is dead posts for the next few years as CF continues to grow, it’ll eventually get to the point where the tide will turn and CF won’t be dying anymore. I imagine the fact that you actually had to pay for a CFML server when you could get PHP or PERL or RUBY etc for free is the reason why most think it dead or that it will die, now that’s simply not the case. I imagine this is true because I have seen plenty of comments made over the last few days where developers etc had no idea there were open source versions, and I might have even seen a CF developer that didn’t know that Coldfusion was free for education now. It’s simply a case of people not knowing the facts and having no reason to learn the facts unless you actually get in a situation where you need to use it.

  8. Dale Rankine says:

    I learned Allaire Cold Fusion 3.1 back in the late 90’s and have been using it to varying degrees ever since. I use it still today with our Flash Lite company, driving back end services from mobile Flash applications, and using the same back end to drive complimentary apps on the web or desktop. The young guys who have come through our team are mostly PHP developers, but I’m always pleased to see them pick up CF very easily. Over the past 10 years or so there have always been these debates on CF’s place and potential for extinction. It’s still here, still gathering developers, and still improving as a product.

  9. Have a read of my recent blog post which also addresses this:

    Common ColdFusion Arguments 2009

    It talks about progress in the CFML world since my previous, somewhat challenging, post on this subject a year ago.

  10. barry.b says:

    @Peter

    I wish @aral had spent the time reading well balanced posts like yours before jumping in half-cocked and illinformed and spreading unnecessary FUD everywhere. his obvious ignorance just made him look like a fool.

    good on yer for taking the time to write this.

  11. Lagaffe says:

    @Jeffry Houser Of course college should be about programming concepts, so I don’t expect that they’ll deliver specialists that can only work with one (or several) language. But that doesn’t mean that they can’t at least explain the different technologies out there.

  12. @Lagaffe

    We agree that college won’t produce experts / specialists. Only real world experience will generate those.

    There are just to many different technologies for a college to cover all of them in a single curriculum. The focus should not be on technology but on concepts.

    I would expect a curriculum to cover OO programming concepts, but I wouldn’t expect it to cover Smalltalk, C++, Java, and all the other languages ( http://en.wikipedia.org/wiki/Object-oriented_programming_language ).

    I would expect a curriculum to cover Procedural programming concepts, but I wouldn’t expect it to cover Pascal, C, Basic, and all of the other languages ( http://en.wikipedia.org/wiki/Category:Procedural_programming_languages ).

    I would expect a curriculum to cover database design; but I wouldn’t expect them to cover MS Access, SQL Server, Oracle, MySQL, PostGres, DBase, SQLLite, and every other db platform in existence.

    [etc.. etc.. etc..]

    The fact is that there are too many technologies out there to cover them all. At some point someone must have made a decision of one over the other. To fault them for not including “X” is short sighted.

  13. Peter says:

    @jeff, @lagaffe — I agree with that in general terms, not to go too much off-topic but the situation in Belgium is slightly different.

    We have a few colleges that specifically teach multimedia design and development rather than just a general computer science curriculum (and doing an excellent job at that by the way). As a result there is a real focus on Flash Platform products on top of generic OO and programming skills.

    I think its important Adobe makes ColdFusion attractive as a product to teach to these students who will be the next batch out in the workplace with relevant skills to take on the next generation of RIA development.

    http://www.peterelst.com/blog/2008/03/02/devine-digital-design-and-media/

  14. @Peter

    I believe the technologies of choice used to teach the concepts should be those that are most relevant to the local companies. I have no idea if that is taken into consideration universally, though. I have read stories of colleges having “X Degree” because they are located near “X Industry”; although I don’t have a specific example.

    That said, however, in many situations it’d be hard to fault a college for choices; perhaps using .NET over Java.

  15. Ain Tohvri says:

    Competition always leads to a better platform. With strong PHP community, devs from Ruby on Rails etc., Coldfusion faces some real challenges.

    In 2009 we’ll surely see many conversions to Open Source.

  16. […] of ColdFusion. Aral says that learning ColdFusion is a waste of time, and Peter believes that it is time for Adobe to help shape ColdFusion’s direction. Many other said many more things on these two posts […]

  17. Jan Seynnaeve says:

    @Peter

    I’m someone who studied Devine (where you will be teaching from now on)

    I had absolutely no programming experience as I didn’t even study Informatics in secundary school.

    What I experienced at Devine was learning a language: (AS3, HTML) but not learning the principles behind it: What I mean is learning which thing is what. But tbh I have no idea OOP is all about. If u are a copycat person and just learn everything mindlessly or when u have a nice basic of programming u will succeed, but as someone who has no basic and isn’t someone who learns without knowing what it is or does u are doomed to fail imo.

    U see I quit devine obviously

Comments are closed.

%d bloggers like this: