On 4/22/05, Bob Jacoby <[EMAIL PROTECTED]> wrote:
> Let me state upfront that my primary background is in java so I'll admit
> to some bias... :)
Let me state upfront that my primary backgrouund is in computer
language design and compiler writing so I'll admit to some bias... :)
> However, I'm
> not as convinced with its ability to perform complex business logic and
> integrate with other systems.
We use CFMX for pretty much all of our integration work because of its
ability to handle, out-of-the-box, web services, XML parsing, various
protocol handling (FTP, HTTP), JMS message handling, etc. CFMX 7 runs
on all of our primary IT systems handling all of the messaging and
interaction between them (mostly "headless", i.e., no web interface).
It also powers fifty applications on macromedia.com handling up to
40,000 concurrent sessions during morning peak traffic - there's some
pretty complex business logic behind those applications.
> 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.
CFCs have polymorphism. Overloading is highly overrated (it's useful
for library builders but causes a lot of problems for 'end user' style
application developers - as someone who spent eight years on the
ANSI/ISO C++ Standards Committees I can vouch for just how complex and
confusing the rules behind overloading are: we had a dedicated team of
language experts trying to formulate the rules and wording for
overloading to remove ambiguity... and we weren't entirely
successful).
> ColdFusion, for all intensive purposes, is a procedural language.
So is C but Bjarne did a pretty good job of adding classes to it and
turning it into C++. Java is also a procedural language under the hood
in many ways (all those built-in types not being classes leads to
procedural code!). All OO languages need some procedural machinery and
many of them have very strong procedural roots...
> 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.
And what is a "true OO language" in your opinion? Smalltalk perhaps?
It certainly isn't Java any more than it would be C++... :)
> I think it'd add complexity to the point where CF becomes as complex to
> write as java.
As a language designer I'd say you can have simple OO languages. The
complexity of Java has very little to do with the fact that it is an
OO language. There are a lot of complex bells and whistles in Java -
and Java 5 only made that "worse" in many ways (especially introducing
subtle implicit casting via autoboxing and the weird typesafe enum
stuff). Don't get me wrong: I like Java well enough - I've been
programming in it for eight years now - but it's lost a lot of its
original simplicity!
> Java is a beast
> that takes quite a bit of time to learn and truly understand, let alone
> write decent code.
Amen, brother!
> I personally
> hate the fact that CF doesn't support the concept of "null".
JavaCast("null","") - see the docs:
http://livedocs.macromedia.com/coldfusion/7/htmldocs/00000542.htm
> In the end it always comes down to using the right tool for the job.
> And apply KISS. :)
Amen to that too!
--
Sean A Corfield -- http://corfield.org/
Team Fusebox -- http://fusebox.org/
Got Gmail? -- I have 50, yes 50, invites to give away!
"If you're not annoying somebody, you're not really alive."
-- Margaret Atwood
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~|
Find out how CFTicket can increase your company's customer support
efficiency by 100%
http://www.houseoffusion.com/banners/view.cfm?bannerid=49
Message: http://www.houseoffusion.com/lists.cfm/link=i:4:204358
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=11502.10531.4
Donations & Support: http://www.houseoffusion.com/tiny.cfm/54