Looking for ugly code comparisons WAS: Slashdotter looking for kids' programming language
geradamas at yahoo.com
Sat Dec 13 05:38:41 CST 2008
Reposted as forgot to title the posting - sorry, JRM.
viktoras didziulis wrote:
"I should agree with Dave's point. Especially in countries, where English
is not native language like Lithuania and Bulgaria ;-) "
he is exactly right.
The only 2 things that can be said in RR's favour
(as opposed to PASCAL and Co.) are:
1. the programming language can (but doesn't always!) resemble a
real, spoken language.
2. objects 'walk around with their own code' (c.f. Visual Basic 5).
I teach an intro to RunRev (3 x 90 minutes) as part of a
"Summer of Fun" English course (sorry about the awful title,
but what else do you call that sort of course?)for kids who
already have a fair bit of English. Without a modicum of English
the kids would be lost.
As a experiment, I got BBC BASIC running inside some
BBC Micro emulators
[ http://www.stairwaytohell.com/index2.html ]
and got some kids going with that. Their only, initial
objection, was that they had become dependent on a GUI
and felt "funny" with a command line: after a few gruff
"Grow Ups" they got on with things. Now they preferred RR,
but only from the point of view that they could make
visual programs; they didn't really see the programming
language as particularly easier.
Of course if one wants one can go all the way to those
"programming languages" where all one does is drag building
blocks around a screen. However, my experience teaches me that while
kids can rapidly get a blood-rush to the brain by getting
working 'programlets', they learn little or no transferable
skills; take them from that and shove them in front of a machine
with RR, or BASIC, and they are stuck fast, back at ground zero.
What has to be admitted by the "I want it now, and preferably
with no effort at all" brigade is that everything comes at a price:
and I, for one, don't want to spend my old age in a world inhabited
by people who can't or won't make a mental effort for anything.
All the members of this Use-List have dragged themselves through the
learning curve of at least one programming language (err, what do you
call it again; RevTalk, Revolution, Transcript, and so on); and, like it
or not, that is a necessary part of the process of understanding how
programming languages work. And, without that sort of understanding,
however "user-friendly" a language/RAD is, sooner or later one is
going to come up against a socking great mental wall.
I usually spend the first 60 minutes with the computers turned OFF,
and play around with lots of yoghurt pots and beans
(the Container Metaphor); and talk a lot of rubbish about production
lines in factories. Plus, prior to that, throw slide-rules at the kids so
that Mathematics moves out of the computers and calculators into
I am sick to death of people who go on
a course and then inform me they can program computers because they
can read their e-mail, type a letter in Word, and run up a spread-sheet
Frankly, 'programming' by dragging virtual LEGO blocks around is not
programming; unless, of course, you consider the ability to knock up
a power point presentation the peak of programming skills!
As every Bulgarian child, supposedly, is taught English at school (and
the 'supposedly' is how I make my money), there should not be a
particularly high barrier for teenagers to jump over with RR.
The barrier, in Bulgaria, comes from the fact that educational-method
is still rooted in the 'swot-and-regurgitate' school of thought that
Britain abandoned in the 60s. This stifles the type of abstract
and creative thought that is needed for good programming (try and
make a concrete model of a for-next loop).
However, in Bulgaria there is hope, as education can move into the space
that in Britain (amongst other places points-west) was abandoned for
the effortless pap that now passes for education.
Sorry about the rant; but I do feel extremely strongly about the
sincerely, Richmond Mathewson.
A Thorn in the flesh is better than a failed Systems Development Life Cycle.
More information about the use-livecode