>>You seem to have answered your own question.

It wasn't my question. :)
 
Bob

>>> [EMAIL PROTECTED] 4/22/2005 12:55:35 PM >>>

>Let me state upfront that my primary background is in java so I'll
admit
>to some bias... :)

We all have our favorite tools.

>I'm impressed with ColdFusion's ability to get sites up and running
>quickly and the ease with which one can learn the language. However,
I'm
>not as convinced with its ability to perform complex business logic
and
>integrate with other systems. 

Complex business logic can be modelled in any language, it's just a
matter of how much work it takes. 

>While I like the concept of CFCs and think
>it's a great addition they lack of some OO capabilities
(polymorphism,
>overloading methods, etc) that limit what you can do with them.
>ColdFusion, for all intensive purposes, is a procedural language.

It is a procedural language, but I would differ with you in this
respect. The lack of certain OO capabilities doesn't limit what you can
do, it just affects how you do it. In some cases, it makes a CF-based
solution more trouble than it's worth.

>Bolting on some OO capabilities is nice, but I doubt it'll ever be a
>true OO language, and many people, myself included, don't want it to
be.
>I think it'd add complexity to the point where CF becomes as complex
to
>write as java. 

Absolutely. It offers enough OO features to make OO-style frameworks
like Mach-II possible while stilling offering the simplicity of pure
procedural design for beginners.

>Now, I won't say it makes sense for all applications for the business
>logic to exist in java and the view to exist in CF. It adds
additional
>complexity that in many cases just won't be worth it. Java is a beast
>that takes quite a bit of time to learn and truly understand, let
alone
>write decent code. In addition, the integration between java and CF
>isn't perfect. Going from a non-typed language to a strongly typed
>language will always lead to some compatibility issues. I personally
>hate the fact that CF doesn't support the concept of "null". That
alone
>has caused considerable grief when integrating java apps. Basically
we
>have to implement ugly workarounds.

You seem to have answered your own question. Personally, I don't want
to drop down into Java just for the hell of it. I do it when I can't
accomplish what I want in CF, or when the CF-based solution would be
more painful than the Java-based solution. Your example of not
supporting "null" is perfect. In that case, I would write wrapper
class(es) in Java to provide the integration hook I needed, and I would
access the wrapper class(es) from CF. 

If you have an application that makes very heavy use of such external
integrations, it might make sense to write the entire model in Java, or
maybe to build an integration component factory in Java that handles
just the integrations. But I wouldn't do that unless there was some
concrete benefit to it. Don't look at it as just a technical problem.
Consider the business costs and and benefits as well. Tha may help point
you in the right direction.



~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~|
Logware (www.logware.us): a new and convenient web-based time tracking 
application. Start tracking and documenting hours spent on a project or with a 
client with Logware today. Try it for free with a 15 day trial account.
http://www.houseoffusion.com/banners/view.cfm?bannerid=67

Message: http://www.houseoffusion.com/lists.cfm/link=i:4:204263
Archives: http://www.houseoffusion.com/cf_lists/threads.cfm/4
Subscription: http://www.houseoffusion.com/lists.cfm/link=s:4
Unsubscribe: http://www.houseoffusion.com/cf_lists/unsubscribe.cfm?user=89.70.4
Donations & Support: http://www.houseoffusion.com/tiny.cfm/54

Reply via email to