Simon Cozens wrote:
> <scream>
> This is the kind of thing that can be dealt with perfectly satisfactorily
> with external modules; ergo, it does NOT need to be in the core. Ergo,
> it probably *does* *not* *need* *discussing* *here*.
Much of the discussion on this list seems to concern what will be the syntax
for expressing common semantics, such as array references or properties, to
name a few recent ones. This thread seems to be another one such: what will
be the default syntax for multidimensional arrays and how will that syntax
hamper or encourage mapping it to SQL semantics.
> You're (that's to say, the person at self-reference.com who is not
> prepared to reveal their real name) exhibiting a common trait amongst
> perl6-language people, and that's to concentrate on a specific
> application *of* the language, and then from there making the bizarre
> leap of logic to believing that it needs to be *in* the language.
I think his point was simply that you should keep this example in mind as you
design the language. While one may build a general tool or product, people
invariably fall on their face if they don't keep in mind the use or customer
of the tool or product as they build it.
> This is hugely bogus and leads very quickly to second system effect, as
> the RFC process has shown us. Don't do it. Focus on the bigger picture
> instead. Good language design starts when you stop thinking "I want this
> and this and this" and start thinking "how can we solve all these
> problems in one generalized way?"
Examples of successful people in the field of theoretical work point to the
conclusion that the only way to achieve good abstractions is to
1 - start with lots of examples, work them out, and then
2 - try to find what they had in common and thereby generalize from them.
Halmos' answer to how to learn mathematics: examples. Feynman's answer to
how to do physics: examples.
More than any other language I've ever seen, Perl seems to be designed by
making sure that the most common 2 000 things someone has ever needed a
computer to do "real quick" are expressible in the least amount of typing.
While this leads to "the funny car of programming languages", its a pretty
useful funny car. Screaming at people however, is not terribly funny.
> But of course, I'm sure you already know what makes good language design,
> because otherwise you wouldn't be mouthing off in here. Right?
Somehow this comment seems to apply to all of us on this list, including
you. How dare we to think for ourselves! Don't you need a license for that?
> </scream>