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

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.

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...

6 responses

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.

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.

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"?

Here...

"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."