ColdFusion Versus…

I wanted to highlight two series of blog posts that are going on at the moment. They highlight the differences, code-wise, between doing things in ASP.NET and PHP versus doing them in ColdFusion.

The first series is ColdFusion versus ASP.NET written by Mike Fleming at his blog: Magnetion Blog.

The second series is ColdFusion versus PHP by Brandon Hansen at his blog: Let’s Make the Web Better, and already blogged by Ben, but I’m linking the entire series.

What I really like about these posts is that they were written by people outside the ColdFusion community (or at least they were when the articles were written), and as such have a degree of objectivity. They give both ColdFusion and the competitor their pluses and minuses, but I think ColdFusion comes out on top in these articles.

12 thoughts on “ColdFusion Versus…

  1. Ok, let me first say that I love ColdFusion.

    That said, picking out single examples of code and saying "its smaller, so is better" isn’t really a comparison at all. I mean, why don’t we compare CF and Rails and see "How many lines of code does it take to implement an MVC implementation?" The answer in Rails is 0 and the answer in CF is quite a lot. The real questions are how well does it scale, how quickly can a usable application be created, how flexible is the code, etc. Those are answer’s you can’t get by counting lines.

    Like

  2. @Jon, I think if you’re trying to compare on lines of code as a straight metric, then you’re right. But I think all of the examples take into account both lines of code and simplicity of execution.

    Simplicity of execution is where I think CF shines in these coding examples.

    Like

  3. I clicked on the first ColdFusion vs. PHP bullet. After reading the third paragraph, I’m done. You cannot just say Ruby on Rails was the wrong tool for Twitter and proceed to give no solid technical explanation why. Perhaps the author of that article should take a second understand the problems Twitter faced and how they’re solving them. Scaling for the amount of users Twitter serves is not a trivial task solved by ColdFusion — it is an ongoing battle to reduce bottlenecks in many areas.

    http://highscalability.com/scaling-twitter-making-twitter-10000-percent-faster

    Like

  4. @Jon Rails is a framework, not exactly a programming language [insert scripting/programming language jokes here].

    CF has code generation frameworks too (although everything takes at least *some* code– depending on how you quantify "code"– there are no 0 line programs (depending on your definition of a program, I guess.) ;])

    Ruby not scaling well has been beaten to death (I think a good bit of this is because of one of the "main dev" dudes bouncing and then bitching), but I would like to point out that things in Rails-land are *much* better in this regard these days.

    Seems like some things are harder with certain "languages" than others, and it really depends on WTF you’re trying to accomplish, your "end goals", available talent, etc..

    There is no single right answer, really. Well, besides philosophy, of course. :-)p

    Some Philosophy (or something like that):

    http://blog.objectmentor.com/articles/2009/02/26/10-papers-every-programmer-should-read-at-least-twice

    Like

  5. @Terrence: I agree, and its one of the reasons I can’t stand coding PHP anymore (despite having started with it before CF).

    @Denny: I think I was hinting at what you say explicitly; it all depends on what you’re doing. If you’re doing lots of smaller e-commerce sites, Rails might be your best friend. Working somewhere that does lots of heavy number crunching, you might go for Java or something else. I also wasn’t trying to rag on Rails performance, but simply point out that there are other features then lines of code on which to evaluate a server and language. And thanks for the link; those look like awesome reads.

    Like

  6. @Hector
    The point of the article was not at all to say that RoR is a bad framework. I actually love the framework, more and more each day. There is no framework that gets it done that quickly and effectively.

    The reason that I stated that RoR should not have been used is simply because it is untested to that scale. I went on to say that it has performed quite well, and now we have an example of a site that does well using RoR. I actually don’t know that CF would have been a good solution for that site. My suggestion would be to go with either PHP or Java (PHP powers facebook, and Java powers linkedin).

    Please don’t mistake a small point in the article for the purpose of the article. I do welcome your criticism, and will learn from my mistakes.

    Like

  7. @Hector
    The point of the article was not at all to say that RoR is a bad framework. I actually love the framework, more and more each day. There is no framework that gets it done that quickly and effectively.

    The reason that I stated that RoR should not have been used is simply because it is untested to that scale. I went on to say that it has performed quite well, and now we have an example of a site that does well using RoR. I actually don’t know that CF would have been a good solution for that site. My suggestion would be to go with either PHP or Java (PHP powers facebook, and Java powers linkedin).

    Please don’t mistake a small point in the article for the purpose of the article. I do welcome your criticism, and will learn from my mistakes.

    Like

  8. @Hector
    The point of the article was not at all to say that RoR is a bad framework. I actually love the framework, more and more each day. There is no framework that gets it done that quickly and effectively.

    The reason that I stated that RoR should not have been used is simply because it is untested to that scale. I went on to say that it has performed quite well, and now we have an example of a site that does well using RoR. I actually don’t know that CF would have been a good solution for that site. My suggestion would be to go with either PHP or Java (PHP powers facebook, and Java powers linkedin).

    Please don’t mistake a small point in the article for the purpose of the article. I do welcome your criticism, and will learn from my mistakes.

    Like

  9. @Brandon: First, I’d like to apologize for the tone of my comment — it was rather aggressive (long day). Second, I understand the goal of your article, but I do not believe Ruby on Rails should have been excluded as an option simply because there was no precedent. If decisions were made that way, we’d all be developing web applications in C. PHP does power Facebook, but so does C++, Java, Python, Ruby, and Erlang.

    I agree that we have learned much from Twitter’s decisions. Anyone who wants to create a web application based on Ruby on Rails now has something of a scaling roadmap to follow. We’re all lucky they revealed as much detail about their struggles as they did.

    Like

  10. Terrance, thanks for the links over to my articles on the Magnetion Blog. I would like to note that I have known (and loved) ColdFusion for 10 years now. My background in web development started with CF and has evolved from there. I have been digging into .NET recently and thought it would be cool to share the experiences with both. I agree with another commenter, that just comparing the number of lines of code is not the correct way to compare languages. If that were the case ColdFusion would be the best by a mile (as you can do so much with so little code). Becoming a seasoned developer means you can objectively look into the requirements of a project and then determine the best language or platform to meet those needs and goals. As much as I love ColdFusion, it is not the best choice for every situation. There are others that it meets perfectly. I tend to stay away from the flame wars of "this language is better than that language", as it 100% depends on the requirements of the project or the application.

    Like

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Google photo

You are commenting using your Google account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s