Peter Bell on LightWire

I attended Peter Bell's online presentation on LightWire Wednesday which was put on by

As usual Peter does a wonderful job explaining programming concepts. He has a calm and natural way of explaining things verbally that works very well for this kind of presentation (or for a podcast interview).

I was certainly impressed with LightWire. As he says, it may not be for everyone, but it makes a good alternative to ColdSpring. LightWire seems to have most of the features of ColdSpring, but not all. For example, ColdSpring supports AOP which LightWire doesn't (yet, Peter indicated plans to add that later).

LightWire, however, presents some advantages of its own. It has fewer files and doesn't need to be in a specific location or use mappings as ColdSpring does. Additionally, you can configure LightWire via the same XML syntax as ColdSpring or via a programmatic API.

Personally, I find the choice very nice. I can certainly see scenarios where each are advantageous.

Right now I have my own DI/IOC Engine. Mine was created before ColdSpring or LightWire and isn't as robust as either of them. I am likely to migrate to one of them (especially if a needed feature or two is added) in the near future.

When that time comes, LightWire certainly seems like an attractive choice.

As an aside, I have noticed an attitude by some developers to disparage LightWire for daring to challenge the "One True IOC Framework". This attitude is disappointing as more options seems only to the benefit of all of us.

Certainly, I think we are better off now that we have more than one MVC framework. It would have been a pity, for example, if Joe Rinehart hadn't created Model Glue merely because of the existence of  Mach-II.

Anyway, it was a really good presentation and well worth the listen even if you have no plans of trying out LightWire. Peter always has good explanations of his thinking. The nature of the problems that he is trying to solve (and the degree to which he researches them) make his a valuable viewpoint to hear. 

Comments (Comment Moderation is enabled. Your comment will not appear until approved.)
Thanks for the post. It was a great presentation by Peter and i agree that it is rather disappointing thet it's not quite got the exposure it deserves. CS is great as is LW, and as you say they both fit different needs and should both be evaluated when one is thinking about using a DI framework.
# Posted By Nick Tong | 5/18/07 1:43 PM
Excellent review of the presentation. I found your remark about"... I have noticed an attitude by some developers to disparage LightWire for daring to challenge the "One True IOC Framework"."

I find this equally as frustrating as you do. As a community, we should foster innovation and creativity. There is plenty of room for different ideas and techniques and through the openness and sharing of the community we will all grow.

Dan Wilson
# Posted By Dan Wilson | 5/18/07 2:00 PM

Absolutely. I think that is a great thing about your work on - it presents several available options to developers.


I agree completely. I think the ColdFusion community is good at this overall, but I do find it disappointing when new approaches are disparaged merely for being an alternative to an accepted path.
# Posted By Steve Bryant | 5/18/07 4:14 PM
"doesn't need to be in a specific location or use mappings as ColdSpring does"

I'm not really sure thats a very compelling 'advantage' for a framework. Afterall, with CF8, you can specify application mapping and component paths within Application.cfc, so even that minor detail seems irrelavant.

The CF community isnt trying to deter innovation. I think the problem most people have is that Peter could have just contributed to ColdSpring. Dave and Chris have always welcomed help, but Peter decided he wanted to create his own framework rather then contirbute. There seem to be too many people in the CF community who are for open source projects, but only when it's _their_ open source project.

It's unfortunate, but I think LightWire is begining to share a reputation with BlueDragon in our community. As a shotty knock off that the vast majority fails to take seriously. The quote about Joe and Model-Glue is a bit off based. MG and Mach-ii are fundamentally different in thier approach (as is Fusebox). LightWire however, mimics the approach and philosophy of ColdSpring. A good example of this is Transfer vs Reactor. Both trying to solve the same problem, but in different ways. There wan't any negativitey surrounding Transfer and MG because they weren't copying what was already out there.
# Posted By Adrocknaphobia | 5/18/07 5:52 PM

Thanks for giving an example of the kind of negative attitude that I was talking about.

I think it is pretty mean-spirited to call someone's effort "shotty" (which I assume is a derivation of "shoddy") - especially when attacking a free and open-source effort without any evidence as to its poor quality.

I certainly grant that there is a point at which it is more helpful to contribute to an existing project than to create a new one.

As to a "fundamentally different approach", I don't think that is all that clear. One could certainly argue that since Transfer, Reactor, and objectBreeze are all ORM frameworks that they are all filling solutions in the same space. Certainly, each takes a different approach in some areas, but what degree of difference constitutes a "fundamentally different approach"?

I don't think that is an easy a question to answer. I would think that allowing the use of an API instead of XML would, at least, be a significant difference.

Certainly, the discussion over when the differences are sufficient to warrant a new approach is a complicated one and opinions differ.

That being said, I think it is disappointing that those who disagree with Peter's decision to build an alternative take such a negative stance to the offering. I think the result is that anyone who builds an offering that is similar in some ways to something that already exists will just decide to keep it to themselves rather than risk being bad-mouthed in the community.
# Posted By Steve Bryant | 5/18/07 6:52 PM
As an incidental, the fact that LightWire doesn't require a specific location or mapping is a major selling point for me. I hadn't heard about this feature in LightWire until this presentation, but I had asked Dave and Chris about just that when I was at cf.Objective.

Right now, none of my live projects are on CF8. It will probably be several months after CF8 is available until they will all be migrated to that version.

Additionally, when I am working on open-source projects I like to have as few dependencies as possible and I prefer to support the previous two version of ColdFusion. So it will be some time until I use CF8 features in open-source work.
# Posted By Steve Bryant | 5/18/07 6:57 PM
@Steve, Nick and Dan,

Thanks for the support - much appreciated.

@Adrock, If you can tell me how I could have contributed to ColdSpring to make the entire framework two beans and 600 lines of code optimized for DI into transients and supporting both programmatic configs and XML and supporting mixin injection as well as setter and constructor injection then I'm all ears. And as an aside, one of my business drivers is that I need an n-language solution. I wouldn't have used ColdSpring anyway as it wasn't a good fit to my approach, but if I'd needed a CF only solution I'd have looked very closely at using Transfer.
# Posted By Peter Bell | 5/18/07 9:32 PM
Adam, with all due respect, not sure the commentary here is something I personally like seeing coming from an Adobe employee both in terms of BD and LightWire. There have been enough blog sniping on either topic that I would think the folks at Adobe would prefer to remain above the fray.

Nonetheless, you say, "There seem to be too many people in the CF community who are for open source projects, but only when it's _their_ open source project," but fail to see the irony as you rip Peter for not contributing to ColdSpring?

I have taken a close look at both (having even contributed some code changes to LW) and I can tell you the approaches seemed distinct to me. I continue to use and advocate ColdSpring for general purposes, but I thought LightWire fit a need that Peter saw for his projects. For crying out loud, this stuff exists plenty in open-source but this argument has clearly gotten to a point where it is no longer about CS vs LW and the respective merits, it is a personality thing. Admit it and be done with don't have to like Peter, but trying to pretend this is technical argument regarding something you clearly haven't looked at closely (that being LightWire) is simply disingenuous.

How about now attacking Google for creating Guice when Spring exists? Even they readily admit the problems it solves are the same, but with different underlying approaches and reasons for being.

Your argument just doesn't hold up under any real scrutiny. I will continue to use and advocate ColdSpring, but seriously the dismissive and disrespectful attitude on these posts is getting out of hand. If Peter pissed you or Dave or Chris off somehow, I get that - there are people in the CF community I don't particularly like and some who I am quite certain do not like me, so be it - but the rest of us don't need to defer to your grudge when choosing what technology we use.
# Posted By Brian Rinaldi | 5/21/07 5:30 PM
I didn't mean to imply that these were my opinions. I also did not mean to detract anything from Peter's efforts and did not call LightWire shoddy (sp). Right now, LightWire has a negative connotation with a lot of people. The reasons I've stated above seem to be at the root and I was merely trying to shed some light on cause. I don't think it's simply because ColdSpring fanboys don't want competition or people dislike Peter.
# Posted By Adrocknaphobia | 5/22/07 2:09 PM
If your intent was to shed light on the negativity surrounding LightWire, then I can understand that, though it was certainly not clear (obviously to more than just myself). I don't think this is totally about competition, I think it is about Peter having said some stuff at some time that pissed some key people off (I think the claim was he took some comments and presented them out of context - I think the fundamental disagreement here is on Peter's intent in making whatever these comments were). I personally can understand both issues.

Nonetheless, I think a few people who speak loudly in the (for lack of a better term) blogosphere can indeed spread misrepresentations fairly easily - I haven't seen anything specifically claiming or showing that LightWire is shoddy. I also think if someone is interested in any open source project for whatever reason, they should not have to worry about being flamed for posting about the topic or worried about dealing with hecklers in a presentation. I think (in fact I know) this dissuades anyone from contributing to either project for fear of taking sides in some feud. In fact, even worse, I think it makes people hesitant to release their own project as open-source.

I have always tried to take an even-handed approach to the open-source movement in ColdFusion - I am taking sides here - I just think that this argument benefits no one.
# Posted By Brian Rinaldi | 5/23/07 1:49 PM
BlogCFC was created by Raymond Camden. This blog is running version 5.8.001.