[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: Questions for a language designer
At 3:38 PM -0400 5/29/03, Scott McKay wrote:
>At 2:36 PM -0400 5/29/03, Michael St . Hippolyte wrote:
>>Of course most language designers do have mental models -- that's often
>>why they design languages in the first place, so that they can talk
>>about their mental models knowing that there's at least one language
>>it makes sense in :)
>>
>
>Yes, I quite agree. One reason I find C++ and Perl
>surprising (to use) is that the mental model seems
>incoherent to me. What is also surprising is that
>their bizarre mental models came from one person!
This is one of the things that gives some people fits with perl. It
isn't that it doesn't have a coherent mental model--generally
speaking it does. (Modulo some feature creep, which afflicts anything
in widespread use) It's not a 'standard' model, though, and like any
unfamiliar model, it seems bizarre or incoherent until you
internalize it. I remember this happening with me and perl--until I
made the right mental twist it didn't make a whole lot of sense.
(Forth and assembly language had similar moments. Alas I've never
managed that moment with Lisp)
This certainly isn't unique to computer languages, as I'm finding
something very similar with Japanese, and found it to a lesser extent
ages ago with Latin. It's just one of those things. Some people
manage easily, some with a lot of trouble, and some never do. And, of
course, some people don't notice that there was any issue in the
first place.
I've yet to come across a computer language that doesn't have a
central mental model to it (not even INTERCAL. It just has a twisted
one) though I expect there must be one out there somewhere. Maybe
PL/I, though I've never worked with a full implementation of it.
--
Dan
--------------------------------------"it's like this"-------------------
Dan Sugalski even samurai
dan@sidhe.org have teddy bears and even
teddy bears get drunk