An Architect's View

CFML, Clojure, Software Design, Frameworks and more...

An Architect's View

Java, CFML and Frameworks

January 25, 2012 ·

I get a lot of emails asking questions. Some of them come in directly to me, some via the Contact page on my blog. With the latter, developers have to provide an email address. Most developers seem capable of doing this, but every now and then someone fills out the form with a bunch of "demands" and fails to provide a correct email address.

It's not really that hard, so when I write a long reply and it bounces, I usually think "What a dick!" and forget about it. I recently received a question with a bad reply address from an Indian software developer and I wrote a fairly long reply, frustrated at both their tone and the lack of useful context in their question. It bounced. I moaned on Twitter about how frustrating it was that Indian software developers send "demands" for assistance yet can't even provide their correct email address for a reply. A friend suggested I blog the answer anyway, so lazy people can read it without needing to provide an email address.

Let's call the Indian developer "Ankit" and here's the answer that they would have received, if they'd been smart enough to provide a valid email address:

I am a Java Developer. I used to develop webapps in plain CFML couple of years back.

OK, were you a Java developer first? Or a CFML developer? What's your background? Procedural? OOP? Scripting? Compiled languages? What frameworks have you used in what languages?

It would be grateful of you if you help me by suggesting a framework according to my needs.

Impossible to say given how little information you've provided.

Currently I am planning to use Railo for the first time for my project and I want to use Java and CFML. I want to use a MVC framework in which I could implement my model services in Java.

Well, you can probably do that with any CFML MVC framework.

I saw couple of your blogs and presentations about various frameworks and Railo. I wanna know which framework would have best support for Java Objects while still being supported by Railo.

Your question doesn't really make sense. CFML interoperates with Java (or Groovy or Scala or Clojure or...) really well. Frameworks don't make that easier or harder, assuming an OO model.

Frankly, I think Java is a terrible, rigid language and not worth using with CFML. Groovy for the model would make sense because it is relaxed and dynamic. Scala for the model would make sense for its conciseness and power. Clojure for the model makes sense because it is the best of dynamic scripting with the power of immutability and easy concurrency and data manipulation. Java is... an awful choice in the context of rapid application development, which is what CFML and Railo are all about.

If you could suggest me something or provide me a reference to study, it would be very kind of you.

I hope my comments above are useful?

As you can probably tell from my response, I'm frustrated by this sort of "best framework" question anyway and it's compounded by the complete lack of understanding of the relationship between CFML and Java. There's no context for why anyone would want to write their model in Java nor any information about background, capability or understanding.

I decided to publish this as a blog post to highlight a few things and I'll leave it up to readers to decide what...

Tags: architecture · coldfusion · j2ee

6 responses

  • 1 David Knighton // Jan 26, 2012 at 4:07 AM

    I feel your pain with this one. I get a lot of these unanswerable questions. Of course, it's even more of a challenge to explain to the person that there is no answer because they're not asking the right question. You end up being called a jerk for trying to point out why the question was wrong. They say they want to learn, but really all they want is validation of their own answer that they *think* they already know.

    Merlin Mann covered this same topic in one of his early episodes of "Back to Work". There's a good five minute rant about insisting on knowing why his Rails controller doesn't work in Perl.

    I'm sure if he sees it, "Ankit" will get a rise out of your comment that Java is a "terrible, rigid language". Personally, it gave me a laugh.
  • 2 Frank Tudo0r // Jan 26, 2012 at 6:50 AM

    It sounds like he got himself pigeon-holed into a CMFL project, realized his mistake and wants to build his project in pure java with a CMFL cover. I run into this a lot at the bigger jobs sites. Indian programmers are trained from the ground up in OOP and compiled type languages JAVA or C or .NET, I have yet to find one that was a native CMFL developer from India that migrated to another language. Conversely, at first, I would do the same since I am scared shit-less of object based languages and all that compartmentalization (sudo-OOP in CMFL is good enough for me). So, I would try to find a procedural solution. However, once I accepted my fate, I would give it my best go, before I capitulated (which has happened before with a .NET project walked into). Sometimes we get over our heads...Sometimes we 'have to' get over our heads to learn our limitations.
  • 3 David Buhler // Jan 26, 2012 at 7:27 AM

    I always believe these types of questions have a common denominator of sorts. That common denominator is, "What's the most popular, or most probable-to-be-the-most-popular-in-the future of ________". I believe it's less about the user's project, and more about understanding trending.

    The other questions are really:

    "Given the most popular trends, would "A" and "B" work with the most popular trend? Is my approach "popular"?


    "If you could suggest me something or provide me a reference to study, it would be very kind of you."

    ...I think he's asking, "How can I figure out these trends? Is there a Website where I can see lots of examples, suggesting other people can / are going to follow the same trends?

    To paraphrase, I think he's saying, "Hey Sean, what CF framework do people use with Railo? I know Java better than CF. Is there a way I could build my model in Java with Railo with this framework you're about to suggest? That would be WAY EASIER for me until I get the hang of this CF MVC framework you're going to suggest, running on top of Railo. PS: Bro, link me up! PSS: I can't remember my email address."

    "What's Hot?". That's the root of the question.
  • 4 Mark Mandel // Jan 26, 2012 at 3:22 PM

    Hi Sean,

    I have a shovel.

    How do I build a house?


  • 5 Mike Collins // Jan 30, 2012 at 1:10 PM

    We need to line up and take care of this...
  • 6 Sean Corfield // Jan 31, 2012 at 3:21 PM

    @Mike - LOL! Yes, that's how I feel sometimes!