[self-interest] Our two weapons are fear and surprise...and..
Niko Schwarz
niko.schwarz at googlemail.com
Thu Aug 6 13:46:50 UTC 2009
Hi!
On 06.08.2009, at 00:12, Steve Dekorte wrote:
> "The control structures are built in and obvious"
>
> How are they any more obvious?
>
I don't mean to speak for brassblume, but I would like to answer.
A smalltalk loop like
#(1 2 3 4) do: [:el | Transcript show: el]
needs the reader and programmer to understand two separate things.
What a loop is, AND what a block is.
Now you may say that I could just ignore the block magic and treat the
syntax as magic, just like Java folks do. But Smalltalk won't let me.
Blocks are built deep into the system, and you need to grasp them to
get your head around to why the bevy of different iterators you will
come across works.
Also, I could imagine that novices don't necessarily appreciate that
"everything is the same!", as I told them with wet eyes about the
beauty of Smalltalk. Everything is an object is a thing of beauty. But
as a novice, you are analyzing, and at least it doesn't HELP that
message sending and looping are entwined, and in fact look exactly the
same.
In Java you can easily recognize loops. They come with a "do," a
"while," or a "for." In Self not so much.
I suspect that the uniformity of Lisp is a reason why people find it
difficult. You get lots of power from that uniformity, but it also
confuses you by not letting you easily distinguish between separate
concepts.
cheers,
Niko
More information about the Self-interest
mailing list