"We’re losing them to PHP, .Net, Python, Ruby, Java, etc. "

"We’re losing them to PHP, .Net, Python, Ruby, Java, etc. "

I'm sure you have heard this quote before, on forums, blogs, twitter, etc... and I wanted to share a bit of my opinion about it. The big players right now are .NET, Java and "PHP". Reason is not because of frameworks, open source, language features, etc...

There has been a huge shift in how technology is adopted in the enterprise, where technology is not the main focus, (remember the IBM ad? "Shirts! We sell Shirts!"). Decisions about technology is no longer being driven from the confines of the IT department but from top management focusing on short and long term strategic goals. Organizations now have CEO’s that are asked to do more with less (that’s why being a software engineer is now a great field to be in!). But the days of building applications to support initiatives from the scratch are now gone!

So here’s the problem in my opinion (here are some examples to make my point, by no means a complete list):

  • .NET has Sharepoint and Microsoft CRM
  • Java has Oracle software, IBM software, SugarCRM, etc...
  • PHP has Drupal

All these technologies have a great number of web based enterprise ready software (both commercial and open source) that can be quickly acquired and implemented and customized directly or via third party plugins/modules (not saying it’s always smooth) that is being marketed deliberately to the top level management. Meanwhile, we in the ColdFusion community debate feverishly over whether or not the server or the IDE should be open source, or what frameworks to use, should we have this feature or that feature... etc.. But we are lacking those products (yes we have Mura and a few others, and I’ll address that in a bit, so please bear with me) that make organizations feel confident that they are not taking a huge gamble starting something from scratch or whether or not it will have a well supported upgrade path.

ColdFusion is an awesome platform, I love it and it has been great for me, my career and my mortage bank! ;)

But unless we stop blaming Adobe for all the problems, and start building applications/products that will matter to organizations and make investing in this platform more attractive and worthwhile to upper management it doesn’t matter how many features you put in ColdFusion and it will remain a niche market. I see MuraCMS as a great catalyst for that change, taking how well Drupal has evolved from a simple CMS to an application stack full of different modules built by the community so business can quickly mashup applications to serve their needs.

PHP's popularity is not because of the features or syntax (who in their right mind want to use object->property instead of object.property!) but hugely because Drupal has been the catalyst, Sharepoint has been a huge catalyst for .NET, Oracle and IBM software are a huge catalyst for Java. We as a community need to stop blaming and making excuses (I’m by no means innocent here!). We need to get more in tune with the business world, find out what they want and need and deliver them. I think ColdFusion’s future is not as a server but as a platform full of customizable COTS products that helps business grow! Folks want to talk open source, ok. let’s do it.. but let’s focus on the great thing about open source (which is not about free software!) and let’s start as a community building these products (CRMs, CMSs, ERPs) that can be customized by ColdFusion developers and earn the market share back.

I’m curious what you guys think, feel free to bash me (or more preferrably my thoughts) if I’m wrong here (as my friends say, I have thick skin!)

I'd argue that frameworks do matter. CF loses quite a few developers to Rails.
# Posted By Nic Tunney | 3/4/11 3:10 PM

I agree that frameworks DO matter and WILL help, but we need to look at the big picture here. It's about Shirts! ;)
# Posted By phill.nacelli | 3/4/11 3:15 PM
This really makes a lot of sense to me. It is so hard to justify building sites from scratch when such robust tools like Drupal exist and have such a large developer base that is familiar and able to support them. Where I work we have a large site that has been developed over many years but is outside of any framework or cms. We want to leverage a cms and the head start it will give us, so we are looking into moving the site into Mura to gain an edge as well as leverage the strong development already behind it. If we did not already have so much existing ColdFusion code for supporting our business functions, I feel like I would be crazy to not consider a move to Drupal or Joomla due to all of the functionality and available resources.

I could not agree more that it is the lack of existing products that is holding ColdFusion back when you compare it to its competitors. The community is great for developers so I hope that some of these products you are mentioning come to be!
# Posted By John Sieber | 3/4/11 3:19 PM
We talked about this quite a bit at the OpenCF Summit. Matt's keynote mentioned that killer apps are key for CFML to grow. He stressed going out and creating next killer CF app or installable solution rather then cranking out another CF wrapper for a new website's API.
# Posted By Kurt Wiersma | 3/4/11 4:09 PM
Most Drupal users will tell you you don't need to know PHP outside of initial setup. In fact, I know people that have built careers on building, configuring, and standing up sites, both corporate and smaller, with CMS tools without knowing much, if any, PHP. Same thing with Sharepoint and .NET. The simple fact of the matter is that there aren't any CF-enterprise ready applications that when someone comes to me and talks workflow, I can't easily say here's an app or the want to manage their web content, well here's this CMS (I do believe Mura is getting close, FarCry still has way too much coding knowledge required).
# Posted By Phil Duba | 3/4/11 4:11 PM
At the risk of hubris, I am actually *trying* to attack this very problem. I recently released a beta of a new CF framework called Neptune. That, by itself, won't help. Here is what *might*:

The framework allows programs to be installed by dropping the folder in and browsing to it. I plan to release at least a dozen (hopefully) Jedi-quality programs over the course of the next several months - all free and open source. This already includes a shopping cart and a CMS will be among the programs released in the near future.

It may not succeed in luring other CF developers, let alone, lure others to CF. But that is the goal. I'd love help!
# Posted By Steve Bryant | 3/4/11 5:11 PM
Well said Phil and I whole heartedly agree. As others have already indicated we miss strong & solid CF based enterprise applications. In corporate, most times it is all about perception. Technology buzz words like Business Intelligence, Process Modeling etc are really getting steam - based on my personal experience - and most products in that market space are either Java or .Net.
# Posted By Qasim Rasheed | 3/4/11 5:12 PM
Test - my main comment post causes the blog to time out / http 500. trying a one liner
# Posted By Tariq Ahmed | 3/5/11 1:57 AM
Slightly longer snippet:
Where ColdFusion is, is the natural result of *many years* in the making. (vs. the premise that recently CEOs have been asked to do more with less).
Part of technology strategy is evaluating what your organizations strengths and weaknesses are, local talent pool, external talent pool, determining what's missing and what would be needed.
# Posted By Tariq Ahmed | 3/5/11 1:58 AM
So if one were to do a comprehensive technology strategy, factoring in total cost of ownership, cost benefit analysis, resource availability, etc... it'll take a wee bit more than an open source CMS to make a difference.
# Posted By Tariq Ahmed | 3/5/11 1:59 AM
Well, I do not really understand it all. We do have cfwheels and bigger frameworks. CFWheels does most for me, but if you need something bigger you go Mach-II or something like that.
The reason to go php or ASP.NET is because of the mainstream language for any app in the PC business: C (# / ++). It's just that you need to learn C and you can do either asp or php with it afterwards, ColdFusion is a language of it's own, so is rails or java.

For the rest it has more to do with that ASP was and is always for free and everybody has windows. And everybody who doesn't have windows, has Linux and therefore PHP.

Luckily there is now also an alternative to ColdFusion server, Railo.
So I think the small market of ColdFusion is becoming gradually bigger now, at least I have seen more and more ColdFusion. Also with ColdFusion 9 more websites and applications have been running with it.

It's really a matter of choice and preference. And I prefer ColdFusion.
# Posted By Steven | 3/5/11 4:29 AM
I would suggest that you look at Joomla CMS as a good example of the ecosystem that was built around an open source, PHP-based CMS. About 2.7% of the sites on the net are run using Joomla. There's a huge community, and the folks in the community are VERY involved. Every year they have a "Joomla Day" where people around the world get together and have hack sessions to implement bug fixes and new features. If you go to the bookstore and look in the Computer section, you'll usually find like 15 titles with "Joomla".

The downside is that it can be really hard to get useful answers sometimes in the support section at the Joomla site. And some plugins aren't that great. (To be sure, the Joomla organization doesn't have control over the third party developers.) And there are some serious security issues due to the fact it's commonly known as to where the administrator section can be located. One workaround involves some kind of script to obfuscate the admin path so spambots can't easily log in, change the admin password, and create fake accounts in the forum section (like Kunecta).

If a CF killer application can be created, and gotten to the point where one can find at least 3 books about it in the bookstore, I'd call that a success.
# Posted By Lola LB | 3/5/11 5:50 AM
Requires PHP, a webserver and a database
Some people dono coldfusion doen't mean you have to code in tag based.You can also code in cfscript..yeiks..
I do php because of market and flexibilty.I do .Net because customer want security....(** still i can crack any code)
# Posted By hafizan | 3/6/11 1:38 AM

I respect your right to have an opinion, but let me ask you a question. When have YOU (not your company, your client) had to pay for any platform out of your own pocket?

This is not a conversation on should Adobe ColdFusion be free or not, I never had a problem getting clients on board with acquiring, upgrading or using ColdFusion (most are even on Enterprise licenses).

My point is that organizations pick technology, not because of cost server licensing, but total cost of ownership (licensing, hosting, maintenance, acquisition and customization). Just because you pay for a server license, doesn't mean your total cost of ownership will be higher because you didn't go the Free OSS route.

One more thing, as I said earlier, I respect your right for your opinion and I don't believe in censorship, I welcome you to participate in this discussion from your point of view. But I ask you to please keep the comments mature and language such as "and you guys are suckers" is only not necessary but will be moderated.

Thanks for visiting my blog and being a part of the discussion.

Best Regards,
# Posted By phill.nacelli | 3/6/11 6:57 PM
I don't think you can pin down the cause of CF "loses" to just Software features. Granted it is a contributing factor in some areas (Microsoft for example have built their entire business model around rewarding loyalty to their stack with interoperability of applications, development tools and more) but in others I think it's just a happy coincidence.

The whole PHP argument for instance - CF loses to PHP because of market penetration, not apps per se. PHP is everywhere and Drupal, Joomla, WordPress et al therefore can be run everywhere without any real need for understanding the language or even the deployment of the stack.

RoR wins out because it's fast to develop in and has a small (relative to PHP) community which are quick to offer support. That said, CF is playing catchup in this battle with Wheels, ColdBox and other emerging frameworks.

Java wins because it's seen to be the non MS enterprise language (and because so many comp sci grads learn it and get jobs working in it)

MS wins because no language on the planet can offer the kind of tie in between products that MS offer. SharePoint being the ultimate example of this - it ties .NET, Exchange, MS Office, AD and more together in a fantastic product ... but no other language has the range of supporting apps to make this work as well.

I agree that some great apps for CF will help raise the profile and, some of the apps that are emerging, are already starting to do this but at the end of the day CF needs to play to its strengths - Rapid development, multi platform support, underlying Java support & integration tools that are relevant to the enterprise.

This, combined with a friendly community, will ensure the profile of the language continues to grow and growth means more devs, and more apps & libs that can be used by new devs to build great tools!
# Posted By Rob Dudley | 3/7/11 4:52 AM
@Rob Dudley

Hi Rob. You mentioned the following "CF loses to PHP because of market penetration", which is true, but don't you think that PHP gained that market through projects such as Drupal, Joomla, and SugarCRM? Same for .NET with Sharepoint?

In your opinion, how do you gain market penetration? thanks for jumping in the discussion.

# Posted By phill.nacelli | 3/7/11 7:11 AM

Kind of ... it's a bit chicken and egg but I think PHP owes its popularity to being installed on most shared hosting packages and working in that environment pretty well (when compared to say Python or even RoR where the host needs to specify support or offer a shell to configure the packages).

Yes, PHP wouldn't be as popular without the software but at the same time the software is popular and therefore well developed because of the accessibility, low cost and ease of getting on the platform - chicken & egg but with a definite bias towards the language rather than the apps.

I think (and I'm not an expert by any stretch) that CF fits well into the PHP space in terms of shared hosting deployment but obv. the cost issue raises its head at this point. Whilst I know, and you know that cost is not a massive impact on ColdFusion hosting (look at the HostMedia deals for cost effective hosting if you need any further convincing) there isn't the same proliferation of $5 per month packages when compared to PHP.

Microsoft have a different advantage, I worked with SharePoint for many years from v1 - v3 and the big winner was re-use of existing skills and software. MS Office is still present on the majority of computers and the integration provided by the SharePoint family is so tight that it requires very little additional learning for the users so it's an easy sell into companies that have *already gone with MS* for their internal solutions. Bearing this in mind it could be argued that MS don't achieve market penetration, they simply lever what they already have.

CF can't really compete in this space (although Adobe do have resources and market penetration that they could make more of in Flash Video and PDF / Acrobat based solutions)

The third grouping are the RoR Node.js projects which win because they're a) new b) make something hard really easy or c) are technically *cool*

I think CF has a place in this space as well but the heritage doesn't do the language any favours. CF has a reputation that is completely undeserved but makes it difficult to convince others that it actually is a great platform to work in.

For CF to gain market share Adobe needs to continue doing what they're doing in terms of new features and RAD additions to the language. They could work a little more closely with the community in terms of CFML standards etc. but that may be something of a pipe dream and I'm certainly not naive enough to think of CF as anything other than a commercial offering for Adobe.

The community should absolutely be looking to increase the number of OSS projects and to promote those that already exist. We don't need WordPress in CFML but I agree that a good CMS (we already have 3 that I can think of) a good CRM (not sure about this) and a gernally extended library of contributed code and apps make adoption that much simpler for new comers.

I hope that clears up my original comment. I should add, of course, that all of the above is nothing more than my personal opinion and that no detriment to any specific language or app is intended :)
# Posted By Rob Dudley | 3/7/11 9:02 AM
Mura http://www.getmura.com/ is a VERY impressive enterprise ready piece of software. I'd put it head to head against ANY CMS out there. Easy to install, easy to extend, easy to customize, easy to skin and Blue River the company is very easy to get support from.
# Posted By John Allen | 3/7/11 9:04 AM
I'll blame it to CF hosting availability...
# Posted By Henry Ho | 3/15/11 7:30 AM
BlogCFC was created by Raymond Camden. This blog is running version 5.003. Powered by ColdFusion Server v8,0,1,195765.