ColdFusion Is Dead!!!
First off I thought the title would intrigue you... But let me say that it's so far from the truth that literraly it's amusing!
I have been doing ColdFusion for going on 12 years (really shows my age; man I am getting old) now... and I hear the "CF is DYING" or "CF is DEAD" comment like every other 10 minutes... It's not only ammusing at times; it's plain old ignorant!
I love to get into debates with students, people learning at EasyCFM.COM or even at User Groups about the topic; and you know what I find everytime? The people that make the comments have no clue; and can't take constructive critism well... It's like I am in the school playground and you just can't get through to these "trouble kids".
With that being said; I want to point out a few things for people reading this. Now sure someone can say CF is your preffered development choice and that is why you fel that way; but that is just not true.
Prefered choice is one thing; best tool for the job is another. When a client (be it web or corporate or goverment) comes to you and spec's out a particular project for development, that client could care less what you write it in; what they care about is two things:
- How long?
- How Much?
Now, if the client does not have "CF licenses" and you choose to use ColdFusion for that project; the how much includes the license fees. Free, is not always free... they [the client] will pay for it in the development and project lifecycle; so even if they don't spend say $10,000 in a license; they will still spend the $10,000 sticker elsewhere. (Note: If they can't or dont want a license; consider a managed server.. usually a few hundred dollars a month gets you a CF license (usually enterprise) at most hosting companies, so what is the problem?) And I know people will say; shouldn't the developer make it instead of the license fees? That is a matter of business logic, and individual honesty. Sure; we all want to make more money; but shouldn't honesty to your client be more important? Shouldn't providing the best route (for the client, not you) be the route suggested? I tend to think so!
(This usually ends up making you more money in the long run anyways with referrals and repeated business).
I have built hundreds (sometimes it feels like thousands :) ) of applications [Some Enterprise level, some not]. Some in C# (both for the web and as stand-alone ditributable applications), Some in JSP, some in CF, some in othe languages (anyone remember htmlOS?) and to be honest; a language is just that... a language..
It's the person who speaks that language that makes it what it is. I speak 3 languges (you know this; if you read my 25 things about me post) and I cannot say Spanish is better then English or Italian is better than English.. Each one has its place; when in Rome guess what? Italian is better... when in California; English (or in some cases spanish) is better.... So naturally the same is ported over to the programming language arena. Or at least, it should be!
Let's go back to say 1998, when flash got really really popular and you would see fully developed flash website (which cheesy animations and unusable content).... In those days; doing this was considered tacky and very unprofessional. Today with Flex; that is not only the NORM; but it's encouraged. But why? because technology got better; the ability to streamline data to the flash interface is easier and mor seemless; therefore making the "user experience" better.
Life is about timing; knowledge; and plain ol' salt. Salt? WTF?!?
In life; you need to take everything with a grain of salt (at least I think so)... When you read posts like Aral Balkan's (CF is dead) post; or Steven Errat's (CF is NOT Dead) Post ; or even this post; you have to read them and take them in with a grain of salt... Because you have to inform yourself; then make a judement on to what is best for you with seeing all of the pictures in the bulleting board; not just the one someone wants you to see.
What is better... what is not better? Is too "general" and high level of a question; without knowing the situation; it's useless... A better question would be:
What is better for my task as hand (my project, my client, etc.)? That is the question no one ever touches when they say CF is dead... better for what... you (the developer), them (the client)
In my years (over a decade now) of teaching programming (I teach PHP, Java, C# and CF) (both in seminars, classes and universities) I can tell you that CF can compare to any other language out there... It can deploy .NET, Java, CFML, and more... but let's forget that for a second; and look at the other reason why ColdFusion is not DEAD or dying...
I hear this one often; it's too expensive! First off; I have said this before; but the price sticker on ColdFusion is not expensive for a company. If you're company cannot fork over at least a professional license; then you should start asking can they pay my next paycheck... But that aside; Railo anyone? If FREE is too expensive; then you have issues....
Next I hear; CF developers are not real programmers; they are scripting (or tagging) kiddies... So I asked myself; let's prove it.
So I began the language test with some univesity students. I gave 8 students (2 using JSP, 2 using .NET, 2 using PHP, 2 using CF) the task of building a fully working; tested application (I selected the application; in thise case it was the dreaded "Address book" application) and the one's that got it working quicker an could support a lot of traffic (using a stress tool - Mercury) would win the prize.
Now; putting this in perspective yes the CF team did it quicker; followed by the PHP developers, then the C# developers and then the JSP developers. I put them all through Mercury; and all 4 of them withstood the stress test of 5,000 concurent users. Sure that is not a lot when you compare it to Twitter or MySpace or whatever; but it goes to show that it can work (correctly) under presure. All other aspects were the same (same OS, Same DB backend, the only thing that was different was the language they used) and they all behaved accordingly. But this takes me back to the "How Long?" and "How Much?" questions clients asked.
CF Developer Team - 3 weeks
PHP Team - 4.5 Weeks
.NET Team - 5 Weeks
JSP Team - 5 Weeks and one day.
The CF Team even created a partial Flex front end that invoked their web services (since all they had to do was switch a setting on the CFC to enable web services) as extra credit. The other teams didnt have time; and came in just under the gun (deadline was 6 weeks).
When I spoke to the developer teams individually; they all said that this was a great excercise because they are seeing (unbiasedly - is that even a word?) that each situation has it's place... CF was just better here; in this case and point.
Take this to the next level and build something like YouTube...Would CF be the best route to build something to that scale? Probably not because of a few reasons; however; could it be used? Sure look at a site i built in less then a day: ColdFusion.TV; but it required me to use third party applications to handle the video compression, etc. But keep in mind I said I wrote this in a day. (Not weeks, months or even a year, but a single day).
Does it have all the bells a whisltes of a YouTube? No; it was just a day; does it have full capabilities to upload videos of any format; conversion to FLV (flash video) the ability to play and place it on your own site (like YouTube) yes it does! And all that in just one day! What else could you do? With more time?
Going back to YouTube; writing this in JSP or C# would be better because you can get to a more granular level and control the file conversions more powerfully; then you ever could in CF... so does CF fit every mold? No, it doesnt. Does this mean it's dying? I think not! In layman's terms:
"If you have a screw, a hammer might not be the best tool.. but if you have a nail; then start hammering!"
Lastly, let's leave you with one last piece of information.
ColdFusion 8; when used correctly can work perfect and seemlesslesy (especially in a 64-bit environment). To the same standards that a PHP system, C# system could. Don't blame the technology; because you have met some people that didnt know what they were doing and we're dangerous enough to build something that didnt work!
If you are a developer starting out; don't leave ColdFusion out of your "things to learn" just because you read a post on someone's blog that says its dying.. If you do your thorough research and still dont want to learn it; then that's cool... Can't know every language perfectly; so find the language [or languages] you feel confident with and run with it [them].
Hopefully it's ColdFusion... But I It's something like C#, PHP or JSP (or more graphic userface related (i.e. Flash, AIR, etc) then that's cool too...) We need all kinds of people with all kinds of knowledge to make the web what it is... If we ll did the same thing; that was is the point!
Together we can all make it better by challenging ourselves; and most of all the technologies we use.
With my book length post (sorry); I leave you with this. Coldfusion is NOT dying; it's just getting started.
Your thoughts? Let me hear them!
























keep them coming. the more of them we will have around the easier to "sale" coldfusion to unsure clients.
If you know what you're doing with CF, and you're not a complete nightmare to work with, you WILL get snapped up in no time flat.
Developers (in general) will embrace CF when companies start using it more. Companies will start using it more when they see the total cost of ownership decrease.
You would be able to tell a company, with this study, that it COSTS 33% less in developer time and money to use ColdFusion over any other mainstream development language. Do you think any business decision maker worth their salt wouldn't long long and hard at ColdFusion as a development platform? Of course, don't get me wrong, life would suck for the 33% of PHP/c# developers that would be culled in the switchover...but, that's capitalism!
Cheers,
Davo
individuals that used the language (it was their preffered languages).
The "Job" comments; though sure there are always going to be more PHP/.NET jobs; however keep in mind that that doesnt necessary make it a good thing. You have to take into account the ratio of people in the field to the number of jobs.
ColdFusion Developers = (more or less) 500,000 people
PHP Developers = (more or less) 4-5 Million
.NET Developers = (more or less) 5-7 Million
You have better odds of jobs, of standing out in the crowd and of making more money with ColdFusion... so not 100% if that arguments holds water... Again, have to take it with a grain of salt, but it's all about the perspective. I do see your point about what someone might "
conclude" without that knowledge.
be done even quicker then that... but I was trying to gauge true development time... not using something that is 90% done and then customizing to your needs.
Hehe. ;)
They were shocked (naturally)... but accepted that each tool has its place. In some cases their language of choice would be best; in some it would not be.
With this I was not trying to prove CF was better... but that each tool has its place and that CF just happens to do some things much quicker; and just as efficient.
Davo
Pablo, please can you share some info on what 3rd party tools you used to handle video compression and file conversion on your ColdFusion.TV site please? Thanks.
HTH
We had CF developer edition on our laptop, and had a fully working website with CMS by the end of the day. I think one other company managed to do something with a bit of functionality in PHP. Guess who got the contract ;-)
For the past 8 years in my Web Development area I chose ColdFusion on many projects for speed, debugging, efficiency and tools.
It gets even better with each upgrade especially ColdFusion 8. This blog is of great interest to me because I have a shop that wants PHP to take over our "dead" ColdFusion.
I wont comment on what I think of PHP but lets just say it is far shorter than ColdFusion on standard intallation comparisons.
Maybe ColdFusion developers can start a rumor saying PHP is dead but that would not be true. Doesnt that sound familar? From my experience people who
make negative comments about ColdFusion really dont know anything about it.
cf is most definitely not dead.
so while your test shows that yes coldfusion is fast at developing applications, it's a mute point since the test was done wrong. sorry, but we have to let the truth be told.
your an idiot. do ur own test then.
When the largest complaint against a technology is the lack of available talent for advanced work, you've got a pretty decent "non-dead" scenario there... at least insofar as a current technology is concerned. The same argument could be said for COBOL, although the COBOL guys I know are pulling $300/hour contracts so even that's not a bad deal.
I've built a career around ColdFusion and related technologies. For 10 years, CF has been the mainstay of my employment and I have never gone for more than a few days without a contract... in fact I've had many situations where I've had to choose between them.
So no... ColdFusion is most certainly not dead. Frankly if it were dead, the 5th largest software company in the world would not be dumping hundreds of thousands of dollars into the next version. CF8 was profitable and actually beat CF7's sales... CF9 will rock the house.
Keep the blinders on, guys... the work you don't take just goes to those of us who really CAN cope with reality.
Saying I can do it in 30 minutes using a framework; is like saying I can have tha done in 5 minutes after i buy it and have it going.
Sure a framework is a great feature (and a time saver)... However that is not your code; if you were to use a framework you would have to find out how long it took the team (or individual that wrote it) and factor that in also.
Just my thoughts.
P
It seems Pablo's test results are in line with the results that Adobe is publishing as well.
Adobe Evangelism Kit:
http://www.adobe.com/products/coldfusion/evangelis...
Thanks for sharing Pablo.
@db. Do you mean "you're an idiot" instead of "your an idiot"? Sorry, couldn't resist!
@dfguy - fair point about frameworks making languages easier to use. But if we did what you suggested we'd just be comparing frameworks rather than languages. There are dozens of frameworks out there so it would be a huge job to fairly test all of them against each other. If you pick just 1 framework for each language to test then people would point out the results would be different if you picked Y framework instead of Z. Can get very complicated.
http://www.microsoft.com/net/default.aspx
"The .NET Framework is Microsoft's comprehensive and consistent programming model for building applications that have visually stunning user experiences, seamless and secure communication, and the ability to model a range of business processes."
Whatever....
I have seen faster speeds; not necessarily slower... but on some things... not everything.
The memory issue alone makes 64 bit worth the move.
Davo
The truth is that I am a ColdFusion developer and have been for the better part of a decade. I am the first to take up any argument stating that CF is dead or some kind of inferior language. I work at an advertising agency and find that more often than not CF is the ideal app. language for my client's projects due to the speed with which solid applications can be developed.
And just for the record, I do own brown shoes, and, the last I checked, the wheels on the bus do go 'round and 'round.
I was not agreeing/disagreeing that CF is dead, I was merely just stating a fact of what I see every day. I would love to find a new job, but in the current market, I do not see much demand for CF developers. Maybe I have tunnel vision because I am looking for full time work, not contracts. I would love to find contract work, but to be honest, I do not know where to look, or get started. I would love your suggestions on finding such work.
Thanks.
Another thing to look at is location, for some strange reason it is an east coast and south east region. I moved to CA from NY a bout a year and half ago. In the process of moving I got so many calls for CF jobs from MA, to the Carolinas. On the west coast the jobs were so few and far in between. I don't get why that is, but it is my personal experience.
It's funny to hear you say: "coldfusion is a great way to build an app from the ground up without any background knowledge OOP or a need for a super jazzy framework"
Would you also add "Standards and Design Patterns" to that as well? This is what separates a hack from a good developer... OOP, Frameworks, Standards & Design Patterns. I have seen plenty of bad code in my day, CF makes it easy for Devs to create an unmanageable mess of code but with a little additional effort it also allows Dev's to create well structured app code that will be scalable and maintainable for years to come.
Sure Cf was my first but now would like to get into PHP since you can find so much on PHP these days and its not expensive...
ColdFusion is so much better for database work and easier debugging compared to PHP. As stated in many articles the money spent on ColdFusion is saved
in development time and quality which always depends on the developer.
Also to all that just rely on one language you are not doing yourself justice. Always good to spread your wings. I started with ColdFusion and then learned J2EE.
Unfortunately I still do work with PHP but thank goodness most of my projects are with ColdFusion and Java. ColdFusion is alive in my part of the world!
In an enterprise environment, a company (such as the one I work for) MUST carry service and support contracts. These contracts and associated yearly fees can, and usually do, become astronomical. In example, for our company's fiscal 2009 budget, I was able to save more than $350,000 / per year in service and support contract fees by dropping all open source technologies and instead adopting "Enterprise" technologies such as Windows Server, ColdFusion and MS-SQL.
These savings was in account of the additional license fees for most of the servers running these technologies too!
Another example, while preparing for my 2009 budget, I performed a cost/benefit analysis on our support and service contracts dating back 5 years and found that we were paying more than $84,000 per incident just for our DB2 service and support. You see, in 4 years, we had only needed utilized that support twice!
However, to comply with company policy, various mandates imposed on us by business partners and compliance with various industry standard practices, we MUST carry service and support contracts for all "Open Source" technologies. Well, no more.
We adopted proper enterprise technology management and have saved hundreds of thousands of dollars per year in doing so. We are not the only ones that have gone down this road. While I was working for the Department of Defense, the new mandate was "no more opens source" for these very same reasons. Also interesting to note, while the DoD dropped almost all non-Microsoft products, they are still holding on to ColdFusion quite strongly.
- Jeff Greenwell
I've been programming for 15 years, and before that I was programming back when the screens were black and blue... I've used virtually every language under the stars in heaven.
First of all... PHP? Not a language. It's a script kiddie starter kit language. There are soooooo many things dysfunctional about it that anyone who claims it is a programming language, hasn't ever programmed a day in their life.
The rest? Passable. At least they're useful...
now ColdFusion.. I remember when I first took a look at it with CF 4.0 yup... i remember when ahhhh those were the days :) I went the ASP route back then, but never wandered too far from the CF side of the street, because it was fun, it worked and it was a good way to relax after a day of compiling, and OOP AOP development.
Now adays? I don't even use anything else... Dot.NET ? Who wants to memorize all those classes? I mean really? PHP? yeah well i answered that! J2EE ... well yes good stuff, but hey, now i can write classes and compile Jar files and REFERENCE them as objects In CF... way better than servlets and JSP pages... obviously...
And lets not forget... jQuery inclusion, FCKEditor embedded by default (MCE is for noob's), lets not forget image manipulation integrated, lets not forget PDF support integrated, lets not forget writing flash on the fly and never having to open flash. Lets not forget 3 lines to travese through a directory structure. Let's not forget automated form validation, and on and on and on....
The reason why I always end up back at ColdFusion for SaaS development is simple. I don't have to break from my rhythm to run around and find or write, or compile anything that I can just accomplish with CF and a few UDF's wrapped in a nice component, or manage with a scripting language which has a natural inclination toward OOP and AOP development.
Oh and of course, if you're like me, and like JEE then hell... install Railo, write Java to your hearts content and just call display through cfm... ahhhhh
talk about coding being fun and relaxing again :)
It'll only get better now, with Air and RIA and Flex and so on and so on, all waiting to just take SaaS to the next level :)
The basis of your posts is that ColdFusion is expensive and PHP is not; therefore that is why its more popular. Back in the day (2000 area) I would have agreed with you... But today; that holds no water. Railo ( http://www.railotechnologies.com/ ) is free... so ColdFusion costs the same as PHP... they're both free!
It's a stupid argument that needs to die.
I'm not sure I agree with the age old argument that coldfusion is rapid development so you save money, nowdays the frameworks in place for PHP allow you to deploy just as quickly. Another thing is that, as people have said here, there are a damn site more php developers out there and if your looking to outsource there are companies with very low overheads who can churn out sites quick as anything.
So client mostly does not care what language you like to use?
Cheers
Welcome to the site http://www.queentorrent.com here you can download a good movie, and more.
http://www.xspyz.com
"The .NET Framework is Microsoft's comprehensive and consistent programming model for building applications that have visually stunning user experiences, seamless and secure communication, and the ability to model a range of business processes."
It's a stupid argument that needs to die.
http://www.bitcoca.com
http://www.btscene.com