Coldfusion and Git, again behind the times

August 25, 2009 by Mike Henke    16 Comments
Posted under: ColdFusion · Git

I really enjoy ColdFusion but I am frustrated seeing tools in other programming languages like metric testing (NDepend), code coverage (Emma), and coding standards (Checkstyle). None of these tools are new. They are immensely helpful, but not really available in CFML.

That being said, I feel ColdFusion is several years behind everyone else. Look @ the recent Hibernate addition to ColdFusion 9. Hibernate actually won a Jolt Award in 2005 and has been around before that but now 2009 (really maybe 2010 depending on CF9 release) ColdFusion is incorporating it.

Recently there was a successful push by the ColdFusion community towards source control. It seems SVN is now a defacto piece in most development shops. If not SVN, then some type of source control. I am hoping for a push by RIAForge and other ColdFusion community leaders to use Git.

For the ColdFusion project community, I see Git as a way for stale projects to get re-energized and have more community members involved. Git might have been a good fit for Fusebox so it didn't have to fork into a new project FuseNG. Users of Fusebox, could have seen the main Fusebox repository going dormant and noticed Adam Haskell with alot of activity. FuseBox users then could start pulling from Adam. Fusebox could also eventually pull in Adam's changes or not.

This is just one example but I hope to see ColdFusion ride the crest of Git instead of following in the wake.

More information on Git: Git changes the game of distributed Web development

16 Comments + Add Comment

  • Russ Johnson

    AMEN!! I dont think most CF guys have even tried Git yet. I have been using it exclusively for about 6 months now and I love it. Its one of those things that until you actual make an effort to use it and learn it, you never see the real value in it. The distributed nature of Git is what makes it so great. Like you said, anyone can fork and make changes to a repo which lowers the barrier of entry for someone wanting to contribute to the project. Simply fork it, make your changes and commit to your repo. If the project owner values your changes, he can simply pull them and incorporate them into the main project. A win - win for everyone!

    I submitted Git as one of my presentation topics for CFinNC. Initial response was they would be interested in it. So Im hoping it gets approved!

  • Robert Rawlins

    I was first introduced to git when working on development for Linux kernely type things however never really adopted it properly. What I found at the time, or, more importantly what I couldn't find at the time was a decent GIT Repo plugin for eclipse whereas the tools for working with SVN from within Eclipse were really great.

    Do you have any recommendations as to good Eclipse plugins for GIT repo management?

    Rob

  • Russ Johnson

    @Rob - I personally dont use Eclipse but I tweeted a few plugins I found a week or so ago. Here is a link to what appears to be the most popular one.

    http://code.google.com/p/egit/

  • Robert Rawlins

    Hey thanks for that Russ, I'll give it a look in, I spend so much time hopping between languages I find Eclipse a very helpfull tool and generaly try to do everything form there, whether it be database/server management, repo management or coding.

    Thanks for the link, I also hunted you down on Twitter and started following you a few moments ago, anyone else reading this is welcome to do the same to me.

    http://twitter.com/SirRawlins

    Rob

  • Ryan

    It would be nice if the CF community was more into Git and the other great things we're seeing in the web development community. But I don't know if it will ever be that way. ColdFusion'ers just aren't as passionate as say, Rails developers?

  • Russ Johnson

    Followed you back!

    I understand the one IDE mentality. I use Textmate for all my coding which is usually in CMFL or Ruby on Rails. Eclipse just seems clunky and bloated to me for some reason. Not really sure why. The CF bundle for Textmate is a thing of beauty and really increases productivity for me!

  • Neil Albrock

    I think it's fair to say that CF is less 'bleeding edge' than some languages. Certainly the time it's taken to incorporate Hibernate is an example of that.

    However, the adoption of a particular source control system is surely one for individual projects, companies or single developers. I for one use both SVN and Git in different contexts and they both have their advantages.

    I think the general point that the CF community needs to become more dynamic is fair, and you can see that especially due to the rise of projects like Railo, that's beginning to happen. We all need to be active in that process, not just through our choice of fashionable tools like Git but also by creating projects in CF that get people excited.

  • Mike Henke

    Good discussion. I think having only a few "community leaders" also hurts ColdFusion since they seem to be the gate keepers that most sheep will follow but that is for another post. I think using Git will help with this mentality. We won't have to wait till the next release of blogcfc (or some other project). People could freely advance projects.

  • Henry Ho

    I'd love to check out how to use Git too, but since you have the experience, can you blog about how to use it with Eclipse/CF Builder? or even better, host a CFMeetUp with Charlie so CFer's can all learn it? :) Just a suggestion.

  • Brian Swartzfager

    Mike, if you want the ColdFusion community to adopt Git as a means to increase collaboration on projects, just make the case as to how Git can achieve that goal. Most folks are receptive to a well-reasoned argument, regardless of who it comes from (it doesn't have to come from a "community leader").

    Starting off your argument with a put-down of ColdFusion (warranted or not) isn't the best way to put the audience you're speaking to (ColdFusion developers) into a receptive frame of mind.

    I've heard good things about Git from programmers and non-programmers alike, but I never really got what made it different from Subversion or CVS. Russ Johnson's comment helped make the distinction a bit clearer for me. More information about those differences between Git and other versioning systems could make for a good post.

  • Terrence Ryan

    So you know I have a lot of respect for you Mike, but I have to vehemently argue with a lot of the sentiment you express in this post. I feel that you are focused on particular solution, while missing the problem. For the vast majority of developers (ColdFusion or otherwise) the problem is that they aren't using source control at all. The difference between Git and Subversion is dwarfed by the difference between no source control and source control.

    I've used both. Honestly, unless you have compelling factors there's little reason to switch off Subversion for Git. To judge the entire community by this one choice is a little silly.

    For the record. Since I never share code with anyone anymore, and travel alot, I use Git. Having the ability to work without a central repository is key to me.

  • Mike Henke

    Hey Terry, thanks for chiming in. I don't mean to judge the entire community by the source control usage option. I was using Git has an example of sometimes the sluggishness of ColdFusion (I use this all-encompassing) to pickup something or provide tools that might be useful like acceptance/unit testing, metric tools, object relational mapping, or source control.

    You have a better idea with stats on ColdFusion and source control, so that is interesting (and sobering) you conclude a vast majority developers (ColdFusion and others) aren't using source control.

    As for the choice of using source control, which vehicle, or no source control does depend on your situation. My point was geared more at our ColdFusion Open Source projects should start to use git. Riaforge maybe should have a "Enable Git option". I would use it for my projects there since I may not advance them but would love for other people to.

    "My experience with Git and why I think Open Source projects should be released on Git" has a couple good points - http://bit.ly/1T3Ytd

    I talked to a couple people and I think there will be a couple presentation in the future on CFMeetup over git which is great but it sounds like a general "Why Source Control" might be needed too.

  • Mike Henke

    FYI - I am guilty also about not picking up useful tools. I haven't been able to use Git, Transfer, or MXUnit in a project for work but would love to.

  • Nikos

    how do you guys deploy your coldfusion code to the staging and production servers (SaP)servers. Im using cfbuilder and have my project in my local computer but only want the cfm and cfc stuff in SaP.

  • Mike Henke

    If using git, we do a pull from the appropriate branch. The .git folder is locked down so you can't access it via the browser.

  • Nikos

    I see, thanks

  • Got anything to say? Go ahead and leave a comment!