Thursday, July 06, 2006

Framework Evangelism

This is what irritates me about coldfusion, i love to code. But if i don't code the way everyone else does, that somehow makes me a crappy coder.

If your happy with the way you work, so be it.

But we have to think more than just short term.

What if you died, and no one using your specific method was available for hire, and had to hire any variation of a coldfusion developer, how easy is it to take off from where you were to make changes, understandable.

But instead of seeing that as a practical need, you see that somehow as an attack on your favorite framework.

And honestly it really is irritating, the constant insinuations, the evangelization, join us, be with the good coders.

Because if your not with us, your against us.

That is totally purille.

I am not here out to defame or destroy the way you code..

But like with any method, even how you vacuum your home, there are pros and cons of every method of doing anything. And i try to bring up a few things, not because i want to hurt, insult or destroy your framework or methodology, but because I want to bring it to your attention as something to think about.

Is it so hard to admit that your framework or method of choice has flaws?

I know i try to always improve how I do things, make sure I understand the short term and long term costs of the way I do things.

All I ever wanted was to stop coldfusion from producing bad code, but you just can't believe that the way to do that may not be your way. And I am not saying my way is 100% perfect, there is no such thing.

Let's grow up a tad, and stop pushing X framework as the solution of all problems...

I may disagree with you,, but I don't hate you for disagreeing with me.

But it seems the more i try to participate in helping this industry grow as a blogger.

The more i get hate mail or the wrongful assumption i am trying to hurt or destroy someone's framework.

I honestly do not see OO or Java as the way to be the best coders, that's my humble opinion. It may work for you, and htat's fine I am not trying to persuade you one way or the other.

I was only trying to have a logical discussion.

But instead I get comments like, well you've not used OO or OOP, so your obviously a low quality programmer.

Is that what Hal Helms and Steve Nelson and other greats really had in mind when they had these ideas for improving coldfusion, that it's our way or the highway?

Where are all the nice people in coldfusion?


  1. Anonymous3:21 PM

    I couldn't agree more.

    This frameworks horse has been beaten to death and then dragged down the street a few times.

    Can't we all just get along :)


  2. Anonymous3:28 PM

    Hey, I'm not a CF programmer, but I stumbled across your blog while looking for something else. Thought I'd post anyway.

    Look, all I can say is that for most of us, this is a JOB. Spelled, J-O-B, and we write our f*cking code and deploy it, get our checks at the end of the day and go home. It's not a religion, and I say, whatever WORKS is what you USE.

    Yes, there will be fanatics out there, and let them have their day, but then go back to your work and do your thing. Go home to your family at night and just relax, knowing those guys are out there trying to make a name for themselves.

    Signed, a Perl programmer.

  3. Anonymous3:31 PM

    I couldn't agree more! Why do all these people have to write this stuff that is so maintainable? It is ridiculous for those of us out there trying to make a living billing hourly. Projects that used to pay me $4-5000 now only net fraction of that when I am stuck working on a framework application that someone else has written. So... another vote for NO FRAMEWORKS!!!!

  4. I never said no frameworks, or that frameworks are all wrong.

    All i want is for the industry to improve, i guess we all have different ideas of how that is to get done.

    Just don't be rude because my way is not your way.

  5. Anonymous3:41 PM

    Do you go to your local CFUG meeting every month if you have one? Just curious about how serious you are about your training based on some of your other blog posts.

  6. I used to go to Twin Cities ColdFusion User Group, at one time was part of the Board of Directors.

    At the beginning I was extremely excited to enhance my self-training.

    It's just these days the kinds of things they want to look at or present don't interest me.

    It's a great group, just doesn't talk about things that interest me anymore..

    I've even presented a few times.

    At one job I've had, I was the one training them on coldfusion, using the CF Developers Study Guide, one of my fav Ben Forta books (right to my Ben Forta Regular Expressions or Ben Forta SQL Book)

    Does that answer your questions?

    And I don't mind honest questions, which that was.

    Thank you

  7. Anonymous6:05 PM

    I'm of the opinion that CFUG meetings are important no matter the what presentation subjects are. Honestly, I've always learned something new and I feel that I have a rather advanced knowledge of CF and OO if I were to self assess myself. The real deal at meetings is that even if you don't learn much from a presentation, you can exchange new ideas with other member. IMHO, self-improvement does not development in a vaccuum. I should also mention that it's a place to network and put up odd jobs etc.

    I read that you are taking issue with improving the industry. I totally agree, however I really wonder about how blogs are for improvement. Blogging is asyncronize while in person conversation is syncronize. Asyncronize communication is good for certain types of conversations, but syncronized communication is most effective when trying to convey abstract thought. Another reason to attend CFUG meetings.

    Craig, I think you are taking the framework evangelism too personally. Not trying to say you shouldn't feel the way you are - that would be taking away freedom which is something I value highly. Just throwing it out. But generalizing that "OO is fad-ish" or "I don't like frameworks" will definitely stir the pot up and you should be ready to receive people "who have gone to the other side". Personally, I think that OO is here to stay. It's been around since SmallTalk and I don't think it's going to disappear. I should say that some of the OO fondations can easily be applied to procedural code like layers of abstraction. Although sometimes, they aren't as easy to implement, maintain or just aren't as powerful. However, I will mention that you still have to write good code inside of the methods / components with OO. So a firm knowledge of best practices is good. Just food for thought.

  8. Anonymous7:07 AM

    I have never heard anyone from the pro-framework camp insinuating that you can only be a good coder if you you use a framework.

    Also, not one person in the pro-framework camp, including the authors of some of the frameworks, have said that anyone framework as 'the solution of all problems'. As a matter of fact, Sean Corfield, a huge proponent of Frameworks, has said time and time again that there is no silver bullet in the framework world, there is no individual framework that is right for every project.

    I view knowledge of frameworks as just another tool in my tool box. Using a framework does not make anyone a better coder. This has also been expressed by those in the pro-framework camp. You can write bad code with a framework just as easily as you can write good code without one.

    Lastly, as for this comment ' see that somehow as an attack on your favorite framework.', I would have to say that this line would be more accurate in porteaying the feelings of those who don't use frameworks. During just about every one of the Frameworks vs No Frameworks debates I have been part of/ spectator for anytime someone says 'frameworks allow me to do X', the non-framework person takes it to mean you cannot do that without a framework. If any one side in this never-ending debate continuously attacks the other, its those in the non-framework camp.

  9. Anonymous2:41 PM

    Like you guys I have also tired of the whole futile and never-ending frameworks and OO debate. Because of this I decided to build a solution for people who don't like using either when constructing their applications. Basically, It's a framework for producing non-frameworked, non-OO code which I've named ZenGlueBox-II (the framework, that isn't!).

    Allow me to explain. In a nutshell, each time you compile your application, ZenGlueBox-II structures your runtime code differently using a randomly selected variety of conventions, structural patterns and procedural code. This gives those who don't like frameworks and OO the best of both worlds, i.e. the convenience of using a framework with which to build one's applications, but not code that features the separation of concerns and standardized conventions that tend to result from framework use.

    The real power of ZenGlueBox-II derives from the functionality within its core classes, which include the following:

    - hiddenDataPublisher
    - cohesionMinimizer
    - watertightCoupler
    - concernsUnifier
    - appEntryPointFactory
    - conventionsRandomizer
    - blindObserver
    - antiFacade
    - singleSidedAdapter
    - patternNuker
    - spaghettiGenerator

    The methods contained within these classes will ensure that your application code will never again suffer from that object-oriented, MVC, front-controller look and feel.

    Go on, you know it makes sense, download ZenGlueBox-II today.

  10. Anonymous4:06 AM

    You might want to explore Simon Horwith's soon-to-be-released (ahem) SAM (Sensible Assembly Methodology). He seems to be positioning this as a methodology for people who don't like using formal frameworks.

    However, I hear that it does contain helper files and so would appear to be a framework of sorts, despite the claims to the contrary. That said, I presume it's going to empahsize developer practises over the actual building of framework structures in memory, so it might be closer to the kind of thing you are looking for.

  11. I think there is a danger that people become fixated on frameworks. When that is combined with more frameworks being released, the conversation sometimes devolves into "My framework (the framework I've adopted) is better than your framework!" which is just one step up from "My dad can beat up your dad!"

    I think frameworks are helpful. They offer developers more opportunity for concentrating on what's important about an app or site by relieving them from some low-level wiring concerns. It would be a great shame, however, if people spend all their energies on debating framework A v. framework B, forgetting that customers don't buy frameworks: they buy apps and sites that provide real business value.

  12. Anonymous1:10 PM

    Couldn't agree more. Frameworks discussions have been beaten like an old horse. Bottom line is, frameworks are there to help the industry, not really the individual developers.

    They are here to stay, and are proven processes that save time and money in the proper implementation.

    Also, frameworks have nothing to do with coding. You can write immaculate code is a simple 2 page ColdFusion application. Frameworks make you a better application architect. They teach you how to think of an application from the business perspective rather than from the code perspective.