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.
statically typed languages really do need interfaces.
I'll concede that: if you have a statically typed language that does not have multiple inheritance, you need interfaces. Java only introduced interfaces because it refused to introduce multiple inheritance. Multiple inheritance is the more general solution, especially if you can have pure virtual functions (which is what C++ has - essentially a per-function interface mechanism).
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. Only *values* have any concept of type in ColdFusion - variables have no types at all. Argument and return type checking is merely a syntactic shorthand for doing a check on the value being passed in or out. You could easily implement the exact same thing yourself (well, checking the inheritance chain is a bit of a pain but other value checking is built directly into the language). -- Sean A Corfield -- (904) 302-SEAN An Architect's View -- http://corfield.org/ "If you're not annoying somebody, you're not really alive." -- Margaret Atwood 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]
