Stop Worrying About ColdFusion Already!
What is wrong with the ColdFusion community being relatively small anyway? Personally, I quite like that aspect. I like that I can go to cf.Objective() or CFUnited and not have to wade through thousands of folks I don't know in a community so large that it is both unapproachable and anonymous. I like that I know so many of the names of other developers in our community and that I have had conversations with so many of them over the years. The relative smallness of the ColdFusion community is part of what makes it appealing and approachable. In my experience in various states in the USA, there is generally enough work for a CF developer - actually, in Boston, in a down economy there is no shortage of CF positions right now. While this could always be better, I don't think this is a major concern, stateside anyway. In fact, I think if we accept the size of our community as one of our strengths and embrace it we might potentially make it more inviting to other developers because we might not feel the need to come out swinging every time someone knocks the language or community.
The point of this rant/ramble is perhaps to refocus the discussion on embracing our strengths as a community: 1) ColdFusion is an easy-to-learn, flexible yet powerful application server; 2) the ColdFusion community may be small but is vibrant, active and approachable; 3) ColdFusion's place in Adobe seems safe and stable in part because it is a mature and profitable niche; 4) ColdFusion job availability is good relative to the size of the community; 5) the ColdFusion community has begun to embrace an openness and sharing that wasn't there even a few years ago which can be seen in the rapid growth of ColdFusion-focused blogs and open source projects in recent years. The last point I think is key. Rather than wasting any energy defending ColdFusion to folks who aren't going to be convinced, write some articles, create an open-source project or generally share your knowledge (if you aren't already) - this will do more to help ColdFusion than any argument on some minor mailing list.
Here's what causes me to be one of the people that doesn't believe ColdFusion is fine.
1. I have a lot of web developer friends that like to ask me why I prefer CF over their more popular language of choice.
2. At my job, our managers agree with #1 and are motivated to convert everything to .Net (so far we have won that argument, but how long will that last?)
3. I see companies like Apple who fell from a dominant market position to about 3% of the market share (in operating systems), but are now making a strong come back (they're up to 16% according to one report, and that number keeps growing).
Given the above three facts, I am a little worried about CF /personally/, because I fear that I might NOT be able to code with it in the future, regardless of how much I love CF. And given #3, I know that it's possible for ColdFusion to make a comeback. Will it happen? Time will tell, but to be honest, I haven't seen any dramatic changes from Adobe in this respect.
If you talk to any good marketer, you can NOT win marketshare with innovation alone. You have to win mindshare and loyalty. So far Adobe seems to go with the status quo when it comes to ColdFusion. Running ads in magizines and websites is NOT enough. For CF to win back marketshare, they have to pour money into their sales force, as well as customer service. It's my understanding that Adobe has 2-4 people dedicated to selling ColdFusion. How in the h$#% is that going to compete with the likes of Microsoft?
All that said, I do agree with you that ColdFusion will not die, and can always live on as a small niche product. But personally, I am not satisfied with a niche product. And I am not lying when I say that I have been taking a serious look at PHP in recent months.
I do agree ColdFusion is getting better, http://www.tiobe.com/index.php/content/paperinfo/tpci/index.html
ColdFusion is on 20th postion compare to last year which was 31 position.
Open-Source really make difference, Check Ruby position.
Why Ruby Hype....?
However, if someone else uses what I use, I have no problem helping them out and improving their skills. I realised a long time ago that converting people to a new tool is a very hard thing to do.
OK, so it might be that they aren't aware of CF, and go for PHP, and yes, there is work that can be done by Adobe there - but as far as I am concerned, I am happy with CF and look forward to CF9.
So let's say Adobe do decide to kill off ColdFusion. Does it really matter? Are we incapable of moving elsewhere? Is there anything preventing us from using Bluedragon or Railo instead? Are we unable to learn new skills? We are all web developers - not just ColdFusion developers.
OK, it would be nice to be using the most popular platform, and having lots of jobs to choose from, but I also love the way that the CF community is generally very skilled, and not so susceptible to hype - unlike some others.
These arguments, give CF bad press as it looks from the outside that the community is scared of an imminent demise of the platform - so we can we put this one to bed now?
This is also why I advocate learning "complimentary" technologies. Instead of going off to do PHP, learn Flex or AIR...or Java.
@sana - Ruby is the house that Rails built. Without Rails, Ruby is still sitting in the shadows IMO. This is why I am saying we would do better promoting CF by creating an open-source CFML project than getting caught up in another CF is dead debate.
@Jim - open-source BD is interesting but I just don't personally see it as a game changer as many seem to. I would be happy to be proven wrong however.
@Neil - Agreed on your points.
To be honest I really don't mind what other people talk about CF. There is one thing which is bit strange, price-tag three license £16000 (UK). for a small size business its bit difficult to offer a CF solution.
open-source project (cool)!!! I think nearly 40,000 thousand CF developers but only few who like to make some contribution.
Sure, there will always be people in other camps that will try to convince me to use another language. But what if it's my Boss? What if I'm told to learn .Net, or hit the road? I'd rather learn PHP and swith jobs (plenty of PHP jobs around...). As far as finding another CF job, it took me 4 months to land one the last time I was out of work (CF jobs are few and far between in Boise). That's not fun.
As far as Flex/Air/Java, frankly I'm not interested. I've tried to learn Java many times, and it's too restrictive for my taste. And I haven't bought into the hype surounding Flex/Air...I don't like the idea of using Flash as an application platform, and I'm not interested in desktop development...been there, done that. So I'd be much happier with PHP if I could stay with CF.
http://www.indeed.com/jobs?q=coldfusion+or+%22cold+fusion%22&l=
http://www.indeed.com/jobs?q=php&l=&sort=date
http://www.indeed.com/jobs?q=%22c%23%22&l=&sort=date
http://www.indeed.com/jobs?q=j2ee&l=&sort=date
2. We can't create killer open source projects because ColdFusion is not OpenSource and it is not free. We can't compete against PHP or .net. A PHP developer can build a sofwtare that can be installed in every platform for free. PhpBB, MediaWiki, SugarCRM, Joomla etc etc are used in the enterprise and small companies because they are free. The companies don't risk anything to try these softwares.
With ColdFusion we can't develop OEM applications.
@Marc - Might I suggest that if OEM apps are important to you, then you are most likely needing to use a tool other than ColdFusion. CF is not a one size fits all answer to every problem - there are other tools out there that do certain things a lot better (PHP for OEM stuff). There is no silver bullet.
We never signed a contract stopping us from using anything else did we?
@Brian, the impact of OpenBlueDragon is yet to be seen, but I do have high hopes. Not on the enterprise level, but on the simple web-site level. If CF shared / VPS hosting starts competing on price, I think "shoe-string budget" places would go for it.
And it can only help the CF open source projects. If someone already has a brochure-ware site and needs to add a forum, install Open-Source BD, MySQL and Ray's Galleon project and boom, they have what they want.
@Jake: If it's your boss that's telling you to learn another language, then do it, it is probably in your best interest. Also, what is so wrong with Java? It is still one of the most popular and most widely used languages around today next to C. And Brian is right, learn this complimentary language to ColdFusion. Not only does it teach a lot of really good programming concepts, but it's pairing with ColdFusion also proves worthwhile when hooking up directly into Java classes. Please respond with what you find restrictive about the language? What language are you comparing it to. Couldn't be C, since Java is quite a bit more powerful than C with it's native OO structure, references, and powerful garbage collection.
Furthermore, as a software developer, how can you not get excited about technologies like Flex and AIR that are finally harnessing the true power of the Internet. Flash IS a great application platform due to the ever-increasing and more powerful than ever ActionScript 3 language. Flash 9 is installed on over 95% of the world's personal computers. That's really good exposure to your online application. Since you are not even interested in desktop apps, that is what you should be most concerned about. Not to mention the consistent feel of the application across multiple browsers, the production efficiency is unprecedented.
Furthermore, your statement about
What I meant by java being restrictive is that it is STRICT, and I am comparing it to ColdFusion which is much more relaxed. In Java you have to spend many hours bowing to the alter of the compiler, fixing type issues, case sensistivity issues, and other time wasting bugs. I'd rather finish my project in about 1/3 of the time and move on with life.
As far as Flex...are you aware that many web users outright block Flash? Sure, they have it installed, but their browser plugin blocks in by default, and then they whitelist sites as needed. These kind of users will be hard to win over, as they hate Flash so much that they'll generally leave your site before running your flash app, unless there's an BIG desire to see your content.
And as far as your 95% statistic...Adobe is the company that paid for the survey (assuming you are quoting the penetration survey on adobe.com), and we all know that statistics that come from the source of the survey aren't not generally trustworthy. For example, Microsoft used to tout surveys that "proved" that Windows is more reliable than Linux...but again, Microsoft is the company that funded those surveys.
But for argument's sake...let's say Flash IS on 95% of users desktops. Why would I ask that last 5% to install a plugin that they've avoided so far, for a good reason in their mind, when I can write a plain HTML page that WILL work in their browser?
Finally, I have one more problem with Flash. Many corporations remove Flash from their employee's PCs. Don't ask me why (because I think it's stupid), but it's true. My company has NOT removed Flash, yet. But they have removed Firefox, QuickTime, and some other common desktop apps that they deemed "non-business related". So I'm expecting them to remove Flash before too long...
As far as this quote: "If it's your boss that's telling you to learn another language, then do it, it is probably in your best interest." My managers were investigating a move to .Net last year, but we shot that down. But their final parting words were, "We'll stay with ColdFusion...for now." And frankly, if they ask me to learn .Net, I'll find another job. Life it too short to just give in and live through that kind of torture. I don't consider hating my job "in my best interest."
I agree with the fact that there are many users who do not have the Flash plugin installed and probably a certain percentage that don't/need want it. Again, my point was that the 95% that does have it, is a good size audience. If you are that concerned with the reaching the remaining 5% of users who do not have it, develop a less-sophisticated and harder to use pure HTML site. Pure HTML? Yeah, because if you used JavaScript (including AJAX) the same argument could go that you used for Flash; many people have JavaScript turned off and it can also be compromised easily these days with tools like Firebug.
Clearly, your application development focus is not in the RIA arena, so discussing Flash as a medium for delivering such content is unnecessary.
Finally, my point about switching to a new language as per your supervisor's recommendation is to be taken with a grain of salt (as with most comments on the Internet). It is certainly not something to get all riled up about. Think of it this way, you've been working with ColdFusion at your company for a certain amount of years and after some R&D, they decide to go .NET/PHP. As long as you are flexible and have a desire to learn new things, educating yourself on other dynamic lanugages like .NET/PHP is a good thing because that improves your marketability and overall well-roundness as a developer.
Please do not take my comments personally, Jake. Public comments on the web, unless vulgar and self-diminishing, are directed to and benefit the community as a whole.
No offense taken, and none intended. :) But I have to counter this comment: "Clearly, your application development focus is not in the RIA arena, so discussing Flash as a medium for delivering such content is unnecessary." I am actually squarely in the RIA arena, but I prefer to use DHTML instead of Flash. Which goes back to your point about JavaScript, which is a valid point. However, when I developed cfquickdocs.com, I was able to get everything working with IE 6/7, Firefox, Opera, and Safari. So I'm pretty happy with my coverage. I know you're probably thinking, "But if you develop for Flash, you don't have to worry about so much browser testing!" That might be true, but as I stated before, I don't like the idea of Flash as an application platform. Movies, games, ads, etc. are fine. But not an entire application. If you like it, have fun! I'm not going to try to convince anybody to stop using Flex, it's just not for me (and the reason I originally started arguing against Flash was because you suggested I should learn it as a complementary language).
@Brian,
I don't really believe I am painting myself into a corner. I've stated multiple times that I wouldn't mind learning PHP. And I strongly disagree with you that there is no future in PHP. In fact, I know a LOT more PHP developers in my neck of the woods than I do CF developers. And in fact, many of those people even use PHP with Flex. And yes, some of those guys try to get me on the Flex bandwagon as well... ;)
Do I think ColdFusion will die? I've stated before that I don't believe so. I just feel that PHP is a much more marketable language, as far as careers go, and IF I am forced to leave ColdFusion at some point down the road, PHP is a good backup, in my opinion.
Sorry if I'm a bit overbearing in my arguments...I'm not upset, but on occasion I become a little passionate in my arguments.
<Jake offers a friendly handshake>
PHP: 2539
Flex: 1032
ColdFusion: 506
You may not like the paths open to you, but it doesn't serve you as an individual much good to stand-still while pointing out the flaws in those paths. At this point you've stated that you don't want to move to PHP, you don't think you can stay in CF, you don't want to do Flex and you don't want to learn Java... Perhaps it is time you decide what you *do* want to do and move forward.
Hopefully you take that as constructive advice it is intended as and not as criticism.
Sprout is horribly broken on Firefox and Linux. It works but the layout is all wonky. My kids are upset :)
I want to clarify that I DO have a path, or rather a plan for my future. My preference is that I can stay with CFML as long as possible, wether that be with Adobe CF, or with Open BD only time will tell. But to shore up my possibilities, I am working with a friend on a PHP project, which I hope will get me up to speed on PHP. This PHP stuff is on the side, I still have a stable job coding CF. I'm just not sure how many years the CF stuff will last at my current job, and as I mentioned before, CF work is very hard to come by in Boise Idaho. This last fact is the basis for most of my comments above, and is why I'm looking at PHP. So I am not really standing still. But thanks for the advice. :)
http://cfformprotect.riaforge.org/
I think (and I am a little biased) that this is a fairly advanced way to stop spam, in a user friendly manner. I have received a number of patches from other developers, and I have plans to add more features to harden the spam protection in the near future.
The only problem is that my project requires a CFML server, natrually. However, I have had a few people ask me if my project could be ported to another language, which of course it could. But my point is that I have had interest from outside of the CF world, which is a sign that people may choose to use a CFML server so that they can use CFFormProtect.
"However, I have had a few people ask me if my project could be ported to another language, which of course it could. But my point is that I have had interest from outside of the CF world, which is a sign that people may choose to use a CFML server"
Just b/c people are asking if it can be ported to another language, that means they may choose CFML? Come on, dude that's a huge leap by anyone's standards. Make a good argument and at least try to be rational in that argument. You're making a huge, unsubstantiated, assumption and trying to pass it off as reason.
Check out this *ridiculously asinine response* to a n00b asking about ColdSpring.
http://groups.google.com/group/coldspring-users/browse_thread/thread/f34ba3d6e7906a89
I've seen a lot of asinine commentary in my day, but this one is one of the worst.
..and yet we sit around shoegazing, wondering why CF isn't more widely adopted?
While Rolo's comment may have initially come across as offensive, what he said was true and I don't really meant much by it. He even later apologizes in thread which I thought we had lost him by that point.
Nonetheless, a message to the CFers. Please be nice to our potential newbie developer's. Especially if he is checking out a framework. You should encourage folks like that, as they are the ones who make it stronger.
And Dan DID apologize later in that thread and hopefully all is well in the ColdSpring community...

