Croquet alpha release(s?)
Stephane Ducasse
ducasse at iam.unibe.ch
Sat Dec 7 15:20:00 UTC 2002
Hi bert,
do I was bashing? No I was wondering if I missed really something.
> On Fri, 6 Dec 2002, Stephane Ducasse wrote:
>
>> when I saw the extension Matrix[,]
>> I thought that this was not worth. Have you arguments why having this
>> is good?
>
> Readability.
>
>> Why Matrix with: with: is not sufficient?
>
> Probably for the same reason you will dish {x.y.z} but rather write
> (Array
> with: x with: y with: z). Fine. You don't have to. And if you can't
> stand
> seeing Matrix[i,j] in the Croquet code, switch on "decompile" in your
> browser and you'll see (Matrix matrixAt: i at: j).
>
> I consider myself an experienced Smalltalk code reader, but it takes me
> much longer to mentally parse
> a matrixAt: (1 to:3) at: #all put: (b matrixAt: #all at: (1 to: 3))
> than to understand the equivalent
> a[(1 to: 3),#all] := b[#all,(1 to: 3)].
I agree that this is more readable even if I do not understand the
expression either.
But then can you explain me as a new guy where I can find the
definition of {}
because I can find ifTrue:, do:.... but {} is hardcoded in the compiler
as the other constructs.
So may be it would be better to have a way to declare new construct
than hacking them
in the compiler. At least we could present it in a non ad-hoc fashion.
Note that this may be a bad solution because programmers are like gaz,
they tends
to use of the features proposed. So I'm sure that in no time we would
end up in a mess.
>
> Having a minimalist syntax is great, but religiously bashing any
> extension
> is short-sighted, at least. Even your "minimalist syntax" paper showed
> braces, although you omitted them in the discussion. ;-)
There is a distinction between showing all the constructs so that
readers
can understand the code and agreeing on this kind of constructs. I
showed it for completeness sake.
When I send these emails I was trying to educate my taste as language
designer. I learned a lot from the discussion. Still this is not clear
what I would put or not into a new language. I like the
idea that with message and block we got nearly everything.
> If we went for a truly minimal syntax we could remove method cascades,
> binary messages, or even variables, assignments, and returns, probably
> a
> lot more. Why are these still here? Readability.
I think that Smalltalk has better to do for evolving that changing two
bits of syntax.
Especially because I finally found really sad to have a lot of small
communities that
are reinventing things. I think that cross dialect tools such as RB,
swazoo are important.
But apparently we like all to stay in our small little microscopic area
and watch other communities
growing.
I think that having a scriptable system without UI (but loadable), good
interoperability
with C, definable core image, .... is more important. Eventually
escaping the closed sweet world
of the image.
Have you read the slides of the presentation of Dave Thomas at ESUG?
http://csl.ensm-douai.fr/esug2002/2
This makes me think a lot of what could be a new Smalltalk-like
language that would change radically
from what we have still keeping the best.
Why people like Ruby, Python, do they are only ignorant of our great
language or is there something else?
{} file-based, emacs?? I do not have the answer but I'm really
wondering.
> -- Bert
>
>
>
Dr. Stéphane DUCASSE (ducasse at iam.unibe.ch)
http://www.iam.unibe.ch/~ducasse/
"if you knew today was your last day on earth, what would you do
different? ... especially if, by doing something different, today
might not be your last day on earth" Calvin&Hobbes
More information about the Squeak-dev
mailing list
|