views:

1971

answers:

16

ColdFusion is a language I encounter rather infrequently, however it does turn up from time to time either in job adverts or as .cfm file extensions in URLs.

There are possible job opportunities near to where I plan to live for ColdFusion developers. It might be in my interests to have a look at ColdFusion.

ColdFusion appears, to me, to be a minority language compared to C#, Java or indeed most popular languages.

Don thinks ColdFusion is declining in popularity. Would a ColdFusion position today be more related to the maintenance of legacy code than innovative, creative development, thus less interesting?

Is there any long term career value in learning ColdFusion?

+5  A: 

I don't think there's a whole lot of new applications being developed with ColdFusion these days, so I suppose you could say the language is declining in popularity. However, all the existing CF apps are not going to re-written any time soon, so I expect there will continue to be employment opportunities for CF programmers, though few of these are likely to be new projects.

Ultimately, if you can get a few years worthwhile employment out of the language, then there's value to you in learning it.

Don
Thanks Don, you make a good point. I'll update the question to focus on the potential decline of CF and see what other answers are suggested.
Jon Cram
ColdFusion is going through some explosive growth at the moment, but you might not realize. You probably wouldn't argue that a ton of new applications are being developed with Adobe Flex, but what you might not know is that there is 50/50 chance the server-side of those apps is ColdFusion!
Adrocknaphobia
@Adrocknaphobia - I'd like to see some evidence to support that claim, because it sounds extremely unlikely to me
Don
+2  A: 

Also, ColdFusion is not the most difficult of languages to learn - it was originally designed for Web page folks rather than programming gurus. Learning it well enough to get by should not take more than a week or so (that's how long it took me for the the only CF-related project I've ever done), assuming you are familiar with HTML, web page design and basic programming concepts.

anon
Excellent, it sound like learning CF should be pretty easy then!
Jon Cram
I like to think of it as "days to learn, years to master."
Adam Tuttle
@Adam, totally. Easy to start and learn also means mastering can come a little easier too (not much maybe)
Jas Panesar
+2  A: 

I am seeing lot of job postings for .NET developers with coldfusion experience. It may be that they are new projects interfacing with old legacy coldfusion apps or completely rewriting them. So there is a niche market for that.

CodeToGlory
The latest version of ColdFusion supports calling .NET code so it could also be that as well.
Rob
Very well could be true.
CodeToGlory
ColdFusion has native support for .NET assemblies, Excel, Powerpoint, Sharepoint and Exchange. If you are trying to bridge the gap between Java and .NET, ColdFusion is the glue.
Adrocknaphobia
@Adrock - I don't know that I would call it native support for calling .NET assemblies - CF creates a proxy object that calls the .NET code through reflection, which is notoriously slow compared to actual native .NET calls. Probably fine when the .NET code you're using has a chunky interface, but chatty interfaces would be a problem.
Joel Mueller
+2  A: 

Personally, I HATE ColdFusion, but in all honesty, it got me more jobs than any other computer skill.

It got me my current job, my last one, and three previous to that. I can only think of two jobs that werent due to ColdFusion, one was VB6 and the other Classic ASP

If a company has CF code, they are going to look for CF coders, you instantly jump to the top 5% or so on a resume search if that is the case.

Neil N
+5  A: 

I learned ColdFusion in the past (version 5 and MX) and its an easy enough language to learn to use, but the catch is that in order to learn it you kind of have to be somewhere that already uses it. Also, it can be a difficult language to learn how to use effectively (i.e. frameworks).

There is still new development being done with it, more so now that it has some fairly tight integration with Flash, but from what I have seen it tends to be a bit more towards internal web applications as opposed to external web sites. Personally I don't think it is declining in usage and Adobe reports that 75 of the Fortune 100 are using it as well. Also, it is worth noting that you can do things to make the file extension not appear on external websites and personally, the biggest thing that I have seen it used for is internal applications.

At the end of the day, I would say if you are interested in leaning it, it couldn't hurt you and might in fact help you. Adobe has a free developers edition that you can get to learn with and there is quite a bit of information out there on the internet to use as references.

Rob
+9  A: 

Seriously, how many times are questions like these (not necessarily pertaining to ColdFusion) going to be posted on StackOverflow? Seems like every week someone asks this generalized question.

The bottom line is this: if the language is required for a job that YOU are interested in, learn it.

rip747
I think part of the deal is that there are many cases of CF being considered a legacy system based on existing state -- at work, for example, we have an old badly implemented system, that was written in CF (by since-then-fired consultant). And no other systems (no one had CF expertise in-house, no reason to use it; esp. seeing that one legacy system). It is probably unfair connotation but you can perhaps see why there's sentiment that maybe CF is not good for new dev when all you see are these badly-written legacy systems.Hence these "is it still alive" questions.
StaxMan
+17  A: 

As a long time ColdFusion guy myself, I can easily state that there a lot of new projects being taken on in ColdFusion. I work at a very large enterprise where CF gets a good amount of credit for being faster and cheaper. Meanwhile, it takes a verbal beating; the "It can't scale" types of arguments are quickly put to rest when they see it in action.

Check out RIAForge, which is basically SourceForge for Adobe products. You'll see the majority of apps on there are ColdFusion, and that's just the smaller ones. There are larger projects, too - application frameworks, ORMs, a Spring port and others.

Don't discard CF because it looks like HTML, or because it's so easy. It runs on Java enterprise servers, seamlessly integrates Java, .NET and a variety of databases, works with web services, JSON, PDF, flash, plus, with the open source community, can run embedded scripting languages like PHP and Groovy.

ColdFusion 8 was a fantastic boost to the product, and with version 9 right around the corner, it's actually a great time to be a ColdFusion developer.

Now, I wouldn't say it's right for you, or for everyone, but it's a great platform to work on, and has an insanely great community to be a part of.

Nathan Strutz
+4  A: 

I've had a great career doing mostly ColdFusion development so I would suggest learning it!

At work, I've hired two ColdFusion developers since last September all to work on new development on Adobe ColdFusion8.

My feeling on all languages is pretty similar; find something you like, be passionate about learning it, become an expert and you'll find work pretty easily.

Sam Farmer
+4  A: 

There's a higher demand for CF developers than most people think. My current and previous jobs have converted PHP developers to ColdFusion because at times there are so few competent CF developers on the market.

If you're a developer and have experience building web applications already, moving to another language is just learning its syntax. Download & install the Developer version of the ColdFusion server (free), install Eclipse with the free CFEclipse plug-in and try writing some CF code.

If you like it, apply for those jobs.

iKnowKungFoo
+1  A: 

Questions like these are doing nothing but trying to get reputation points or whatever.

@Don: There is active development on ColdFusion if you had even bothered to look. CF8 was the latest release and there's a development map of the product to CF11.

webRat
Generally, you should add this as a comment to the answer as opposed to creating a new answer.
Rob
There used to be a reputation limit for commenting - has this been removed yet?
Peter Boughton
I was referring to apps being developed with CF, rather than development of CF itself. I've modified the wording to make this clearer
Don
+1  A: 

You can get pretty close to an answer just by using some tools that aggregate job posting data. Here's one that compares ColdFusion with Java, C#, VB.NET and PHP.

http://www.indeed.com/jobtrends?q=coldfusion+or+%22cold+fusion%22%2C+java%2C+c%23%2C+vb.net%2C+php&l=

This is not going to be a perfect representation of how often these languages are being used but it does give a lot of insight into public demand for the skills.

cliff.meyers
Cliff, The only fair comparison there for CF is with PHP. Java, C# and VB.NET are multi-purpose languages (web, desktop, mobile, etc.). ColdFusion and PHP are exclusively for web development which is what that market share reflect.I'd like to point out that brd6644 is an incredibly good java developer (who got his start with ColdFusion). CF is a programmers gateway drug.
Adrocknaphobia
cliff.meyers
+26  A: 

ColdFusion is software. The language is CFML.

This distinction might seem pedantic to some, but it is important.

In addition to Adobe ColdFusion, there are also two other CFML engines which are both viable for use: OpenBlueDragon and Railo, (licensed GPLv3 and LGPLv2 respectively).

These three are all Java based, but also worth noting is New Atlanta's BlueDragon.NET, for anyone wanting to use the CFML language on the .NET platform.

To help guide these engines, and ensure the language remains consistent, there is the CFML Advisory Committee, which is working directly with Adobe, Railo, and openBD to document what the core CFML language is/should be, and what features are considered vendor-specific enhancements.

The key message here is that CFML is a transferable skill, and a growing language, not a dying one.


So, is it worth learning CFML for a career? Definitely! Here's why...

ColdFusion/CFML has the double-edged benefit/curse of being very easy to use, and doesn't force particular development practises - you are free to work however you like.

This means that it is easy for non-developers to get going with it and create usable software that isn't brilliantly programmed, which can sometimes give CF a bad name if this is what experienced programmers are exposed to.

From a career perspective, this can be a benefit: if you're a strong programmer and you learn CFML, in the CFML jobs arena you've instantly got a significant headstart.

CF is not declining, despite some claims - ColdFusion has an active market on internal intranets, which may not be as visible but is definitely there. Similarly, government agencies make up a large part of the CF user-base, especially in the US.

With Adobe currently developing CF9 (private alpha/beta stage), and with CF10 and CF11 both in planning - it's not going away any time soon!

Also Railo's recent teaming up with JBoss (RedHat) is hoped to attract growth of CFML in that direction, by providing Java developers with a solid RAD language for the web.


A couple of key points so far:

  • CFML is a transferable skill, and a growing language.
  • Adobe have committed to supporting and improving ColdFusion for a long time.
  • Even if a company drops CF, this no longer means leaving CFML entirely.

So, now on to why CFML is a valuable and worthwhile career skill...


General ColdFusion and CFML benefits


Great Integration

CFML can integrate very easily with lots of technologies out of the box with little-to-no configuration, and plenty of easy to use projects for adding even more functionality via other languages.

Flex, being an Adobe product, is perfectly partnered with ColdFusion, and much easier to use via CF than with other technologies/languages.

Groovy is a dynamic language growing in popularity, and cfgroovy by Barney B makes it incredibly easy to mix Groovy and CFML, utilising the best of both languages.

Hibernate support will almost certainly be built-in with CF9 and Railo 3.2, and can already be used indirectly.

Java and its libraries are very powerful, and CFML lets you harness that power with great simplicity - a single command (either cfobject tag or createObject function) creates a Java object which you can easily work with inside your CFML. And often you don't even need that single command for using Java methods on normal variables, since (for example) a CFML string is also a Java string, and can already use the Java methods directly on it.

.NET - for best intergration you'll want BlueDragon.NET which runs in the .NET framework, but Adobe ColdFusion also has native .NET integration you can use.

PDF is also very easily used with in CFML via the built-in cfdocument and cfpdf tags.

PHP and Ruby are both popular languages, and there the Scripting for ColdFusion projects makes it easy to use either of these languages within your CFML code.

Web Services have always been ease to create and consume with CFML, and with the popularity of JSON, CF8 adds abilities to easily use and produce this.


Great Frameworks

There is an ever growing list of CFML frameworks covering a huge variety of concepts:


Great Community

Although no where near as large as many other languages, the CFML community is nevertheless a fairly strong and friendly one, spread across mailing lists and blogs, and of course the various conferences that are held around the globe.


Great Projects

In addition to the assorted projects already mentioned, there are a lot of interesting projects available for CFML. Just browse through RIAForge's CF category or the CF OS Project List to see the great variety of intriguing uses people have put CFML to.


Getting Started

If you decide you want to experiment with CFML, it's very easy!

Both Railo and OpenBD have quick-start editions that allow you to download, unzip, and start the server within seconds - no complex installation, no conflict with existing servers (Jetty picks a unique port around 8888), just run the script and go.

(see Railo Express and OpenBD Ready2Run)

For ColdFusion you can install it for free - the Developer license restricts you to three IPs, but provides all the features. There is an installer to step through, but it's not too bad. Best for a new developer to grab Coldfusion 9 beta, and also the new ColdFusion Builder IDE.


If you get stuck with anything, there are plenty of places you can get help:



So, if you are seeing job postings for CF in your area, you should definitely go ahead and add this tool to your belt! :)

Peter Boughton
It's worth noting that while not free *or* open source, New Atlanta still sells BlueDragon (as opposed to Open Blue Dragon), which translates CFML into the .NET CLR, making it run on .NET servers. I'm personally a fan of Adobe ColdFusion, but I think it's important that in a comprehensive list such as this, the option be listed.
Adam Tuttle
In addition to a massive amount of intranets, another large user-base is government (US and International). I think it's an interesting point, since technically government agencies are required to evaluate all options and pick the one they believe to be best suited for their use.
Adam Tuttle
Good points, I've updated my answer for both of them.
Peter Boughton
I would also mention that Adobe is positioning CF as the best (and easiest) way to transfer data back and forth with Flex, which has a huge following and is growing on a regular basis.
Ryan Guill
Another good point... give me a few moments and I'll add that, and some other points, and I'll also make the question community wiki so others can update as necessary. :)
Peter Boughton
Ok, I've got it updated to mention Flex plus several of the things Nathan referred to.There's still a lot that could be done to improve it though, but now it is Community Wiki - so anyone with 750+ rep can edit it - please go ahead and add any missing information (especially with regards to the frameworks - I've left a lot out that should actually be added!)
Peter Boughton
ColdFusion 9 and ColdFusion Builder (new IDE) are publicly available to try out _today_ with Hibernate integration on Adobe Labs.http://labs.adobe.com/technologies/coldfusion9/
Adrocknaphobia
I think this answer does a new CFML developer a disservice. While I understand there are Railo/OpenBD fanboys, the question never mentioned FOSS as an issue. It specifically talks about jobs being the primary motivator for learning CFML. Adobe ColdFusion (which hold 99.99% of the market) is what you'd need to know to get a job. You can download the FREE developer edition and install ColdFusion in under 10 minutes.
Adrocknaphobia
Adam, re-reading it I agree it could be a little over-focused on the non-Adobe engines compared to the actual question asked - mostly due to trying to create a generic answer that can be referred to in response to other common complaints.I'll update it later this evening to make it more up-to-date and balanced.
Peter Boughton
Ok, so a month later than planned, but I've finally gotten around to updating the answer - and hopefully it is now fairer and more focused? If Adam or anyone has further suggestions for improvements please do let me know.
Peter Boughton
+3  A: 

Coldfusion is power with ease. It gets most anything done faster, cheaper, on time compared to any other language.

The language is no where in decline or dying, it's used by very large organizations who seem to value CF developers highly. Developers can be hard to find, but on the flip side, its probably the easiest language to learn for the web and easily among the top in terms of power and ability.

I do a fair amount of PHP work too and all I have to say is that if I have the choice, I use ColdFusion. I have often put in two bids on a project with the Coldfusion bid being 75% the price of the PHP price because it saves so much time. The cost of a CF license has never been an issue, and now there's plenty of great open source engines.

In the 10+ years I have been with ColdFusion, I have only had more and more work, and focus on it almost exclusively when I have a chance. It is the programming language I think in, and thankfully so, as it's pretty simple.

The wealth of built in features it comes with, standardized from Adobe can't be matched by any other language that I've found so far. You would end up buying a lot of third party libraries to work with PDF's, etc., that all comes built in to CF.

There's a lot of other great points that have been made here. What do you have to lose? Try it out for a few months, you can always move to something else, but I don't think you'll look back.

Jas Panesar
A: 

Another point to remember is that due to the perception the CF is declining, that means that there are "less" CF developers. All the CF apps still have to be maintained though, thus . . . thanks due to supply and demand, I can charge more than most C# developers can for a contract. Also I can justify the cost, due to the fact that I can get the job done faster (and I write C# also, so this comes from personal experience)

andrewWinn
+1  A: 

hi all, pls read this also to get the clear picture http://blogs.gartner.com/mark%5Fdriver/2009/10/06/i-continue-to-be-impressed-with-coldfusion/

tnx..

An indian CF CODER
A: 

It's worth adding that CFML is one of the few easy-to-learn server-side languages that scales well. This means that it can be used on the simplest of websites right up to large enterprise projects. Unlike PHP, for example, it supports multi-threaded applications and server load sharing right out of the box.

Jane Carter