A regular topic of discussion in the ColdFusion community is "What should Adobe do to make ColdFusion more popular?". There are always some common themes in this discussion. I'd like to examine some of the arguments made and play devil's advocate in an attempt to get a bit more thought behind the discussions and, hopefully, bring out some useful insights (for both sides).One of the most common arguments I hear is that ColdFusion needs to be taught in schools. The argument seems to be that people don't use ColdFusion at work because they didn't learn it at school / college. Well, I learned Basic and Pascal and LISP at university and I don't use those languages today. The languages I do use, I learned after I left university. I did a BSc in Math with a minor in Comp Sci (Americans may not realize that in a European degree, that's all you study for three years - it's a very focused, deep dive into the subject rather than the broad spectrum of subjects found in American university courses). Basic was a convenient language for first year math problems. Pascal was a reasonable teaching language. LISP was used to illustrate non-numeric computation (symbolic data manipulation). I taught myself FORTRAN, some PL/1 and pl/p, a variety of assembly languages, Prolog, APL, Algol 68 and several other languages. After leaving university, I got jobs doing C and COBOL programming, then C++, then Java and more recently ColdFusion. In other words, all of the jobs I've had used languages I did not learn at university. Lots of people use languages they did not learn at school. In fact, based on the complaints that ColdFusion is not taught at school, I would deduce that all of you reading this are using ColdFusion despite not having learned it in school! Another very common argument is that ColdFusion needs to be free and/or open source. This argument seems to be based on the logic that PHP and Ruby on Rails etc are popular because they are free and/or open source. A side argument is usually that free/cheap hosting is available for those languages but ColdFusion hosting is more expensive. Let's tackle that first: corfield.org used to be written in PHP. I built the site before I joined Macromedia and before I'd heard of ColdFusion. I didn't know much about hosting companies in the U.S. so I picked a local one (Hurricane Electric) that offered PHP/MySQL hosting for $10/month. After joining Macromedia and starting my blog, my bandwidth grew as my site became more popular and I had to move to a "bigger" plan that cost me $25/month. When asked why my site wasn't written in ColdFusion, I said "Well, ColdFusion hosting is so expensive compared to PHP!" and was deluged with emails from y'all telling me about cheap ColdFusion hosting. So the very community that complains hosting isn't competitive with PHP was telling me to switch from PHP to ColdFusion because hosting is competitive! I switched. I pay $15/month. I have several ColdFusion sites now, mostly on $15/month plans although I also have one on GoDaddy's $8/month plan (you get what you pay for). There are also some free hosting offers out there for ColdFusion. Now, let's go back to the free and/or open source argument. First off, ColdFusion is free for developers. There's a very good free ColdFusion IDE (CFEclipse + Eclipse). What about ASP.NET? How much is Visual Studio? What about PHP? How much is Zend? I know you don't need Zend to develop PHP - I'm just making the point that ColdFusion has both free and paid development tools, just like PHP - and ASP.NET. The next argument I hear is that Adobe needs to provide more ColdFusion evangelists. Whilst we can never have too many evangelists, let's look at the competition: PHP? No paid evangelists. All of the buzz around PHP comes from the PHP community. Ruby on Rails? No paid evangelists. You might argue that ThoughtWorks pay their people to evangelize RoR but, c'mon, that's one small consultancy and they really don't do much evangelism anyway. So, the buzz around RoR? Community! Groovy? Python? No paid evangelists. They're all driven by their communities - and you've all seen how zealous those folks can be about promoting their own technology! Rails Envy, anyone? Then we hear that ColdFusion needs to be marketed and/or taught to non-ColdFusion developers. My gut reaction is just to point people back to the evangelism answer. Where's the marketing of PHP, Ruby on Rails etc coming from? The community. No companies, no budgets, no deep pockets. Just you lot. You love ColdFusion? Tell others about it. You think they'll want to hear it? Well, I don't much want to hear PHP or Ruby either since I "don't like" those languages. However, I'm a "language whore" so I tend to experiment with lots of languages and will use different languages for different tasks to some degree. Even so, the languages you use are more likely determined by your employer than by you. That means you need to evangelize "up" as well as "out". Adobe should "give away" ColdFusion on CDs etc just like they did with Flex Builder! Yup, I totally agree. And Adobe did exactly that! One of ColdFusion's supposed strengths is that it's so simple, non-programmers can use it. As we know, that means that there's a lot of bad ColdFusion code out there. Well, guess what? There's a lot of bad Java code too, and Ruby code and PHP code. What can be done to combat this strike against ColdFusion? Well, it certainly isn't Adobe's fault: they offer training materials to help you improve - as do lots of other companies - and they sponsor conferences where you can go and learn how to be a better programmer. What we can all do to counter the problem of bad code is become better programmers. We need to invest in ourselves, go to conferences, take training courses. Relatively few ColdFusion developers use a framework, relatively few are leveraging the better practices available through ColdFusion Components. We must all do better. Make it your 2008 resolution to attend at least one conference (cf.Objective(), Scotch on the Rocks, CFUNITED all spring to mind). Your employer won't send you? Go on your own - I bet you'll get a better job as a result! And then there's always the generic "ColdFusion needs more marketing" with the expectation that somehow Adobe will produce a television advert for us or billboards at airports. All I can say to that is "Get real!" and ask you when you last say a television advert for PHP or Ruby on Rails or whatever? Microsoft products don't count - Bill has almost unlimited funds and, besides, what does Microsoft advertise on TV? Not ASP.NET, not C#, not Visual Studio .NET. No, Microsoft advertises consumer products. What would you expect Adobe to advertise? Maybe Flash Player? What else? Certainly not ColdFusion. So here's your challenge for 2008: convert a non-CF developer to CF. Just one. C'mon, you have 355 days left. If all of you - all 400,000 of you - convert just one developer this year, we'll double the community. You believe in ColdFusion - make someone else believe in it too!
This is a blog post I started early in 2007 before I left Adobe. I deliberately didn't post it then because people would claim I was just toeing the party line. Well, I don't work for Adobe now. I make my living from their products - and it's a good living - but I promote whatever I want. I use ColdFusion because it's a darned good product - and I'm a C++ and Java developer by trade and training. Consider this a "call to arms" to expand the CF community!