On 7/5/07, Jaime Metcher <[EMAIL PROTECTED]> wrote:
Sean, let me ask you a question.  You've been involved in language design in
the past.

For many years, yes. Mostly it's been fun (but sometimes it can be
really tedious when a bunch of very pedantic people argue for months
over some small piece of semantics).

Language design turns
into the exploration of abstractions and debates about how things "should"
work - how to achieve more DWIM.

Those are very non-productive discussions :)

The design of most languages is driven by a vision and that tends to
guide what goes into the language and what doesn't.

Are you just over all of that - or are the
abstractions that I'm interested in exploring just spectacularly
non-interesting to you?

For an existing language, these abstract discussions are fairly
pointless. I'm interested in specific discussions about specific
problems.

The specific problem is, for me, lack of DWIM.

That's not a specific problem. That's an abstract concept and
extremely subjective. It's exactly the kind of non-productive
discussion that I'm talking about. Now, I'm not denying that those
discussions can be a lot of fun... :)

It's entirely personal - CF
makes me repeatedly flip in and out of object-think

Why? Let's try to get to the bottom of that.

I think a lot of people who are fairly new to OO, construct some very
fixed mental model about "what is OO" and then have a hard time
actually learning OO. The problem (for them) is that they've often
constructed a mental model based on a single language (usually Java in
the CF world) and so if CF does things differently, they can't apply
"OO" to CF.

This is why I recommend people learn multiple languages. The more
languages you learn, the more varied your mental model and the easier
it is to apply a given situation. In particular, some constructs that
people insist "are" OO are actually not present in several OO
languages (interfaces spring to mind).

This comes back to my (frequent) comment that there is no one true way
to do OO. I see a lot of people blocked on problems because they want
the "perfect" way to do OO (to match their fixed mental model). As
Gustave Flaubert once said "Perfection is the enemy of the good."
--
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]

Reply via email to