A few days ago I blogged about an announcement from Adobe that they were releasing a free ColdFusion curriculum. This weekend I got an email from Cody asking about learning ColdFusion in general:
Hi, I am a new ColdFusion developer. What are some good tips, sites, or books to help me out. I've seen the Adobe tutorial but that mainly focus on developing with DreamWeaver which I don't have.
I think the answer to this really depends on how you learn. Broadly, I think you can break things down into the following categories: Books
If you learn best by reading, then you currently have 2 main options. First is the ColdFusion Web Application Construction Kit series (called “WACK” by most folks). This is a 3 volume set and a pretty hefty set of pages. I recommend first since - well, I’m a bit biased as one of the authors. Your other option is ColdFusion 8 Developer Tutorial by John Farrar. This is a one volume set and is a bit slimmer, but is the only book out focusing on ColdFusion 8.0.1, the very latest release.
While not a book, I have to mention the Fusion Authority Quarterly Update. This is a magazine put out by the House of Fusion folks 4 times a year. While not a ‘beginners’ guide per se, the magazine is very well done and has a rigorous editorial process. It is worth picking up even if some of the articles are above your current skill level.
While I’m sure there are more options out there, I know of 2 main options for classroom based training. First are the Adobe classes: Fast Track to ColdFusion and Advanced ColdFusion 8 Development. I used to teach the Fast Track class back about 10 years or so ago. I remember it being quite packed with information. Since these classes are taught by independent instructors, your quality may be hit or miss. I know a few instructors though and they are all top notch people.
The second option I’d recommend isn’t really a “beginner” type class, but frankly I don’t care. Take a class with Hal Helms. Don’t even bother looking at the title. Just take it. Period. If the class involves knitting while underwater, take it. Hal will find a way to tie it to ColdFusion and make it both relevant and educational.
I’ve been tempted to offer these myself, but in the meantime, the ‘big’ guy on the block for online learning is Lynda.com. You can view their ColdFusion 8 specific material here. I kind of have a ego-hate thing going on with them since they turned me down as an instructor (I kid, honestly!), but I’ve heard great things about them from folks I trust, so it is probably worth taking a look.
Online Material in General (Blogs, Mailing Lists, etc)
You can find other materials online of course. This blog is one example, but blogs tend to be a bit scattershot. I’m not going to do 100 blog entries in a row walking you through learning ColdFusion. Rather, I’ll cover one topic one day and another some other day. It does make sense to monitor blogs in general though, just to be aware of what’s out there. I’ll recommend (and again, I’m biased) ColdFusionBloggers.org as a good way to keep up with current ColdFusion blog posts.
As for mailing lists, you can’t survive without House of Fusion. They run the mega-popular cf-talk mailing list along with other related lists. cf-talk can get a bit busy (like Fox News can get a bit biased), but even if you don’t subscribe to it, you can use the search form as a way to mine the years of data stored there.
I feel kinda dumb here. When I posted this entry ten or so minutes ago, I completely forgot to mention conferences. There are some excellent conferences available for ColdFusion developers. We’ve got cfObjective coming up. CFUNITED. I’ve also seen a jump in smaller, one day, type conferences the last year as well. Each has their own strengths and folks could probably debate for a while on which is best, but it definitely makes sense to peruse the session list to see what each offers. Unfortunately, I will not be able to make cfObjective this year, but along with CFUNITED, these are the two main conferences I most look forward too, especially in terms of learning.
What do I do?
Personally I’m a fan of downloadable docs and “playing” with the code. You can download all the ColdFusion docs by Adobe (and there is something like 4,000 pages of it) via my shortcuts at the ColdFusion Portal.
I tend to keep the docs and an editor open as I read. I’ll create a large number of test files so I can quickly type stuff in and run it. I try to use more than one file so I can jump back to earlier examples and modify them as I learn more.
I’m also a big believer in working on real applications as a way to learn. Now I’m not saying to go out and re-invent the wheel, but why not do it as a learning exercise? There are plenty of ColdFusion blogs for example, but creating a blog could be a good way to help learn ColdFusion. For one, you don’t have to worry about product design. You know what a blog does. Secondly, real world apps tend to touch on a lot of different aspects of a language. Database queries, UI, caching, etc. Shoot, even a guest book (which kind of died out on the net a few years ago) would be a great way to get some practice.
Any comments, readers? I don’t want to turn this into a “Why didn’t you mention site So and So” type comment-fest (but obviously I don’t mind folks adding URLs), I’m more looking at comments about the approaches in general.
p.s. It just occurred to me I should add - you can get a trial of Dreamweaver CS4. Obviously you have to pay for it at some point, but if you are just picking up ColdFusion it may be worthwhile to get the DW as well.