So a reader of mine pinged me today with this question:
Hi Ray, I hope that things are good with you!Do you have any stats on the number of articles posted on CFBloggers & number of views over the years?
I've been doing CF for 15 years, for places like Cornell Med Ctr in NYC, The Mayo Clinic in Rochester, Mn & many other Fortune 500 companies.
Right now the State of (Top Secret) is looking to move to Grails or Rails from CF.
Is the CF gravy train coming to a halt and how quickly?
I can share information about CFBloggers easily enough. To be fair, I don't think web traffic is a good metric for this site. Since it is an aggregator, I'd think most folks would use the RSS feed as a means to monitor the site. Also, everything is Tweeted so I'm thinking a lot of folks may skip hitting the page directly. Lastly, when I move the site from ColdFusion to Node I decided to stop proxying the hits. What I mean is - previously - when you clicked a link from CFB you would hit the site first, I'd log it, and then I'd forward you to the external blog entry. Now I just send you straight there.
Ok, so with that in mind, here is a chart showing page views, per month, since the site went live in 2007.
As you can see, there is a great jump in 2009, one I wish I could explain. I thought perhaps it was adding Twitter support, but that was done in July of 2008, a good year before the jump.
As you can see though it has slowly declined over time. I'm not sure that's necessarily indicative of ColdFusion but blogging in general. I don't have research to back this up, but it seems like more and more people are abandoning blogs versus starting new ones. My own traffic has gone up and down over the years, but is mostly up though. If you're curious, here is the history of my blog in page views.
So yeah, let's hit that last statement, the one that isn't controversial at all.
Is the CF gravy train coming to a halt and how quickly?
Let me begin by saying that I am 100% completely the wrong person to try to answer this. I'm not wise about the industry. I know crap about business. I like to write code, write about code, and talk about code. What follows are my personal observations and nothing more.
More and more the server seems to be less important than it used to be. I've been learning about Node.js, and I think it is cool. (It has been a while since I used Groovy but it was cool too!) But I find myself doing much of the same stuff I did in ColdFusion. Listen for requests, hit a database, and output crap. ColdFusion was awesome because it made that incredibly easy. It still does! But the issue is that it isn't the only thing that makes it incredibly easy. Looking at the landscape of server technologies out there, I still think ColdFusion is the most approachable technology for non-computer professionals. (As an aside, some people may refer to these folks as "Five Taggers", but I just look at them as programmers in training, or, people who need to get shit done. They don't overuse pound signs or skip using frameworks because they are stupid - they're just human and may not have the time to learn their craft like the rest of us. I wish some folks in our community would have a bit more patience and understanding.) However, outside of this demographic I don't know how much "ease of use" ColdFusion offers over other solutions. Groovy is a good example of that. Again, I'm years rusty with it, but it made Java coding a heck of lot easier from what I remember. By the same token, if you already know JavaScript, then learning Node means you've already got a huge leg up on beginning.
Keeping in mind my focus for the past few years has been on client-side and mobile, I'm not seeing a lot of new people using ColdFusion. The ColdFusion questions I get tend to be from folks I already know, or from folks who are maintaining existing code. I don't have access to the number of developers using ColdFusion (Adobe would have that, and obviously it would only cover their customers, not necessarily people using Railo or Lucee), but I'd assume that number is growing well.
Growing the developer base has been discussed by a lot of people far smarter than I. I do not know what it will take to do it. I think Lucee is really exciting and could possibly attract folks, but again, this really isn't my area.
I think ColdFusion will continue for a few years, I just don't think it will grow any more. I think we'll see a ColdFusion 12, but after that, I'm not sure. I'd expect Adobe to can it the minute it becomes unprofitable, which to be fair, is probably totally expected for a business. I do want to see ColdFusion 13 just because I think it would be a cool number to get too. ;)
Myself, and others in the ColdFusion community, have been saying for nearly ten years now, that if you only know ColdFusion, you are making a huge mistake. That applies to any skill. As a web developer, you need to have a good set of skills in your wheelhouse. You certainly don't need to know everything (yeah, good luck with even attempting that), but having multiple complementary skill sets is a must.
Archived Comments
Interesting numbers. I used to frequent the site a lot when I started blogging. I rarely hit it now because I eventually joined Twitter a couple years ago and I just rely on the tweet notifications of new blog entries.
As far as jobs go, another data point:
http://www.indeed.com/jobtr...
But as Ray mentions - relying on only one core language is career suicide as a developer.
The CF market has matured and is declining. Although there are many companies that have invested millions into their application, and it's not something they'll get rid of any time soon. But it's a self-fueling problem in that as the # of jobs goes down, the talent pool naturally shrinks as people invest their learning elsewhere, which because it's hard to find people causes companies to work on migrations to other technologies thus further shrinking the # of jobs.
Being a JavaScript master is the strategy I'd recommend to a CF'er. It's something as a ColdFusion developer you can naturally add to your CF apps, as part of your regular job. While at the same time JavaScript is the #1 most sought after skill at the moment.
Try to only use CF as a back-end REST API, while building JavaScript heavy UIs using something like Angular, Ember, Ionic, etc... and you'll be in really good business (could even then swap out the CF part later as your JS app won't care as long as the interface remains the same).
I never visit CFBloggers anymore, although I do use an aggregator to get the information. As far as CFML decline, while I don't have numbers, I don't think this is strictly limited to CFML, but it does seem like CFML is declining fast. The way I understand the situation is that CF, PHP, ASP.NET and the like are currently considered 'The old way of doing web stuff.' I am playing catch up on 'the new way,' as fast as I can in my spare time.
I think one other thing to consider is the state of application development, in general, and the way it has changed in the last few years. I feel like it used to be that you could just have ColdFusion and you could built a rock-solid application, even an enterprise one.
But, the expectation of applications has started to shift in huge ways. With single-page apps, mobile apps, WebSockets, image processing, telephony integration, etc., I feel like no "one" technology is sufficient any more. So, while we build stuff in ColdFusion, we also have stuff - in the same application ecosystem - written in other languages like Node.js.
For what it does well, I think ColdFusion is amazing. But, trying to get it to everything is painful, by no fault of its own. Things are just evolving. So, maybe a bit off-topic.
At my old job, we used to print paper. The way that the paper reports were replaced was not by developing new systems, but to simply "print" the paper reports to pdf files. This was a shop that was still using COBOL in the year 2000. So languages can hang around for a while. With the Internet though, I think the speed at which a technology can be replaced is about as fast as Brian Williams being replaced on NBC Nightly News. I hope that helps your Google juice, me mentioning Brian Williams. Anyway, for us ColdFusion/Railo/Lucee developers (I had never heard of Lucee until about a week ago), I would LOVE IT if you could put a blog post together on how to migrate from cf to Node.js. Maybe do a standard SELECT * followed by an output loop.
If Cold Fusion does hit 13 and then dies out, It would be great if Node, Rails etc started skipping 13 due to 'Unlucky version 13'. CF would live on forever in memory :)
When did you switch to Node.js? Do you like it better than Angular?
Node.js and Angular are very different things. :) Node.js lets me write back end applications using JavaScript. It is a gross simplification, but imagine replacing ColdFusion code with JS code on the server.
AngularJS is a way to architecture a client-side application. You can think of it like Framework1/Model-Glue for CF.