New: iPhone/iPad development course in Belgium in August.

8 Jan 2009

Coldfusion: RIP

It seems I managed to stir up the ColdFusion world yesterday on Twitter by responding to a tweet by Peter Elst that read:

free coldfusion technical workshops, shame they're splitting it into separate Dutch and French sessions in Brussels -- http://is.gd/eLpJ

If you follow the link, you'll see that it leads to a blog post by Andrew Shorten from Adobe UK announcing that Adobe is offering free technical workshops around Europe to teach developers ColdFusion 8. That can't be bad, right? I mean free is good, isn't it?

My response, which kicked off a small wave of conversation was:

@peterelst Surely _they_ should be paying people to take Coldfusion classes; why waste time learning a dead-end proprietary technology?

The immediate response of an Adobe CF evangelist was to ask me to refrain from being a "player hater" (Adobe's so street these days, yo) and inform me that "ColdFusion and it's community pioneered the RIA movement", adding that ColdFusion "is paying for Flex/Catalyst" so I shouldn't "piss in my own pool" by dissing ColdFusion.

Man, that's some old-school Spanish Inquisition-style evangelism right there! :)

Before I move on, a little observation and fact checking on that tweet is in order:

ColdFusion did not pioneer the RIA movement, Flash did. Any rich-client technology in ColdFusion comes from Flash/Flex, not the other way around. We were building RIAs with Flash in Flash 5, before Macromedia acquired Allaire, even though the term had not been coined yet.

That's not to say that ColdFusion wasn't revolutionary when it debuted in 1995, thirteen years ago. It greatly simplified the creation of dynamic web sites and was subsequently copied by PHP and ASP. When I was creating my first web application, a pet project to build an online video catalog for my university's library, I wrote the back-end in C as a CGI. Coldfusion would have greatly simplified my task.

Finally, it's irrelevant whether or not ColdFusion sales are paying for Flex and Flash Catalyst development. Adobe needs to remain competitive with the Flash Platform and it's internal accounting is its own business. Coldfusion sales could drop to zero today and Adobe would invest as much if not more in Flash. The two are not linked in any way.

To get back to the topic at hand: why do I think that young web developers should not waste their time learning ColdFusion? Is it dead, dying, or alive and well and living in the enterprise?

Is it dead?

It's no surprise that people have been pronouncing ColdFusion dead for some time now. ComputerWorld famously included it in its list of The top 10 dead (or dying) computer skills.

Dave Lowe makes this point in his blog post from last year:

We know what our ideal server environment is (XServes + Apache + Python + Django) and we know there's a huge difference between what we're able to do now and what we'll be able to do in the future with that setup. But first, a little background.

I've been working with ColdFusion for 7+ years. It was the first server-side language I learned, and I've built many different web applications with it. I started out as very much a rookie programmer and gradually moved to best practices and started leveraging components for as much as possible. From there I quickly learned that ColdFusion didn't have much more to offer, and if I were to continue using it, I would be doomed to code redundant line after redundant line. On top of that, if I wanted any modern libraries that exist in the open-source world, I'd have to reinvent those wheels myself.

Is it dying?

It's a matter of perspective. I'm a web developer. As far as consumer-facing web applications go, ColdFusion has zero mind share. It is, effectively, dead. How many new web applications (not enterprise apps/intranet apps) do you know that run on ColdFusion?

It's not modern, it's not exciting, and it's not a skill that can be easily transferred.

To state that ColdFusion is dead, however, would be to deny the huge number of legacy ColdFusion apps in enterprises across the globe. No, it's not dead. But it is living out its last days in a comfortable retirement home.

Coldfusion is alive and well and living in the Enterprise

The first time I encountered ColdFusion, about eight years ago, was when I inherited a ColdFusion-based student registration application at a prestigious law school in the US. It was linked to an MS Access database and would, like clockwork, go down every year on registration day. Not the best start to a relationship but definitely not unheard of in the ColdFusion world where the promise of non-programmers creating applications creates for good marketing but crappy applications.

However, it is good marketing that sells to enterprises and I'm not surprised that Adobe is still selling CF to enterprises today. They'll probably continue to do so. More power to 'em.

Enterprise, however, is not the web.

Why you have better things to learn than ColdFusion

If you're just starting out as a web developer and you'd like to spend the best years of your career maintaining legacy applications in an enterprise then, by all means, learn ColdFusion.

The simple truth is that in the age of Web 2.0/3.0, in the era of cloud and utility computing, the application server is a commodity. A commercial, proprietary app server simply cannot survive in this environment anywhere outside the lethargic, soft-padded walls of the enterprise.

That's why I feel that it's a waste of time for a developer to learn ColdFusion today and I don't see how an impartial party (i.e., without short-term financial self-interests) could, in good faith, advise any young developer differently.

If you want to work on cutting edge Web 2.0/3.0 sites, learn modern development paradigms, deploy applications on the cloud and possibly reach and affect millions if not billions of people, then learn Python or Ruby (and less so PHP), and, of course, JavaScript. Learn Flex and ActionScript. Learn Objective-C, AIR, and QT. More importantly, read up on MVC and understand how frameworks like Django, RoR, and CakePHP work. Learn about graphic design, user experience design, web standards, and accessibility. Those are skills that will not only make you a better designer and developer but that you can reapply and reuse, even if the technologies themselves eventually fall out of favor.

But surely you can learn ColdFusion too, especially if the course is free, right? Sure you can. But there's free and then there's free. The opportunity cost of your learning ColdFusion is the time you will be wasting not learning the relevant skills and technologies of our day. And time, given all that there is to learn and experience out there, is your scarcest resource. When you factor in the opportunity cost, free starts to look rather costly.

What's the big deal?

I'm very passionate about education, and it saddens me to see, for example, that kids in the UK are being taught a computer education curriculum that is almost entirely focussed on teaching them secretarial skills with Microsoft products. It's very important that we give the next generation a modern set of computing skills; these skills are the new literacy. I was lucky enough to have had some great mentors at a time when personal computing was still in its infancy and I want to make sure that my children have the same, if not better, opportunities for achieving literacy in the information age. This is a topic that I will, no doubt, continue to explore in future blog posts and it is an area that I want to get more involved in — at least in the UK — with the aim of actually helping improve the status quo.

Add Your Comment

Spam Protection by WP-SpamFree

Why learning ColdFusion today is a waste of time.

  1. Great post, Aral. I would certainly agree there’s not much point in learning ColdFusion. The chances of getting related work these days are fairly slim. However, there’s certainly a case for existing CF folk to maintain their skills, as there are some fairly large sites out there still using the technology, with a dwindling number of qualified folk to maintain them. As you say, it’s definitely not the future, though.

    Catherine Pope
  2. Government, Enterprises and Educational establishments all have a strong leaning towards ColdFusion. Even if ColdFusion isn’t ubiqitous across the web, surely these establishments and the sites they produce constitute a significant proportion of what many call “the web”?

    Yes, ColdFusion is no longer a ‘trendy’ technology, having been surpassed by the likes of Flash/Flex and Ruby-on-Rails, but to a certain extent it has its place. An old technology does not necessarily constitute a dying technology. Over the past few years Adobe has made significant leaps to address the possibly-antiquated nature of the ColdFusion development paradigm. Each new release brings some great new features; I’m not talking about the somewhat naff ajax and layout functionality, but rather the core language enhancements.

    Although I am a self-confessed ColdFusionphile, I do agree to a certain extent with your comment that ColdFusion shouldn’t be the first choice for anyone dipping into the world of The Web; a language with a strong object orientated paradign would be my first choice. Once you have the core understanding of how to build a (web) application and well, it certainly could be appropriate to transfer those skills to the rapid application development environment that ColdFusion offers.

    The old cliche ‘time is money’ is where ColdFusion’s strength lies. Assuming you employ the right people and use the right methodologies and frameworks, of which there are an ever increasing number, an organisation can save bucket loads of money, which can then be used wisely in other areas: marketing, hardware etc.

    Alas as you say, the death of ColdFusion is a perception thing, which certainly isn’t helped by decision makers not willing to invest in education. It is notoriously difficult to get a company to educate its workforce, especially in the UK, added to which the education is particularly poor in some cases. It is also apparent that academic institutions lack the real-world courses desired by companies. No suitable education leads to a derth of talent. No talent forces decision makers’ hands … the spiral is worrying!

    ColdFusion isn’t dying, it’s simply niche. Every niche has its place.

    Simon Whatley
  3. Hey Aral,
    just about your little point on learning Python and Ruby (and less so PHP).

    What’s wrong with PHP? Not saying you’re wrong, but as someone who’s average with PHP, and currently learning .NET (which I amusingly note is not mentioned anywhere in your post), it’d be good to know where you think the industry is going.

    PHP to me seems like a powerhouse on the web, so if you could comment that’d be great :)

    Cheers
    Daryl

    Daryl Teo
  4. So most of this article is personal opinion, and there is nothing wrong with that of course, and I won’t waste your time saying I don’t agree. I do take issue with the “Is it dead” section.

    First, you mention the famous ComputerWorld article, which was very quickly trounced by – well – CF people of course – but there were many people who pointed out the flaws in the article. If you want to quote articles, why not mention the CIO article (http://www.cio.com/article/455845/Developers_Rank_Best_Application_Servers_WebSphere_Apache_Geronimo_Windows_Server_Top_List?source=tchtab)

    Or the Jolt Award from DDJ: http://www.ddj.com//blog/portal/archives/2008/03/jolt_award_winn.html

    Lastly, to Dave Lowe’s comment, that’s just pure bunk. Yes, there is more open source PHP stuff out there, but to say you can’t find OS CF stuff is silly. CFLIb? RIAForge? Adobe’s own dev center? Did he not even look?

    Raymond Camden
  5. I dont really understand your point
    “If you want to work on cutting edge Web 2.0/3.0 sites, learn modern development paradigms, deploy applications on the cloud and possibly reach and affect millions if not billions of people, then learn Python or Ruby (and less so PHP)
    and, of course, JavaScript. Learn Flex and ActionScript. Learn Objective-C, AIR, and QT”

    I am trying to understand what is that Python or Ruby offers in web 2.0 paradigm that ColdFusion doesn’t offer. If you want to just treat a language or technology dead just for the same of doing it, it wont be doing justice. I would like you to give some valid examples/scenarios/demos demonstrating the “cutting edge” nature of these tech.
    Also there is with no doubt I can say there is no better backend technology to work with Flex, ActionScript than ColdFusion in the RIA world. Also regarding the MVC you very well have pretty well matured frameworks like Mach-II in the ColdFusion arena as well.

    I would not buy your point about ColdFusion merely based on these facts. I would treat this as a mere misguidance.

    Rahul
  6. Aral,
    Great wrap-up. Regarding Adobe’s evangelism strategies these days: Strange, indeed. Andrew Shorten blogged about Adobe’s Scene7 product as an alternative to Microsoft’s Deep Zoom: http://www.ashorten.com/2008/12/23/going-beyond-deep-zoom-with-adobe-scene7-on-the-flash-platform/. I left a comment linking to my open source OpenZoom project (http://openzoom.org/) which offers similar capabilities. The comment never showed up and I assume it was not approved. Strange, considering the other comment that is there.
    Regards,
    Daniel

    Daniel Gasienica
  7. Was MySpace not a CF app when it first launched ? Not sure it is now though – anybody know ?

    pete
  8. @pete

    Yeh MySpace is using ASP.NET now I’m pretty sure.

    Daryl Teo
  9. Every year someone claims that ColdFusion is dead, and every year the joke gets a little older :) In all seriousness, I think it’s just a lack of *current* knowledge about CF that brings people to these conclusions…

    This quote you used is a classic example:

    “From there I quickly learned that ColdFusion didn’t have much more to offer, and if I were to continue using it, I would be doomed to code redundant line after redundant line. On top of that, if I wanted any modern libraries that exist in the open-source world, I’d have to reinvent those wheels myself.”

    What?… You can’t just quote someone and present it as fact when it’s so ridiculously untrue! To start with you can do a lot of work with ColdFusion in very little lines of code. Secondly CF is just as good at code reuse as any other server-side web development language. Thirdly, ColdFusion runs on top of the J2EE stack so anything you can do in Java you can do in ColdFusion (it’s pretty much the ultimate middleware) and you can make use of .NET objects as well if you wish. Yet that’s somehow reinventing the wheel? ROFL

    On top of that, ColdFusion has open source alternatives – OpenBD and Railo (already free, and is going open source very soon) – so it’s not an entirely proprietary platform. Adobe has formed a CFML Advisory Committee to ensure the core language is interoperable between engines moving forward. All three flavours can also “run in the cloud”.

    There are also a bunch of mature ColdFusion frameworks that are every bit as good as frameworks found in other languages, like Model-Glue, Mach II, Fusebox, onTap, CF on Wheels, ColdSpring, Reactor, Transfer, and even commercially supported frameworks like ColdBox. IMO, if you’ve never heard of or used any of these frameworks then you probably aren’t qualified to judge the state of ColdFusion, let alone claim it’s a waste of time learning CF! The skills learned using any of these MVC, IoC or ORM frameworks are easily transferable into any comparable framework in any other language. Lately ColdFusion has also been used increasingly with other Java-based frameworks and technologies like Hibernate, Groovy and others. And ColdFusion 9 will have built-in support for Hibernate directly with CFC’s.

    All in all, ColdFusion is just as good if not better than any other competing language, it’s just that people don’t know it. They read FUD like this every year or so and never give it the time of day. It’s frustrating yet somehow sadly amusing at the same time :P

    Justin Carter
  10. It sounds like you haven’t looked at CF since 2001 or so. Those are pretty good arguments against CF 5 or 6 in that timeframe but boy lots has changed. It is like comparing Linux vs Windows, but one of them is 3 major versions old.

    Years ago i heard: ‘why bother with CF, learn pearl’. Then it was ‘CF is dead go ASP’. For a long time it has been ‘CF is dead, go PHP or .net’. Now its CF is dead go Python? Just want to be clear cuz CF is still relevant and still around and its growing. Just because you want it to go away doesn’t make it so. It was on deaths door for a bit, I will agree, but it turned around at version 8. Growth is happening, not shrinking (which is fantastic). For MVC, we have many good strong frameworks. Coldbox is a new and terrific framework to the group.

    Finally, if your main concern is that people learn a language that is popular and can get them jobs (IE relevant) then why suggest python or ruby? Certainly it is interesting to a select few. And maybe it will be the language of choice in two years (or maybe not), but really their is MUCH more development and work being done with php, .net, CF and jsp.

    All that said, evangelism strategies are certainly a worthy discussion point. Especially outside of the states. But does MS having free seminars mean they are at deaths door (for any of the many products for which they do that)?

    Joshua
  11. This is the height in silliness and flaimbating. I really never understand why anyone’s ego gets so big they have to trounce on someone else’s work. What is the your point in trying to “prove” ColdFusion is dead? Was it because Adam pissed you off with his comment? Because these articles are tiring and serve zero purpose other than to boost the writers own sense of superiority and righteousness while needlessly pissing off hundreds of thousands of people who make a living working with the language. As Ray pointed out, you could just as easily found numerous articles to refute this position by major magazines or otherwise, but why would you?

    Thanks for wasting my time this morning with this trifle. I hope it made you feel superior.

    Brian Rinaldi
  12. it’s funny that the people who always proclaim CF dead either have never seriously used it or haven’t done so for years and therefore don’t know what is currently possible with it.
    There are plenty of MVC frameworks available, Hibernate is being built-in to the next version for full ORM integration, you have the power of Spring with ColdSpring, and anything not possible with CF itself can easily be done in Java.
    Anyway, anyone using WordPress for bloging can’t really know what they’re talking about, sorry.

    Chris H
  13. Aral:

    Pointing a finger at ColdFusion for the crash of a high-traffic site running on Access (ACCESS!!) detracts from your argument. You’ve identified the wrong culprit in that little scenario.

    Correct me if I’m wrong, but your article takes a few subjective shots at ColdFusion (not dead, dead, not quite dead yet depending on who you ask) which stir the pot and muddy the waters obscuring what appears to be your intended point that new developers should focus on skills not so much specific technologies. I’m ok with the skills part, but the hit and run on CF wasn’t well researched or backed up and the CF community is rightly irritated.

    If you knew that CF9 had built in hibernate support, that there were a plethora of well-designed frameworks that make CF as productive as the other languages and frameworks you listed, that there are at least two open-source CFML server products (and many more worthwhile features that save developer time), would that have kept you from writing this?

    Also curious that you advocated learning AIR over CF. Really?

    Steve

    Steve Rittler
  14. I won’t say much more than this: totally disagree with Aral on this occasion. I’ve seen posts like this every year for as long as I can remember.
    CF gets the job done and quickly so, and in my world that’s what matters.

    Stefan Richter
  15. There is a lot of things in this drivel that are blatantly wrong or not backed up by any real facts, but most of them have been covered by others here, so I won’t beat a dead horse.

    There is one thing that annoys me that no one touched on yet. You makes this statement ‘The first time I encountered ColdFusion, about eight years ago, was when I inherited a ColdFusion-based student registration application at a prestigious law school in the US. It was linked to an MS Access database and would, like clockwork, go down every year on registration day.’

    The reason, according to you, must be because ColdFusion is inferior, not because Access is a steaming pile of sh$t. I would argue that the choice the developer made for a DB was poor, but not their choice of application servers.

    You cannot judge a platform/language based on the quality of some of the apps written in that language. If so, you would have to say they are all dying because every language has apps written by developers who were just learning or are just not good at their chosen language.

    Scott Stroz
  16. I don’t care if you are right, you are just such a self-righteous dickhead

    Nicholas
  17. Although I don’t use CF, never have, probably never will, and have no real interest in it, I have to agree that a post like this comes across as confrontational and a bit tabloidish and serves mainly to upset people who make their living using CF.

    I know that from the Flash community, every once in a while someone not in the community will write some high profile article claiming Flash is dead, it’s a closed, proprietary technology that sucks, etc. etc. And we all flock to the website and post comments pointing out all the inconsistencies and falsehoods in the article. This kind of has the same feel.

    Keith Peters
  18. Again Aral proves that he does not deserve the responsibility given to him as a “community leader”. Stop wasting people’s time with your personal opinions and post facts Aral.

    TJ Downes
  19. “Anyway, anyone using WordPress for bloging can’t really know what they’re talking about, sorry.”

    Sorry, what?

    Worzel Gummidge
  20. “Coldfusion is dead” is “Elvis is alive” in reverse. They have one thing in common: boring, uninformative and a waste of web space. In the time it took the author to write his articles I would have developed a small app in CF. But then non-CFers don’t get it.

    Marwan Narian
  21. We can all write Blog posts advocating languages we like. That doesn’t make it a fact, its just an opinion.

    Kumar
  22. Howdy Aral, I’m not going to blast you for your opinion of ColdFusion being dead or not but I do want to point out that while your comment, “[ColdFusion is a] proprietary technology” is technically correct it is some what misleading and partially inaccurate. ColdFusion as a platform is certainly proprietary and owned by Adobe. CFML however is not proprietary and best I have seen is growing in popularity. Open BlueDragon is a completely open source CFML engine that has very many complementary platform features to ColdFusion. We are being used in Amazon’s cloud by some folks as well as have had articles posted on The Server Side about being used in other clouds. OpenBD is increasingly relevant in technology and is also the basis of a well accredited Digital Asset Management Application Razuna. It was also the basis for BlueDragon.NET (I have no affiliation with New Atlanta or BlueDragon.Net though) which is what runs MySpace.com allowing them to leverage CFML (STILL) along side ASP.NET in areas. Aside from OpenBD, Jboss announced last year they will be hosting and working with Railo to open source Railo’s CFML engine.

    So your opinion of ColdFusion being dead is of course your fair opinion you calling it proprietary is slightly misleading and inaccurate in my opinion. I hope with the above information you might agree?

    Adam Haskell
  23. I see the Adobe Apologists are out in full force. “CF is NOT dead! Adobe sends me a check every month to say so!”

    Some history may help provide some perspective. CF is a specialized language that, back in its heyday, was successful because it provided “html people” an easy way to make their static pages dynamic. Back when the demand for programmers outstripped supply, ColdFusion provided a way for novice programmers to work their way into well-paying positions. To this day, you hear “ease of use” as one of its main selling points.

    Improved education and a surplus of qualified programmers have raised the bar to the point where a gentle learning curve doesn’t really carry a whole lot of weight. Most organizations that have the money to afford Adobe’s price tag most likely have skilled coders with skills in one or more mainline, general-purpose programming languages, and tend to choose accordingly.

    Moreover, as said large organizations develop ever-more-complex applications, the provincial worldview of the typical CF coder tends to be a detriment. If you spend time in the CF blogosphere, you’ll find these folks spend most of their time complaining about the difficulty of OOP and whining about how Adobe hasn’t implemented “feature X” (e.g. ORM technology).

    These are issues and strategies other languages have taken for granted for YEARS, and as long as the CF demographic (one predicated on “ease of use uber alles”) persists, I believe it will always be regarded as a “third-class citizen” in the programming world.

    Conversely, if I hire a Java developer, he or she is going to have a handle on a host of design patterns, frameworks, OOP techniques, and various FOSS technologies that will help them provide me good value. A typical CF developer, on the other hand, being weaned on the milk of “easy programming” is going to whine (for examples of whining, see above) the minute they have to do something “hard.”

    Rob Carlson
  24. All the defensive remarks seem to suggest something… it only hurts if its true. I have been working with Coldfusion and front-end web design for several years and quite frankly, I agree with you.

    This line pretty much sums it up:
    “If you’re just starting out as a web developer and you’d like to spend the best years of your career maintaining legacy applications in an enterprise then, by all means, learn ColdFusion.”

    Ryan
  25. This post was a waste of time, just like CF.

    anon
  26. @RobC: Why does ‘Easy to use’ automatically mean bad? Must a language be super complex, extremely difficult, require a PHD, etc, to be a “good” language? Isn’t a good language something that: Creates a good result. Is something that can be maintained. Is practical. Runs quickly. Etc.

    If you can do that with CF, does it matter if the person doing it is a “html person”?

    Raymond Camden
  27. @Rob Carlson: so ALL the PHP and RoR developers out there are high level developers then ? Look at Twitter’s growing pains! I think not.

    We have interviewed a number of bad Java Programmers, some even passed the interview and made it to the job before being fired because they didn’t really know what they were doing.

    With every language you are going to get a lot of crap developers, but inversely there will be good developers too.
    Besides this being a flame bating post, I think 2009 will be the year for CFML because you CAN develop well architected applications that interoperate with a WHOLE bundle of other technologies and does things that would be pretty annoying to implement in other languages (cfajaxproxy for example).

    Then again, of course in technology anything that has been around for a while must be bad or dying (nevermind its being updated or not) and any new shiny thing is super! ohhh… shiny!

    Mark Drew
  28. Yawn.

    This post is wrought with very outdated and ill informed opinions. ColdFusion is a very useful, relevant language. ColdFusion can make use (and does) of any OSS Java library.

    I can appreciate your experiences with a ‘registration system from a prestigious university that went down every registration day’. I’d expect any system using MS Access as a persistence layer to do the same.

    Do your research.

    DW

    Dan Wilson
  29. I strongly disagree Aral. The dates on the gravestone should be 1995-2008.

    cfbollocks
  30. “Is it dying? It’s a matter of perspective”

    and my perspective is that you’re a jerk. I really expected better from you than trotting out the same, stale and misinformed FUD.

    I see lots of .NET, Java, a bit of PHP as well as CF in the enterprise. I *don’t* see RoR, Python or Django.

    I’ve seen what’s coming in CF9 and I can’t wait to jump ship from .NET back to CF.

    I *enjoy* writing CF code. I *don’t* enjoy PHP. and while C# is fine, ASP.NET is just stupid in how it works. And Java don’t know how to create UI’s. If I couldn’t use CF as a backend for Flex projects, I’d choose Java. And if I couldn’t get that, I’d rather bail.

    lets reflect back in a couple of years and see if you were right or not. CF has been “dying” (as far as I remember) since 1998.

    (by the way, you’re comments section is screwed, esp when the validation kicks in. It’s such a shame when the “gods” have feet of clay)

    barry.b
  31. @Mark using Twitter as an example is generally a bad idea – there’s very little that can handle the sheer amount of load and traffic that Twitter has to deal with. To be honest, CF couldn’t do Twitter at the scale it’s at – I’m sure of that – even if someone could afford the required license cost. Currently Twitter is increasing in user-base at a rate of 1.2 million people per month.

    Neil Middleton
  32. @Neil Middleton: Fair play, but my point wasn’t about technology was about good developers and architects.

    Mark Drew
  33. @Daryl @pete MySpace was originally built with Adobe ColdFusion. They now run their CFML code on New Atlanta’s Bluedragon.NET product, which compiles CFML into .NET bytecode. So they still write CFML, as well as .NET, depending on the application.

    Adrian J. Moreno
  34. CFML it’s really good for business !!!!!!! – i know well : my entire range of properties is CFML powered with great productivity :-) i add functionalities sometimes after minutes i see them somewhere on the web, i can beat the competition even without great developers thanks to CFML (yes ColdFusion and the other fantastic open source CFML interpreters RAILO and OPENBLUEDRAGON ) I see 2009 a great year for CFML thanks to his productivity over PHP or NET. With this recession all in front of us for 1 – 2 years (WHO KNOW) we need to use the most productive language ever built for the web : CFML !!

    Luca
  35. A new record: just 8 days into the new year we already have a “ColdFusion is dead” entry for 2009!

    You’ve got to respect such an awesome display of ignorance. Arguments like “ColdFusion is easy, therefore it sucks” or “All CF developers are whining noobs who can’t code ‘hard’ things” (how concrete and articulate!) achieve levels of uselessness that I hardly thought possible. It’s one thing when a statement contains a logical fallacy. But to see statements boasting multiple fallacies simultaneously is truly a feat to be proud of.

    Obviously Rob hasn’t met the huge number of Java programmers who can’t design their way out of a paper bag and believe that stuffing procedural code into a class means they’re doing OOP. Also, pay no attention to the fact that, for most typical web applications, a competent CF developer will stomp Rob’s generic Java programmer into the ground in terms of productivity and feature-richness. Nothing to see here, move along.

    Let’s make a deal. If I say “you’re right, ColdFusion is dead”, will you go away with a victorious smile on your face and get to work on your next piece of sensationalist drivel? Don’t limit yourself, there’s so many other things out there for you to mindlessly bash.

    Brian Kotek
  36. Hi Aral,

    I usually am quite amused reading your blogposts, and started reading this one as well with the usual “the irony or punchline is yet to come”. But the further I got the further I realised you were dead-serious (or not Aral – I haven’t seen you join the discussion in your comments as of yet). And this really disappointed me. I “know” you as a very entertaining and knowledgable person, but this was really below the belt. Then I read the comments and was strenghtened in my beliefs that you might just be misinformed (or had a bad hairday).

    Please leave a reply in the comments or post a new blogentry where you either defend and backup or retort your statements.

    Sebastiaan
  37. I’m surprised that Java and .NET are missing from your post. On the topic of learning, I’d say that a new developer should learn both server-side and client-side development. It’s important to understand all the issues in server-side development like caching, databases, etc. And it’s important to understand client-side issues like asynchronous development.

    I’d say learn .NET or Java on the server-side as those are the most relevant to business right now. There are a ton of new technologies like ruby and python, but if you know Java and .NET it’s easy to learn those new languages.

    On the client-side you simply must learn HTML, CSS and JavaScript. I also think you need to learn Flash (ActionScript) and Flex. If you’re 10-years-old and you want to plan for the future then learning Silverlight wouldn’t be a bad idea either.

    Danny Patterson
  38. Hi all, hi Aral,

    A couple of years ago at a restaurant in Amsterdam, Aral asked me: “ColdFusion? Isn’t that dead? – Nope, it isn’t.”, I said. I’d better started the debate right away, but didn’t even bother, because I suspected this kind of hate against CF and CF developers in particular. It’s not that Aral *hates* CF developers, but I guess, to him, as to mostly all non CF developers, CF isn’t something to be taken very seriously. How wrong he is.

    As pointed out by above excellent comments, CF is well alive and kicking. Only, there are a couple of issues I would like to point out:

    There are some excellent sites or parts of sites out there written in CF. However, as you pointed out yourself, CF is mostly used in intranets.
    Most intranets at European Institutions for instance, and Fedex’s EMEA intranets are mostly written in CF, only to mention the ones I know of.
    Even non IT people at EU institutions, understand what CF is and what great benefit it proves. Thanks to it simplicity and very low learning curve yet great power and robustness, anyone knowing a bit of html is able to build powerful CRUD apps in the matter of an afternoon of time.

    (That’s why some people would argue CF isn’t a programing language at all. It may not be. Then so isn’t HTML and CSS, and XSL, and Flex, and then you may say programming using Spring or Hibernate in Java isn’t programming neither. Then, at the end of the day, what is programming?)

    On the other hand, because of it simplicity and low learning curve, there are some very -and I mean *very*- poorly written CF apps out there that completely break whenever you dare to change the smallest line of code. I’ve seen them with my own eyes, still have nightmares about it and quit working for the EU for that single reason. Twice.
    There are voices (Inside the EU institutions) to ‘convert’ (read: rebuild) those legacy CF apps from scratch using any other technology like Java or .Net. Not PHP, RoR, and not Python nor Django.
    Management doesn’t realize it’ll cost at least twice the time employing twice the number of people costing twice the day rate compared to the same development done in CF.
    To my opinion, the “death” of ColdFusion would only mean higher cost to public institutions. But that doesn’t matter, or does it? It’s ‘only’ our (EU citizen) tax money after all, and public institutions will spend it badly anyway.

    So, what *is* the big deal? It makes me sad to, I’m sure it makes everyone sad, to see kids are being thought there’s only M$ Word and Excel out there. And the Acces pile of *bleep*. Kids *are* only told about M$ at school and solid understanding of OOP and frameworks *should be* part of standard education, but it just isn’t.
    May be should CF have its place in the history class. To teach kids how easy web development *should* be. It is possible to build very robust and extremely powerful applications in ColdFusion. Only, good CF developers who used to be, moved on to other technologies only because 1) the pay grade is better and 2) management has no will to support new developments in CF for years. Because of that, it’s become extremely hard to find good CF programmers willing to put their hands in those legacy applications. That’s why CF *seems* to be dead.

    It’s a shame, because CF has a lot of potential and *is* extremely exciting when put into the right hands. I’m excited about CF and its further developments. (yes it’s still being further developed, CF9 is coming and CF10 will be there to some day sooner than later.) But because of the price, CF is quite niche. That is, -a shame.

    You have to ask yourself a question: Should ColdFusion have been Open Source and free (the app server I mean), then probably even WordPress would have been written in CF.

    This is only my opinion.

    Gov
  39. @Rob: You’re so right. We all love to whine about OOP being too hard because we’re all uneducated and *clearly* have no formal qualifications in computer or software engineering, hence our utter lack of knowledge about general purpose programming concepts. Design patterns? Frameworks? All out of our league! All Java developers are infinitely more skilled than CF developers, including those of us who used to be Java developers! That’s just how it is and I’m glad someone finally said it and put me in my place! Thanks for opening my eyes, Rob Carlson, because you rock ;)

    Anyone else want to make wild statements about CF developers? These comments are just getting better and better :P

    Oh, oh, I’ve got one… “Tags are for newbies!”. Yeah, I said it. Take that!

    Justin Carter
  40. Look, the only people who care about topics like this idiotic posting are DEVELOPERS!

    Clients know NOTHING of what’s the best language or what language is the best for their needs…they just want their site to WORK.

    CF in my opinion is the best language in terms of deployment and learning curve.

    I bet there are things about CF that you have NO IDEA about, yet, you think you have leg to stand on to judge the language.

    Besides, it’s not the language that matters, the design of the site, usability and functionality is what truly matters.

    Go talk to your users/clients right now and try to have a discussion with them about ROR, CF, PHP, etc…and watch their eyes glaze over with utter confusion.

    In short.. NO ONE CARES WHICH IS THE BEST LANGUAGE! Just create apps/sites that WORK and users/clients will be happy.

    crazysheep
  41. <tags> are great ;)

    Gov
  42. tags are great! :)

    crazysheep
  43. <cftags> are even better!

    Gov
  44. @Rob Carlson, Thanks for proving all the CF users here right.

    Kumar
  45. “As far as consumer-facing web applications go, ColdFusion has zero mind share.”

    This is largely due to continued posts like this. If I could spend as much time teaching people how to use ColdFusion as I do defending it against posts like this there’d be a lot more web developers out there giving it a fair shot and maybe discovering that they prefer it over the language du jour.

    “It is, effectively, dead. How many new web applications (not enterprise apps/intranet apps) do you know that run on ColdFusion?”

    Well to start, about 20-30 of the projects that I’ve worked on in the last 10 years, plus all the stuff I’m currently working on.

    “It’s not modern, it’s not exciting, and it’s not a skill that can be easily transferred.”

    I think by modern you actually mean trendy. It does 99% of the other languages you mentioned do and then adds a pile of stuff on top that many of them don’t natively do.

    I find it very exciting. Every release adds something new that makes it more powerful and helps me do the work of 2 or 3 in less time. When I see the amount of code it takes to do thing in other languages that I can do with one simple tag, I get excited.

    The skills you learn doing CF are very transferable. It’s a comfortable environment for people learning how to program to get started with. You can quickly get things done and see the results of your work and over time you learn more and more about programming, constantly refining and improving what you do, learning about oop and mvc, incorporating frameworks, apis and other things into your projects. I’ve transferred the skills I’ve learned from ColdFusion into doing Flash, Flex and AIR development so I find it very hard to accept the idea that skills learned aren’t transferable.

    Perhaps the most important thing for me about CF comes to light when I tell people about the work I do. They never believe that I can do so much, build and maintain such large projects, in the time that I do, all as a team of one. I know similar projects with teams of 2 or 3 people using other languages that take longer to finish their work than me on my own. If you ask my company if spending $1300 on a ColdFusion server license was a lot of money to spend, they’ll say no, because it saves them over $100000 a year in additional staff.

    Do I think that people shouldn’t learn php, .net, RoR, python, etc? Of course not, they are all viable, all have their place and are all great technologies. But should ColdFusion so arbitrarily be shunned from this group? Absolutely not! The concepts you learn in any of these languages apply across the board. And if you ask me, CF happens to be the most approachable of them all to get started with.

    Rick Mason
  46. I don’t think CF is the best language in the world, but I do use it and like it a lot. It’s power seems vastly superior to that of PHP. But that is just my opinion. To say it’s dead I think is pretty lame. Many government sites are run on CF and so are a great many other companies both large and small.

    The community for CF is small but that is fine. I would rather be a part of a small group of highly knowledgeable people than a very large group of morons any day.

    Mark Aplet
  47. @crazysheep “Go talk to your users/clients right now and try to have a discussion with them about ROR, CF, PHP, etc…and watch their eyes glaze over with utter confusion.”

    The worst though are the clients who insist you develop in RoR or whatever because it’s the cool new technology they heard about. Doesn’t matter if it isn’t the right fit for them, they insist you do it because it’s new. New doesn’t always make things better. Having a proven track record and a solid base to grow on is often the more desirable route.

    One of the things that irks me about things like php and mysql is how easily the developers of them will dismiss previous versions and make upgrading from one the next nearly impossible in some cases by deprecating old features. With CF I know I can upgrade my server and all my code will still work (I admit this wasn’t always the case, the move to CF6 was challenging at times but 6 to 7 to 8 has been simple – run the installer and start using new features).

    Rick Mason
  48. Aral,

    I think you’re confused. Learning html, css, JavaScript Flex, ActionScript, Objective-C, AIR, QT and MVC isn’t a replacement of Coldfusion, it’s a supplement. Whether you have a pure html site/app, ajax app or flex app, Coldfusion is THE best middleware/backend to build it on.

    Jonathan van Zuijlekom
  49. I could ramble for a while about parts of the post that have been well covered, but I haven’t seen much of a RIA angle yet…

    > ColdFusion did not pioneer the RIA movement, Flash did.

    I’d really vote more for Shockwave there, when Director added getNetText (man, that takes me back to…college.)

    While Flash 5 added features to make RIA feasible, I’d say the real “pioneering innovation” in RIA wasn’t just Flash: it was the entire MX product line, especially the combination of ColdFusion *and* Flash. I’d done early RIA work via loadVars() and the like, and it really kinda blew chunks in terms of productivity.

    ColdFusion MX and Flash MX, used together, changed that: Flash remoting was a giant leap forward. Full data structures could suddenly be passed between client and server natively – a problem some people are still pissing around at solving (see: SWX). ColdFusion was natively backing RIAs with no need for data plumbing, what, 5-6 years before BlazeDS?

    Fast forwarding to today, ColdFusion is still the simplest way to hook up a backend to Flex or Flash: no mucking about with third party libs, just install CF, invoke a CFC method, and get on with your RIA life. (I do, however, prefer Groovy + Spring + BlazeDS, but that’s just because I need to work with more and more raw Java).

    Joe Rinehart
  50. I certainly don’t think Aral is trolling here, but it sure looks like the CF community would be a trolls dream target…

    Simon
  51. Aral, I have Cold Fusion but I really don’t understand it.

    I can do Flash and I can make websites with nice HTML and CSS so is CF not important? – I have not really gone into CF.

    I have not been doing real web design very long really (since 2000 I have self taught myself a small selection of the web design tools out there), and to think that the new age of web is just at the start why are we saying RIP Cold Fusion? I thought that maybe as things get more powerful on the web that we would need more powerful software to handle it. I’m half way through a PHP college course.

    I’m a bit put off by CF now because it is powerful. However saying RIP CF should not stop you learning a new skill should it?

    Sarah
  52. Cold Fusion is going down for the same reason that there are more servers on the internet running Apache than IIS: Apache is free and better. Same story for PHP, Ruby, Python… you don’t have to have licenses to install them and they are MUCH better than Cold Fusion.

    Thanks for having the gonads to write it out plain Aral. More people need to hear this instead of wasting their time with CF.

    Greg Ferrell
  53. @Greg: U probably haven’t read the above comments or followed the CF-buzz of late ;-)

    There are 3 – three – FREE CFML-servers out there: OpenBlueDragon, Railo and Smith Project. Furthermore Adobe is pondering giving Adobe CF free to use to Universities and educational institutions as of the upcoming version 9!

    Sebastiaan
  54. Can we please just cut the crap and get back to building things using whatever technology feels right for the job. What really matters is the quality of the developers not the technology. You can be kick ass with CF, Ruby, Python, PHP, .NET, or even hack your own stack. I know developers who rock using each of the above and I can think of those who suck too using whatever tool you give them. The point being, the technology is secondary.

    I also wanted to say I’m starting to get sick of “evangelists”, “activists”, and common garden fan boys. It’s like a load of religious nut jobs who only incite more conflict (as seen above).

    Luke
  55. In the age of Java Application Servers, Servlets, and more specifically Tomcat, how will ColdFusion survive? I thought about learning CF, but then I thought twice.

    TK
  56. @Gregg – can you please quantify how PHP, Ruby, Python are ‘MUCH better’ than ColdFusion? I am curious as to what metric you are using to base this opinion on.

    Scott Stroz
  57. coldfusion isn’t a dead language, but it sure is a half ass one! let’s look over the points that make it so:

    cfomponents are a joke. cf is slow in creating them and the meta programming support is non-existent. sure their are projects out there that are attempting to implement (and badly i might ad) closjures into components, but this ultimately should have been there from the get go.

    cfscript needs to go away permanently. i can’t stand the fact that within cf you have basically two scripting languages: tag-based and cfscript. problem is that cfscript seemed like an after thought and has remained so. not having a cfscript equivalent to every tag is a bitch and results in people having to create their own half ass solution. is it that much of a problem to port the supported tag based commands to cfscript. either do it right or get rid of it altogether. i’m only going to laugh harder with cf9’s upcoming component support in cfscript.

    it sucks that cf8 finally gave you a non verbose way of creating structures and array only to fail miserably in the implementation. first off you can’t use it as an argument to a function nor can you nest. basically the only thing you can do is replace structnew() and arraynew() with {} and []. wonderful. again in a rush to get a product out the door, the language suffers. yeah i know railo has gotten this right, but when you think of cf you think of adobe and adobe screwed the pooch.

    bugs, bugs, bugs. over the years there have been many bugs found by many people that have been either ignored and never fixed or been closed with the famous: working as designed comment. do a nice little google search and you’ll see what i mean. why can’t we see what bugs were filed and being worked on? adobe loves to claim that it’s in touch with the community, but in reality treats the community like a bunch of mushrooms.

    so to all the evangelists coming here and saying that cf isn’t dead and that’s it’s used in many government, educational and blah blah establishments, i say so f*cking what. you ought to be spending less time combing the internet and shooting down all the cf critics and more time listening to them. cf IS dying and if you, yes you adobe, don’t get you asses in gear, cf will be DEAD.

    in closing i hope the open source release of railo crushes adobe’s sales.

    dfguy
  58. How lame you will defend Mikrosuk! A SQL 2005 solution will cost you between $4000 to $19000 depending on what kind of licensing trap you get caught on. I would do things with Java and MySql instead. It’s easier to judge things without educating yourself first. Sure, the version of ColdFusion you used 8 years ago lacked a ton of stuff. Again, Python or Django weren’t around then either. You should compare apples to apples. Lastly, since you are asking “who’s using coldfusion?”, take a look at this:
    http://www.adobe.com/products/coldfusion/customers/

    Pepsi, Mayo Clinic, Caterpillar, BMW, Boeing, sheeeeezz .. get a life.

    Burak T.
  59. Aral, what’s your opinion of .NET? I’d love to hear you tear that piece of technology a new one ;)

    Gilles Vandenoostende
  60. This is all quite schoolyard but CF does solve real problems very well. When you need to build a relatively straightforward web app quickly without access to rocket scientist programmers, it’s superb. This covers a lot of apps. A lot of this business does go to PHP because it’s free and ubiquitous but CF is better. As for Django/RoR, these are great frameworks based on great languages but the advocates are typically not good enough programmers to do it in Java (where most of the serious web apps are built) yet think they are hardcore because they use TextMate (because it’s prettier than vi/Emacs).

    Art
  61. just another designer-wannabe-coder spewing ignorance….

    for all you young developers out there.. go check out all the job openings for php, .net, ror openings, yes their are a ton and there is also a ton of half assed developers to compete with, which means most are very low pay because there will always be someone who will take little money for a job. Then go check out cfm jobs and yes there are fewer but the pay is WAYYYYYYYYYYYYYYY higher.

    There is a hell of a lot more cfm out there than you think but douche bags like this author are to damn stupid to realize it… that would be why he is a designer ;)

    dave
  62. Use CF Daily and love it.

    I don’t need the latest and the greatest of everything.

    I need a stable and reliable server environment that is easy to administer and CF8 delivers.

    I need a to develop simple front ends for reporting quickly and CF8 delivers.

    No, I might not use CF to develop Facebook, but I think I could.

    I have code was written for CF4 and it is still running without a problem.

    I could move applications from linux to windows to mac and back again without a problem.

    So I am a happy customer hated CF6 but was relieved when Adobe released CF8.

    It’s like saying Microsoft isn’t relevant.

    cfAdmin
  63. @tk says
    “In the age of Java Application Servers, Servlets, and more specifically Tomcat, how will ColdFusion survive? I thought about learning CF, but then I thought twice.”

    Dude, cfm runs on a java server & compiles to java byte code just as jsp does & you can run java & jsp tags within your cfm pages & tags quite nicely & natively. This also gives Coldfusion direct access to the system java for any heavy lifting that is needed without making a cumbersome java app.

    A lot of java shops are prototyping their apps in cfm for it’s rapid development and then deciding to just use it as the app and not just the prototype because IT ALREADY WORKS RIGHT so why go back and do it the long way when what you got works just as good already?

    As for Tomcat, cfm runs great on tomcat and cfm can be deployed in war or ear files that easily used in tomcat or really any java server or application. Try it.. go here http://www.railo-technologies.com/en/index.cfm?treeID=224 and grab the railo-3.0.1.000.war file and deploy it on your tomcat server & there you go a free & easily deployable cfm server up and running in tomcat in under 2 minutes.

    Really it just amazes me how misinformed people really are, actually it is pretty sad.

    dave
  64. Long Live Director !! – oh wait – isn’t it dead?

    Long Live Dreamweaver !! – uh, ahem… not saying any more…

    Long Live ColdFusion !! – oh man, I really shouldn’t jump in like this

    Long Live the Internet !! – now wer’re talking!

    dan
  65. Yes the language will die if there are not enough good CF developers, so it make sense that Adobe is providing free training to bring new developers to the technology to make the CF community bigger. Why Adobe would do the effort if the technology was bad ? Why investing into something that is about to die when the global economy is so bad? Surely the guys doing those decisions are dumb…*sarcasm*

    It’s so true that there are some really bad written CF apps out there and surprisingly they are working. Imagine when they are well written…

    Do you think learning Flash a waste of time ? wouldn’t be better to learn AJAX to build RIA? Why Flash is lame ? It’s been years that we are waiting for full flash website to be properly indexed by search engines… Some Flash applications are a nightmare to maintain and debug. You need to pay to have a Flash authoring tool, not free :(. Some people find it useless and don’t think it is useful to put it on millions of devices they are selling (you know the ones branded with a fruit). Flex? yuk there are tags in mxml *total sarcasm*

    Well, even with those negative points, I love Flash, Flex… Because I develop with them and I know where they shine. Same with Coldfusion, I hate some of its syntax and even more when the code is poorly written, but I know its power and the time it saves me to write some web applications. I guess it’s the same with any developer who has spent some significant time to know the technology, … something you should try.

    Patrick Tai
  66. CF is easy to learn, ’cause the library of functions and tag that it provides is quite small.

    The hardest part is actually how to design an app in an OO way, which is actually quite language independent. Secondly, learn jQuery, you’ll need it.

    So, whether CF is dead or not, I don’t care that much. If the language is that bad, I can move to CFGroovy or Java. Then I can buy some time untill Java is dead.

    Henry Ho
  67. Flash is best for stupid banner ads.

    Flex powered by COLDFUSION is where its at. (Yes its a flash movie).

    Now thats development.

    Mark
  68. once thing that clearly isn’t dead is folks willing to argue a mute point in a flame war !

    pete
  69. [...] ago Aral Balkan has dropped a bomb onto ColdFusion community. He published an entry titled “Why learning ColdFusion today is a waste of time.” I, generally, agree with him but I’m not gonna discuss his post here. Just go there [...]

    Aral Balkan drop the bomb « cfbollocks
  70. [...] > Aral Balkan – Why learning ColdFusion today is a waste of time. [...]

    localToGlobal » Blog Archive » news review -> 2nd week of 2009
  71. Is it dead?
    Totally! A magazine and some other dude said so!

    Is it dying?
    My web server crashed EIGHT YEARS AGO and I never quite got over it.

    Why you have better things to learn than ColdFusion
    Cloud utility proprietary commodity soft-padded lethargic jingle jangle! Do I sound smart yet?

    What’s the big deal?
    I have no idea.

    Bret
  72. re: meta programming – you should really take a look at the Coldbox framework, in a way it really reminds of the Django framework for Python.

    re: bugs – from what I hear Adobe’s going to have a public bug repository, still haven’t seen it yet though.

    re: licensing – there are free education licenses, though other than that it can be a total bitch when you’re trying to scale your app.

    I definitely believe CF is a niche (less attractive) language, and agree with Simon Whatley comment “I do agree to a certain extent with your comment that ColdFusion shouldn’t be the first choice for anyone dipping into the world of The Web; a language with a strong object orientated paradigm would be my first choice.”

    Louis Muloka
  73. OK… so Adobe owns ColdFusion now. They say the language is growing and profits are increasing. In fact they say the growth has lead to a shortage of developers and I even wrote a book ( ColdFusion 8 Developers Tutorial ) to help broaden the educational opportunities. No shame in promoting that at all. It appears that contrary to the facts you have based on a view that the real world is what you see without research to you it is apparent that you perspective is the basis for reality. You don’t appear to have done any research on CF9 and what is up there or the fact that there are now two FREE alternatives to Adobe ColdFusion for doing CFML (being BlueDragon OS and Railo). Please don’t delete this post… the community can use posts like this to show just how dumb the ColdFusion is Dead posts actually are. In fact posts like this help us show the naive nature of the comments. So on behalf of the community may I say thanks!

    John Farrar
  74. If ignorance is bliss, this must be Eden!

    Kevin Schmidt
  75. That was a very careless statement from Aral. This is a sensitive issue and such remarks by one like you isn’t encouraging

    William from Lagos
  76. [...] 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 [...]

    The State of ColdFusion | Peter Elst
  77. I believe that discussing claims like this is a waste of time. He surely has not done his homework. Done deal, lets move on!

    Erwin Verdonk
  78. [...] morning when I woke up and opened up Google reader, I ran across this post by Aral Balkan. Nothing sparks an argument more than telling a group of developers that [...]

    ColdFusion - Let’s be honest here | Nate Beck
  79. CF is one of the most under-appreciated languages out there, at least in terms of web programming. I prefer it over Rails & Django simply because it’s a language, not a framework. I don’t feel tied to architecting my application in a specific way, naming my db tables and columns just so, etc. And it’s much, much easier to control the seperation/integration of your display / business layers than with PHP, the other dominent web language (notice I’m saying language, not framework).

    For a sizeable list of high traffic websites powered by coldfusion, check out Simpleview’s client list:
    http://www.simpleviewinc.com/portfolio/client-list/

    Alex
  80. There’s lots of language/platform choices for building web applications but I agree with Aral that ColdFusion currently offers little if any advantage over the more popular choices out there whether they are open-source or not.

    Aral’s entitled to an opinion that doesn’t toe the Adobe line and it’s certainly valid – learning a more popular platform is probably a good idea for those starting out in programming.

    Aral probably wrote this with good intentions but I can see how this post has become inflammatory for an entire segment of the development community by predicting obsolescence for their stiffly defended skillset.

    I don’t know if ColdFusion is dead yet – server-side AS3 might change things dramatically. Better integration of Ext JS via MXML templating would make it awesome too. I’m a seasoned PHP developer but find myself looking towards project like Haxe for something nicer to work with on the server side…

    Stephen Beatie
  81. Some nice points in here. Too me though I see a couple of flaws. Yeah I agree if you are new to programming learning say Ruby or PHP (Python, really? I like but if you are in Corp or Gov land don’t tell IIS) or better yet Flex/AS3 is probably wise. That said with current CF development focusing on MVC and OO practices (even limitations in those areas) this can translate to other languages.

    About the only point I probably can really agree with based on personal experience is that I run into middling CF developers who are so procedural oriented that their code gets bogged down with redundancy and cannot think outside the box. That is a personal thing in my opinion. Ok, CF team needs to be have a way to upgrade Ajax components (ExtJS 1.0 is TOTALLY UNACCEPTABLE).

    Oh haven’t check lately can PHP maintain session automatically without the session state command? And I wonder how a language being OO (Ruby) translates to more efficient coding? Oh and is IIS really dead (last I checked fast-cgi runs quite snappy- thanks Zend- Apache who)? And yes I’d love to learn Ruby (what a pain in the arse to setup on IIS, but Redmine nice :) ). PHP is fun and I like.

    I Like CF and a lot of other tech, hey that is why I hire developers for the project regardles if CF, PHP, Ruby, Flex, .Net. I just want to make a living and in the end if CF does it for me (and it does now) then fine. I’ll let the new cadre of developers fight it out, cuz that is who I’ll hire for my projects.

    KM
  82. [...] that turned into an interesting debate about the mortality 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 [...]

    Rounding up Last Week
  83. I know you are an idiot.

    Toad
  84. They’re talking about CF on TheServerSide.com
    http://www.theserverside.com/tt/articles/article.tss?l=ColdSpringDependencyInjectionFramework
    Then I guess CF must be dead… <boratmode>NOT!</boratmode>

    Gov
  85. Let’s get real folks. Search results from Seattle craigslist jobs, all categories, Jan 13 2009:

    ASP – 127
    PHP – 112
    Python – 36
    Ruby – 24
    ColdFusion, CF, CFML – 7 (5 being cross-posts of the same job, which isn’t even a CF job, but a “coordinator” position with ColdFusion in a laundry list “Experience with … or other programming language”.

    So dead, dying, niche, proprietary whatever – let’s not quibble about semantics. CF’s time has come and gone, it got powned by ASP which luckily got overtaken by PHP, Python et. al. And that was all years ago. A dead-cat-bounce from belated Adobe improvement and promotion may make CF worth sticking with for those who know it, and will suck in a few new folks who just need a tool, any toole, but does not make it a wise choice to invest in for someone looking to make a career in web dev. Marketability aka applicability matters. That’s all Aran was questioning, and the numbers above certainly support his perspective.

    Seattle Guy
  86. It all depends where you’re looking for. Sure you’re not going to find a decent CF job down the street. Doesn’t mean nobody uses CF anymore or that there are no CF jobs out there. What I mean to say is: http://www.edmundoptics.com/onlinecatalog/displayproduct.cfm?productID=2040 ooohh look, a complete site built in ColdFusion!
    I know there are plenty of sites out there built in whatever other languages, what I mean to say is that you still come across CF sites and you’ll always come across CF sites.

    Gov
  87. [...] that turned into an interesting debate about the mortality 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 [...]

    Rounding up Last Week | Padub
  88. Aral, you’re a Flash guy. What would you think of someone who says “Flash is dead” and bases much of his opinion on his Flash development experiences of eight years ago? I remember Flash back then, and it was Flash 5, with ActionScript 1, and the only RIA support was XML. I used to develop a lot of Flash back then, and haven’t done of it much since, and I wouldn’t base an opinion on Flash’s future on my experiences developing in Flash 5.

    It’s pretty asinine to base an opinion about ColdFusion upon an encounter eight years ago. ColdFusion (4.5) was very different back then. You’re correct that a lot of ColdFusion applications ran on Access back then, but that wasn’t the language’s fault; it was the fault of bad developers making bad decisions. No developer in their right mind today would develop a web application with an Access database. Access is not well designed for high traffic. That’s not the language’s fault.

    You can still write bad applications in ColdFusion. Guess what? That’s not exclusive to ColdFusion. You can write bad applications in Python, Ruby, PHP or any language.

    Brian Meloche
  89. I can see Aral’s perspective. I like to keep an eye on new techs and see what old ones are doing and ColdFusion has slipped beneath my radar for quite a while now. However, I might just not have been looking for it hard enough.

    I have to agree with a number of above comments. I’m a .NET web/software developer and I used to think PHP was rubbish cause it was slow on IIS, could easily be XSS’d (according to all the blogs and IBM security reports I was reading)… I have since matured as a programmer and learned better. As they say, a bad workman always blames his tools. Programming languages are our tools as web developers, and there will always be great coders who can make entire corporate intranets entirely impregnable in one language, and then code jockeys who will hack together a small 5-page site with about a billion XSS vulnerabilities.

    I don’t like “fanboys” – I used to rave about .NET but now I just like it cause it’s familiar, comfortable for my environment and I know how to do all the regular stuff I need to do for my job. I might find something better one day but for now, .NET works for me. I’m also learning PHP via Wordpress so I’m expanding my skills, which makes me worth more to market, and surely that’s more valuable than being a “fanboy” of a single technology.

    codegecko
  90. I can certainly see how CF can slip below someone’s radar from the standpoint of web apps. As far as web applications go, open source platforms like PHP win hands down. However, the argument that CF developers are incapable of OO is hogwash. I’ve worked with plenty of the “jack of all trade” “knower of all languages” programmers whose resumes read like alphabet soup, and the Java gurus who dabble in CF create classes that are nothing more than functional libraries. Only one Java turned CF guy maintained strict OO principles when he programmed in CF, and he taught our team the glorious benefits of the discipline. ColdFusion isn’t going anywhere because companies like ours keep paying for it because it saves us lots of time and huge money. With disciplined programmers writing strict OO code, our adoption of ColdFusion has paid us back many many many times over.

    Mike Chandler
  91. Lol, looks like we all came out of the woodwork for this. I’ll say , coldfusion is a good starter language to learn and build from. And I’m not astroturfing (just saying).

    If it wasn’t for coldfusion I never would have built some of my first apps, and consequently never have gotten my business started. I owe coldfusion and the cf community my gratitude. And I feel it safe to say I’m not alone on this. So there is definitely a P L A C E for coldfusion and there always will be imo.

    atomi
  92. You are completely correct in stating that every technology has its place. The author of PHP warns against using PHP as a catch all language. It wasn’t designed to be the only language out there. Neither was ColdFusion. Neither was Java. Neither was Ruby. Neither was Python. They are all tools, and they all have their place.

    A reader brought up Myspace as an example of a web app that started as CF and had problems. That is true. HOWEVER, the developers obviously just threw the thing together. That is the beauty and the tragedy of ColdFusion. You can just throw something together. Had MySpace had some extra thought, a framework (MVC), and a lot more patience, ColdFusion could have easily powered it. So in the case of myspace it wasn’t the technology that failed, but the way that the technology was used.

    More important than the technology is the use of the technology. You cannot just make general statements and call them truth.

    I have seen hundreds of apps written in ColdFusion. Some of them would easily scale and handle loads of traffic. Some others would (and did) crash at random times. I have also seen projects in PHP that were absolute garbage. The goal wasn’t stability, scalability or anything other than throwing together some code.

    Brandon Hansen
  93. It’s refreshing to see Aral write about something other than how Google App Engine still sucks. :)

    Ryan McIlmoyl
  94. Look kids!!! Another Douche Bag getting on the CF is dead bandwagon. Pay him no mind kids…

    Fluffy the Destroyer
  95. :Deleted My Own Rant:

    After typing out a very long rant about why I hate CF I chilled and realised.. who cares! CF is what it is, another option. Personally its not my choice but I wish the previous developer here didn’t use it as now I have to to repair his screw ups now he’s gone.

    :-)

    Derek O'Brien
  96. I think the majority of people that have reacted negatively to this article have either missed the point entirely, or are so emotionally attached to ColdFusion that it prohibits them from reasoning effectively. As Aral has pointed out very clearly – in terms of the web at large, the “modern” internet, the cutting edge at which the majority of forward thinking developers stand – ColdFusion is dead. This is an indisputable fact, sorry. Of course ColdFusion still has its uses, its niche, and that will not change any time soon, but that is not what Aral is saying. There are simply better, more evolved, more powerful options available and it is on those platforms that our children should be standing.

    This kind of adversity to opinion and analysis of the technological world in which we immerse ourselves makes me both laugh and cry simultaneously. We’re all fighting for the same team people. Let’s talk, not fight amongst ourselves. If we disagree, then let’s disagree and talk about our disagreement and learn from each other, not cast aspersions. It reflects more of yourself than it does those you attack.

    Cliff Rowley
  97. I have to completely disagree with you on this. CF is just getting started! All of the computer systems in Washington for government have been converted to ColdFusion. I have been using CF since 2000, and I think it’s great. I build all my applications in record time, saving my companies time and money.

    In regards to the “no sites use CF” comment. Have you heard of MySpace, one of the largest social networking sites on the planet. They use CF and CF frameworks. So no CF isn’t dead, nor is it going to die anytime soon.

    In the section “Coldfusion is alive and well and living in the Enterprise”. You say your first app you took over failed like clockwork. I wouldn’t blame the language, I’d blame the back-end database MS Access. We’ve have systems at my current job that use PHP, ASP, Visual C, etc. Most use MS Access (it’s an IT thing) and they all fail, why, workload, MS Access isn’t designed for massive congruent hits.

    Before you single out a technology, why don’t you get to know it better.

    Steven
  98. How many times has the same thing been said of other languages? Anyone remember COBOL? Do you have a credit card, then you should thank some COBOL programmer as the largest credit card providers in the world still use it. Perhaps, rather than worry about which language is “dead” this year, we should be more focused on the quality of our programming, no matter what language its in.

    Just another opinion….

    Gil
  99. Fuckwit.

    Mickey Mouse
  100. Why would anyone choose a pricey, closed-source platform like CF now with LAMP and other OSS platforms available? Here’s an example. I needed an accessible CAPTCHA code for a form on our CF site. The only CF CAPTCHA I found wasn’t 508 compliant and it cost $70. I found a CAPTCHA pluging for our Wordpress site in 2 minutes – installed, working and, of course, free.

    Mark
  101. [...] idea for this session came about after a ‘twitter incident‘ where my good friend Aral Balkan declared ColdFusion a dead technology. I wasn’t quite [...]

    ColdFusion is Dead, or is It? | Peter Elst
  102. Hi all,
    CF has power enough to show its strength.
    Wait and see……….

    cfdeveloper
  103. Simpleview Inc. blows

    someone
  104. I don’t know why I am giving this post content and I’m not going to argue either way, Ill just tell a story.

    I do work for different clients in php, python, CF/Railo using mostly mysql. I love PHP LOVE it. Python is very elegant as well, day to day I would love to never leave the php world.

    The thing is, once I got railo (CF) running on the cloud with fusion reactor, it’s very difficult not to code in CF. For me it’s the easiest way to run a 1-2 man enterprise application cluster. CouchDB / MapReduce? Memcached? I can spend all day setting up something for distributed caching but give me proxy CF SERVER / APPLICATION scope object caching plz, it’s already setup.

    I was starting to jump on the CF is pissing me off bandwagon but with Railo, my love affair is back on.

    Also, for all you CF devs getting butthurt by this guy, all he had to do was post CF is dead story and his blog just took off, poke at a beehive and you get a little traffic?

    Igor Spegosh
  105. right on Aral. There’s no point learning something, even if its free, which doesn’t help you keep upto date with the latest web developing techniques.

    Kevin Clark
  106. I love it when people like this create a blog, write complete garbage, then give future employers a reason to throw a resume in the trash when looking for a job. I laughed outload when I read this – you obviously don’t deal with billion dollar companies do you?

    Want to earn 6 figures with ease? Learn Flex + CF, create magic, and sit back. And who gives a crap if it is used heavily for corporate intranets? IS THAT EVEN AN ARGUMENT?!?! Stay in your little flash banner world and learn to work the business (instead of blogging about your little world and what you speculate to be truth – READ – LEARN – SEE FOR YOURSELF WHY CF IS SUCH A GREAT LANGUAGE). I mean – have you even installed CF past version 5?

    I digress, instead, leave that to us professionals and continue succeeding in being a complete and utter HACK.

    CM

    CJM
  107. Unbiased Opinion: I have been developing/maintaining a Coldfusion/ Flex based CRM for the past few months. It was my first dig at the language, not that I really had any interested in learning the language, but it came with the package. I detest the cumbersome and unorthodox syntax. I like the ease that it just works and ties up nicely with Flex. Debugging coldfusion was pain in the ass in the beginning until you established more knowledge such as and so forth. Only advantage that I see for myself as a developer is that I have new set of tools in my toolbox; I can now program well in Coldfusion – whether it’s a sellable skill or not in the market, I really don’t know and I doubt it as the vast majority of recent flex jobs that I have came across are looking for Blaze DS / Java development skills as a supplement.

    I think almost all folks have taken it too personally. The point that is being missed here is whether it’s worth it for the new developers to learn “Solely” coldfusion? I very much doubt it. Let’s say that if you have a choice btw learning Java/ Blaze DS framework and Coldfusion, which skills will yield more value for your time? Java being more versatile and widely used than Coldfusion, I would definitely stick with it. Also, Java’s syntax is not as horrendous as Coldfusion.

    One point I agree with Robert Reinhardt is that Coldfusion was part of initial steps that lead to Rich Internet Apps movement, when it first introduced remoting. That was Coldfusion MX. It saved it back then. Then it was the ability to dynamically generate Flash forms right from coldfusion and so forth. For some it always had those locked up features for RIAs, that the other Open Source technologies had to learn and adapt from. Apart from that, due to the reasons ‘unknown to me’, the acceptance and usage never gained much traction in the wider development community. Whether it lacks enterprise capabilities? the cost associated with using coldfusion? hard to adapt syntax as far as the server side languages go? These are some of the points that have crossed my mind over the past few months. So, I was much surprised when I saw Coldfusion 9 released. I assume it is possible that it has additional tools for RIAs that PHP, Ruby, Python might have to implement over time.

    Now as a developer who doesn’t know diddly squat about Coldfusion and looking to learn new skills. I would suggest prioritize other technologies over CF UNLESS:

    1 – Learn it and use it if a project come across already done in CF
    2 – Your client is gung ho about using CF

    No disrespect to all the hardworking talented CF developers. I learn from folks like you everyday..

    Abdullah
  108. Just the plain fact that CF is rarely supported by hostingproviders renders owning CFM-skills useless to me.

    As a developer – for many obvious reasons I try to focus on technology that require taking as less hurdles as possible.

    Still – if anyone feels comfortable with coldfusion (or QuickBasic) be my guest.

    Also important, i find it a funny article!

    - (Adobe’s so street these days, yo)

    TobiasBeuving
  109. CF – far from dead. I have had numerous PAID teaching and consulting engagements over the past two years for CF8, and now we’re getting an influx of engagements for CF9. Just because you have not used the language in a number of years clearly is not an indicator that you are a trend-setter as you seem to dictate yourself to be when it comes to programming languages.

    I do acknowledge though that CF is not a direct precursor to RIAs, but it is a “parent”. RIAs (in the Allaire/MM/Adobe world) are descendent of the Rich Applications visualized in Flash with the ease of coding of CF-type markup. If you happened to take a look at the Adobe curriculum, they espouse it as such. Indeed, many of the Flex tags related to charting, formatting and validation have their roots in CF. Equally noted (if you were around at that time) Flash 4 briefly had coding roots in VB with (at that time) Basic syntax that involved commands like “add” and “if..then”.

    So before you espouse a language as essentially dead, take a look at the wider audience. You’d be surprised that in spite of your tunnel like vision, CF has a niche in the programming environment, like .NET, J2EE, and even PHP.

    Edward A.
  110. I also wanted to add for those who considered CF “closed source” …while it may be true for the Adobe world, there are in fact several open source CF variants out there- the power of google will compel you to search. I’ve used two variants in projects for startups who then migrated to a full CF license.

    I also wanted to shout out to Ray C. and Stephan R. who also posted here in support of CF. Aral, across the pond in Canada, CF is actually taught is an introductory language of choice for up and coming computer progammers as a way to teach them the basics of programming. Believe it or not, when applying OOP and computer logic principles to CF, it can make a great framework for developing minds. With that toolset, they can readily see why 2 lines of CF can equal up to 10 lines in .NET code or 20 lines in J2EE code (which makes developers wonder why waste your time creating so many lines of code).

    Edward A.
  111. First, there’s nothing preventing one from using or having open-source CF libraries. While the underlying engine may be proprietary, libraries written in CF (and to some extent Java) do not have to be.

    Many of the current fads, such as Rails, are anti-SQL and want to replace SQL with object databases or wrappers that look like object databases. Objects already lost the database fight because they cannot take advantage of set theory, but the hanger-on’s keep pushing it out of stubbornness or purity obsessions.

    I suspect that someday a decent desktop-like GUI-over-the-web open standard will appear so that we don’t have to work with the e-brochure approach of hypertext markup-based technologies and buggy, version-sensitive JavaScript libraries. That will be the game changer. Until then, I’ve seen nothing that is a noticeable improvement over CF.

    Bob Toleron
  112. I believe that this post presents a slim perspective regarding ColdFusion. While some of your points may be valid, the fact is that not everyone that learns ColdFusion is focused on a lifetime career as a developer. There are plenty of people out there learning ColdFusion because it is easy, fast to implement, and a very powerful web technology that works well the other Adobe technologies such as Flex. ColdFusion is the perfect backend development language for new and old web developers.

    Russell Youngblood
  113. Aral,

    You absoulutely have no idea what you are talking about.
    ColdFusion is the backbone of our entire enterprise. It is
    awesome to work with. We can rapidly develop applications and get them into production. WE HAVE NO PLAN IN DROPPING IT. AT ALL!

    Coldfusion Developer
  114. Hello Aral,

    Ignorance truly makes you say stupid stuff. You obviously do not know anything about ColdFusion today. That’s why you are getting fact checked left and right. I am sure it wasn’t your intention to look foolish, but maybe a bit of research could have save you the embarrassment. What worries me though is that you are ultimately dangerous. I mean you could be hurting the very young developer you are supposedly trying to protect. ColdFusion is a wonderful language and it has a very short learning curve. It makes development a pleasure, by allowing you to concentrate on solutions rather than the language. I would not call it easy, I think it’s clever. A lot of intelligence goes into making ColdFusion easy to use and this is what is often wrongfully underestimated by the narrow minded.

    Those of us who love it see behind that apparent simplicity. In fact, I think, ColdFusion most impressive features is what it don’t make us do. It is a tagged language and using a tag will create objects, instantiate them, and add properties to them all in one line of code. Tell me that’s not cool? Want to do AJAX? No problem a few tags could generate most of the functionality you will ever need. Want to do some FLEX? No matter what you say there is not better back-end technology for FLEX than ColdFusion. Want to create a modern Object Oriented Web application using a the MVC design pattern? No problem ColdFusion has a variety of frameworks that give you more than just plain MVC. I am talking IoC, AOP, Factory, Builder, Prototype, Singletons, Adapter, Decorator, Facade, Proxy, Observer, etc. Plus a wealth of great features like ORM (some will even generate CRUD code for you), i18n, CFUnit (for Unit -Testing), et cetera.

    Just for the record there are plenty of sites that use ColdFusion. Check this out (http://www.forta.com/CF/using/list.cfm?categ_id=17). And by the way ColdFusion lives in the cloud, yet another thing you got wrong. Again a bit of research could have safe face. If you don’t believe me just Google “ColdFusion cloud”.

    Hope this helped,
    Miguel Ulloa

    Miguel Ulloa
  115. Hi Miguel,

    Way to ignore the main point I’m making: that the opportunity cost of teaching people a proprietary, commercial application server solution in an age when application servers are commoditized is a disservice. I stand firmly by that assertion.

    I have nothing against Coldfusion on a technical level. However, it’s the last technology I would recommend an aspiring developer to learn when there are far too many interesting and relevant open alternatives.

    PS. People who don’t agree with you are not necessarily ignorant. Read the post again, understand the main argument and you’ll see what I’m talking about.

    Aral
  116. That’s great for _your enterprise_ Colfusion Developer. If you read the post again, you’ll see that I specifically mention that Coldfusion may live on in enterprises for years to come.

    Aral
  117. @Aral This topic of open source causing commoditization of closed source is not new. Your entry here comes across as an attempt to sway public opinion with personal opinion. While I respect that everyone has his/her own opinion, there is a difference between opinion and fact.

    In “Is it dead?”, you quote an opinionated article and a blog post. In “Is it dying?”, you state “ColdFusion has zero mind share”, as if that is a fact. If that is a fact, then please provide references to that data. You also state “It’s not modern, it’s not exciting”, which is, again, an opinion. Others feel just the opposite. An opinion, by nature, is neither right nor wrong. It is not a fact, and should not be made to appear as fact.

    Aaron Neff
  118. CF doesn’t have lexical scoping and CF doesn’t have mandatory variable declarations.
    CF applications tend to have been written by newcomers to programming who had no formal training in programming and little experience or knowledge of modern programming. Do not consider a career in maintaining legacy CF applications unless you enjoy maintaining ill-designed spaghetti code.
    I won’t mention some minor issues, such that CF tends to insert a lot of whitespace in the generated pages.
    Or, if you have repeating controls having the same name in a form (which is perfectly legal), CF makes them available as a single ‘list’ variable with the various values in a comma-separated list. This just does not work if the input can contain commas (when your input is plain text, duh). There are workarounds of course, such as accessing the raw POST data using GetHttpRequestData(). Then they come and tell you that CF allows you to do a lot in a few lines of codes – they just forget that you’ll have to write your own function to parse the raw HTTP request.
    And of course the syntax of CFML is ugly, while the similarity of CFScript to JavaScript is superficial and can be a nasty trap – the ‘&’ operator for instance has a completely different meaning in CFScript than in JavaScript.
    The FuseBox framework /in my own experience/ only makes matters worse — FuseBox can make it very difficult to understand and maintain an application.
    I use CF almost every day (because I have to) and my humble opinion is that CF has to be the worst programming language out there. I just feel relieved when I can code in either JavaScript (on the client side) or PL/SQL (on the back-end DBMS).
    And ColdFusion is not even free.
    The ultimate workaround for the problems of ColdFusion and the uncertainty regarding its future is simple: do not use it, do not buy it, do not learn it.
    And for you managers who happen to be in charge of a large legacy of CF applications, my advice is simple: despair. Sit down on the floor and cry, because you need CF experts and they are becoming increasingly scarce on the market.

    Marc Chapaux
  119. and flash pioneered ria before macromedia bought futuresplash and before allaire bought cold fusion.

    christo
  120. Hello Aral,

    I do not know where you get your facts; application servers are anything but commoditized. All Web development technologies have proprietary code designed to hook you in. Innovation is what drives shares in our business. If X programming language has nothing to bring to the table nobody is going to adopt it. Otherwise, I would be able to grab Rails, or Django, to put together a PHP application. That said Web Development is Web Development. That’s why I could not disagree more with you main point. ColdFusion is just as relevant as any other Web programming language that has amounted and more importantly maintained its shares. Anything you learn in ColdFusion is transferable to other technologies and vice versa. I am not just talking about what’s common among the languages but also what’s unique. For instance, ColdFusion has CFWheels, which is as their site puts it’s “An open source CFML framework inspired by Ruby on Rails.” (cfwheels.org). That’s not the only Open Source project CF has there are plenty more at RIAForge riaforge.org. Also, just so you know there are Open Source CFML engines. Yes, please check OpenBD at openbluedragon.org, and Railo at getrailo.com. Not that that matters much either way as most technologies are free for developers anyway, unless of course you like to look at the source, I certainly do, but if you ever wanted to run ColdFusion site completely free you can.

    Aral, if you were arguing what’s cooler, I would totally agree with you, but cooler does not mean better. ColdFusion was once a cool technology also. It was ground breaking. There was nothing like it. Since then many other technologies have come up and maybe they were better at first. You can always learn from others design misses or improve on their designs, but ColdFusion is not standing still. Instead it is absorbing the newest innovations. Here is a quote from Gartner, because I am sure you know who they are and respect their opinion right?

    “Here’s the bottom line: no other web development toolset available today gives you an equal balance of flexibilility, scalability and out-of-the-box RAD experience for dynamic web applications than ColdFusion. There are plenty that do a better job one of these areas; there are few that do a slightly better job in two out of three; but there are none that match CF in all three areas.”

    You can read more at blogs.gartner.com/mark_driver/2009/10/06/i-continue-to-be-impressed-with-coldfusion/ or webbschofield.com/index.cfm/2009/5/14/Analysts-at-Gartner-Praise-CF.

    Miguel Ulloa
  121. Marc why stop on ‘lexical scoping’? Why not complain about all of “first-class functions” features. Oh that’s right ColdFusion already started supporting them, so you know full “first-class functions” support is coming. You can write functions within functions if you include them. You can assign functions to variables; you just cannot assign anonymous functions to variables. Python cannot do that either. Methods are bound to CFCs when they are called as methods of the CFC. This to me raises another more interesting question when ColdFusion has ‘lexical scoping’, what would Ruby, Python and .Net have on ColdFusion? Nothing! As for other languages i.e. PHP, it does not support any “first-class functions” features, neither does Java.

    This goes to reinforce my previous post point that if ColdFusion holds its shares is because it does not sit around waiting to become extinct. Instead it’s constantly evolving acquiring new features and innovated ideas.

    As for the rest of you post, it kind of go downhill from here. Are you the very programmer you are so enthusiastically complaining about? My feeling about most of you post is that bad developers will do bad development on any language, and you cannot blame the language for that.

    Miguel Ulloa
  122. [...] in for a hard time from the audience so he started with an apology/clarification concerning some previous comments on the future of ColdFusion.  Fortunately no-one seemed to have taken it too [...]

    slateblue.org » Blog Archive » Scotch on the Rocks 2010
  123. Interesting thought. I have been developing ColdFusion applications since the beginning of ColdFusion. I had a look at PHP, ASP, Java and was not able to find anything they have done better then ColdFusion in the Web-development arena.
    ColdFusion is for rapid web application development platform and I would assume more than sufficient for 90% of all web-applications on the market. Of course it isn’t object-oriented and most of the existing frameworks don’t help either. What the future will hold? No idea and I remember a lot of platforms and languages coming and going. Cloud computing? Where do you see that? They talk about it, but that is it. I agree with your comment about spending more time on usability and accessibility issues, but if big companies push a specific product it usually has a good chance to survive. But I do think Adobe is a bit late pushing ColdFusion. As more Developers there are as more pressure will be on Adobe getting it right and that can only be a good thing. Railo will hopefully help the cause and that is the right way forward.

    John
  124. Hello John,

    I cannot comment about .NET, but I have use Java and PHP and I agree with you. There is nothing that those technologies do better than ColdFusion. I have found a lot of the innovation coming from Python and Ruby. Their framework DJango and Rails respectively brought a wealth of features never available to the average developer before. I am talking about things like scaffolding, ORM support, code generation including CRUD just to name a few. Since then ColdFusion has adopted them but even before Adobe got around it, frameworks made them available.

    I have been building OO ColdFusion applications ever since I first started using ColdFusion. Mostly because I have a Masters in Computer Science, OO, Design Patterns were all part of my skill set and creating OO applications makes me feel right at home. I have never come across an OO recipe I couldn’t bake with ColdFusion so I am not sure what issues are you experiencing with ColdFusion OO features, unless you are talking about enforcement. Sure, unlike Java, ColdFusion will allow you to break the rules but you have a choice not to, right? Because of that, I do not see the benefit of having enforcement.

    Actually most special purpose languages hence Web programming languages do not support all of OO. This of course leads to the ever tiring topic of OO pureness. The truth is that even C# and Java are not pure OO either since they both have primitive types. To be true OO everything would have to be an object and only Smalltalk can claim that. As you can see the true OO argument is rather ridicules. I go by a much more pragmatic definition If you can define Objects and use OO features like inheritance polymorphism, and use design patterns etc then you have an Object Oriented programming language.

    I agree with you that ColdFusion frameworks do not solve the OO issue. However, I do not think they should. Frameworks are tools not silver bullets. What does help more is to have a good understanding of OO principles and Design Patterns. Otherwise I do not see how you could chose wisely and more importantly use the framework properly. Just because a framework is OO and you are using it does not mean you are building an OO application. It is equivalent to stating that because I am using all of Tiger Woods equipment, I will play like him.

    As for Adobe being too late, I disagree. ColdFusion is a great product and having the backing of a big, well respected company can never hurt and is perhaps the best thing that’s happen to ColdFusion. It certainly never had that kind of backing before. Lets be honest, .NET has by far the biggest market share. That is all because it has the backing of the largest software company in the world, Microsoft. Now is it really better than everything else. That is subject for another debate, but even if that was true, the distribution is so disproportionate; you know it is because of Microsoft. That is because ultimately decisions about technology are made by business man not by tech heads like us and they go by brands they recognize.

    Miguel Ulloa