On 5/22/07, Sean Corfield <[EMAIL PROTECTED]> wrote:
On 5/22/07, Barney Boisvert <[EMAIL PROTECTED]> wrote:
> They are not needed in a dynamically typed language. But unless you
> have multiple inheritance (which I think everyone agrees is horrible),
Hmm... well... actually, as one of the designers of C++ I don't think
multiple inheritance is horrible but I do think it can be overused
(well, any inheritance can be overused). I think Java has gone through
contortions of its own to avoid multiple inheritance. Some problems
are just easier to solve with multiple inheritance.
I can't discount any of that. I've definitely run into situations
where MI would have been nice, but I think not being able to go that
way forces a bit more forethought into design, which is a good thing.
<<Insert "give yourself plenty of rope to hang yourself" adage here>>
> CF is not a
> strongly typed language, but it's not a loosely typed language either,
> it's some sort of hybrid.
I've seen this put forward in a couple of places recently and I'm not
sure I buy it. The only type-checking in ColdFusion is on arguments
and return types and that is done at runtime.
The only ANYTHING ColdFusion does is done at runtime. Granted,
runtime has a compile phase to it and execution-time checks only check
execution paths, not potential execution paths as compile-time checks
would. However, from the perspective of the developer, runtime is
pretty much runtime. It'd be great to get exceptions during the
compilation phase, but getting them during execution is still helpful.
As gets pointed out every time this conversation arises, you don't
need static typechecking to make a langauge useful. But I happen to
like having it, and generally prefer static languages to dynamic ones.
As such, I'm happy to see CFINTERFACE, as it provides some additional
functionality in CFML that would otherwise be really hard to
synthesize without throwing away all the typechecking. I'd expect
CFINTERFACE to remain a runtime concept to allow mixins with CFINCLUDE
in the psuedoconstructor, but I'm not on the Beta so I can't say if
that's the case. If it were a compile-time check, I'd like it even
more (in my selfishness), but I think that would have been a horrible
design decision for the language as a whole.
cheers,
barneyb
--
Barney Boisvert
[EMAIL PROTECTED]
http://www.barneyb.com/
Got Gmail? I have 100 invites.
You are subscribed to cfcdev. To unsubscribe, please follow the instructions at
http://www.cfczone.org/listserv.cfm
CFCDev is supported by:
Katapult Media, Inc.
We are cool code geeks looking for fun projects to rock!
www.katapultmedia.com
An archive of the CFCDev list is available at
www.mail-archive.com/[email protected]