Some questions on Slate syntax
lsalzman1 at cox.net
Sun Mar 27 16:22:58 PST 2005
It's not just tailored more to how computers work. When it
comes down to it, it makes as much intuitive sense as any
other way. Starting from the origin, how far away is some
thing? Giving you a spatial metaphor for working with items
I would argue makes it easier to see in your head what you're
doing. I can easily visualize grid space, but I can't easily
visualize a jumble of objects that I've counted.
Counting makes sense to me for talking about the size of a
collection, but really makes no intuitive sense to me elsewhere.
Now, maybe I have been programming too long and have built
up a new set of intuitions, but even so, at this point I'd like to
think that the spatial metaphor is simply the better idiom and
is worth learning.
Slate introduces a lot of concepts that have to be learned,
and once learned, are natural as anything. It is not trying to
accomodate existing ways people think so much as it is
providing a good way to describe the inner workings of things,
one I would argue is better than the normal human convention.
How often do people think about the metaphysical? Not so
much. We humans operate in a world of blackbox things. All
bets are off when you enter the realm of the conceptual. Stuff
like PMD is just plain weird and non-intuitive at first to most
people, and it still weirds me out when I try to find a good
physical metaphor for it - but does that mean it is useless?
Bill Sun wrote:
>I think I understand what Lee is getting at. 0-based makes more sense
>when you're looking at low level computing. Which is more tailored to
>how computers work.
>But Shaping and myself are going from a human interfacing
>point-of-view. For the most of us 0 is neither a positve number nor
>a negative number, it's that "mysterious" thing that sits in between.
>0 is nothing. I have 0 rocks, means I have no rocks.
>Furthermore, when counting, of course it would start at the first
>natural number. With arrays, we often find ourselves iterating over
>them. So it seems natural to refer to the n-th element in the array
>as...well, the n-th element.
>I guess this is why Smalltalk took the 1-based array approach. As it
>is designed to be a high-level language that is more natural for
>humans to interact with.
>I believe when C adopted 0-based arrays, it was because it was faster,
>as memory locations starts from 0. I don't know if the trade off in
>speed versus consistency with human conventions is as much as it was
>before, but I think being a high-level language like Slate, it merits
>consideration whether it makes more sense to tailor the language more
>to human conventions or to computer conventions.
>My argument would be, like David pointed out in his reply on this
>topic, but slightly modified, consistency would favour staying with the
>convention used by "humans".
More information about the Slate