Monday, November 28, 2005

ColdFusion: #19 With a Bullet

As most of you already saw posted elsewhere, ColdFusion recently took a bit of a jump up to #19 on TIOBE's index of most popular programming languages. I hadn't looked at this index in a while but it's interesting to see what CF is both above and below, and it's also nice to see the nine green up arrows next to it on the chart.

What's more interesting to me is what this really means. Yes, many have criticized the TIOBE methodology (usually when it doesn't work in their favor), so let's not focus on the specifics. Instead, let's take a look at the bigger picture, where things are going, what I think are some important convergences happening now and likely to happen in the future, and how CF fits into all of this.

First, if you haven't seen them already you need to check out Sean Corfield's blog and the entry by Hal Helms to which Sean refers. Read these first and let them sink in ...

Now that you're back, let's put this into perspective. I think the major thing Hal points out that's dead on is that there's a shift happening, and it goes far beyond just Ruby. In my mind this shift started quite a while back when people started questioning the complexity of EJB and opting to use POJOs because they're far simpler and they get the job done. Why make things more complex than they need to be?

Even further back there was an initiative in the Java Community Process (JCP) to allow scripting languages to tie in with Java. (Sound familiar?) Again this is in response to unnecessary complexity with the 800 pound gorilla languages like Java. Java's great, I love it, but for a lot of purposes it's just too much.

Enter Ruby, which regardless of what you think about it (jury's still out for me personally) is gaining a lot of attention for these exact reasons. Ruby and specifically the Rails framework takes a great deal of the gruntwork out of web development and as Hal points out, seems to revel in its perceived inferiorities when compared with something like Java. I can't find the study off-hand, but about 9 months ago a study came out outlining the huge productivity gains many companies are seeing when using one of the "P" languages (typically PHP, Python, or perhaps Perl to a lesser extent these days) as opposed to Java. It took businesses a while to get it but the tide is starting to turn, and Ruby is in the right place at the right time.

The really interesting thing to me about Ruby ever since I first looked into it is how gosh darn similar it is in concept to CF. Huge libraries of common functions to make life easier for the developer, and enough power to do fantastic things without introducing unnecessary complexities. The days of wearing a Java badge of pride are starting to fade and companies are more interested in Getting Things Done(tm) than they are in telling their buddies on the golf course that they're using EJBs.

The other thing that's going on in CF these days is an explosion of great tools that allow CF to rival many of the other web development technologies out there. Things like Arf!, Mach-II, ColdSpring, and the numerous other development and ORM-type frameworks sprouting up these days are great, and they all have their "CF-ness" in common, meaning give CFers the power of these tools without unnecessary complexity, all in the name of getting stuff done faster and better than with any other technology.

Add to all of this ColdFusion 7 itself, which is in my humble opinion light-years ahead of pretty much any other technology out there. At this point I feel like I've still only begun to scratch the surface of what CF 7 can do, and when you combine the great features of the product itself with the extremely powerful tools becoming available, not to mention CF's long tradition of keeping things simple and keeping developers highly productive, you can start to see how bright the future is looking.

I'm sure I'll have more to say on this in the near future, and I'd love to hear your thoughts as well. I and most other CFers have been fighting the good fight for a long time now and I think finally the IT community as a whole is starting to see the value of what CF has been about at its heart since the beginning. The real bonus is going to be when people see not only that CF solves many of the same problems Ruby purports to (Ruby being the "new hotness" at the moment), but that CF has been around for a very long time, is an extremely mature, feature-rich product, and that it ties in so insanely well with Java so you can use that bit of added power when you need it.

Keep up the great work CFers and keep on keepin' on. Things are only going to get better from here on out!


This is good discussion of cold fusion and good comparision wtih ruby.

We teach it easier to train CF programmers than in java or c++ or anything else, being it is a very simple language that amateurs can learn and use.

Pleas continue to be writing about the CF, it is good and easy to use for basics. very powerful too for web use.

One of the things that gives other languages the edge is that they are taught at the college-level. My school was heavy into both Java and Microsoft ASP at the time I attended. When I contacted Macromedia, they had little or no support to interface with colleges. Both SUN and Microsoft do that. What we are talking about, changes in the industry and so on, needs to reflect at schools as well, and I hope Adobe will do a better job at that.

I agree. I'm a student myself and it's all Java and Visual C++ around here.

You get to talking about tag-based languages here and everyone kind of goes limp and starts mumbling at PHP.

This is unfortunate, I think ColdFusion is totally awesome for web development, and with the way things are going, I bet you'll find that increasingly there'll be less and less desktop application development, and more and more web/tag programming.

In another thread, someone was getting into a flamewar about macintoshes vs. wintel systems, and I think it's safe to say that there's an analogy to be drawn between Apple's innovations 20 years ago and CF's innovations today.

CF may not get credit for a lot of the great things it does, but people are silently observing, and copying...

Yep, that's a great point. I use a macintosh all the time, and get ALL kinds of crap for it, but you know? It's a far superior system to windows, and as time goes on, windows gets more and more mac-like.

I predict .NET will get more and more CF-like as time goes on. Heck, once M$ buys adobe, it'll all be over then ;)

I have a question. Do you think Macromedia should embed a ColdFusion engine in the Shockwave/Flash players so the integration with CF and Flash would be complete?

I just got back drunk from the bar and can't get over whata good idea that sounds like!!!!11

Think about it when you're sober and see if it still sounds like a good idea. ;-)

Actually, the idea is not as far-fetched as it may seem. Here is a perfect opportunity to replace the stodgy Actionscript 2.0 with a full-featured, object-oriented Real Language. What's not to like?

Hey there, sparky. Are you ever going to update this blog, or am I going to have to spend the day at and do searches for hot chicks who are also macromedia flash designers?

I found a link to what I think is the same report about the "P" languages to which I refer:

No comments: