[Edu-sig] As We May Think: What will we automate?
kirby.urner at gmail.com
Mon Mar 23 16:52:31 CET 2009
On Mon, Mar 23, 2009 at 5:33 AM, Bert Freudenberg <bert at freudenbergs.de> wrote:
> On 23.03.2009, at 10:38, kirby urner wrote:
>> Not really directed at Turtle Art proposal no.
>> I think [...] that there's a backlash against lexical coding as that means
> Not at all, in my opinion. It's not against having to type, it's about
> covering distance one step at a time.
> I like to compare the issue to this: When kids first start to understand and
> speak themselves, it would be quite detrimental if they were forced to use
> correct grammar or even speak the punctuation out loud from the beginning.
> They will have enough time to learn that later, after the basics of language
> are internalized.
OK, I at least understand the rhetoric I think. Provide a forgiving
learning environment in which some kinds of mistakes aren't "punished"
or even considered relevant. You're still learning a heckuva lot and
we'll get to those niceties down the road.
The next question is whether to buy it...
> When you introduce the concept of programming, learning the syntax is only
> one of the challenges the student has to master. If you can focus on
> statements, sequences, passing arguments etc first without having to
> introduce syntax at the same time, you remove one big hurdle.
I guess I'm somewhat inclined to turn it around and say "here are some
language games where syntax really matters a lot" i.e. we're going to
have fun getting immediate feedback if so much as a period is out of
place. This takes the place of Latin and/or Greek in the old
classical curriculum, what they gave to elites long before "machine
logic" was a reality -- yet they still wanted something "fascist" to
drill around, along with lots of arithmetic (only one right answer
i.e. very strict as well...).
That being said, some of the games substitute "punctuation type"
syntax (e.g. significant whitespace) with "graphical type" syntax --
more like a jigsaw puzzle except with way more permutations. It's
like throwing something away by dragging an icon to the trash: the
liberal visual syntax says "at least hit the trash can but the angle
of approach and speed of the dragging are somewhat irrelevant"
> Now Python is simpler than most popular languages but I'd still say it is a
Or even unpopular ones in terms of what you can do with it...
> needless complication for beginners. The best argument for starting with
> Python anyway is that that the available graphical tools are insufficient.
Or maybe the argument is strict syntax is the main thing you care
about e.g. you're a music teacher and the next step is programming in
musical notation for multiple instruments.
You learn some Python first -- building on some experience with
related f(x) math notation for eating and operating with number 'n
string types -- on the theory that a tightly constrained lexical
environment is your ticket to becoming an orchestra conductor down the
road someday, or something similar.
In sum: expose yourself to strictness because of strictness down the road.
What's so attractive about using REPL for feedback is the computer
corrects you "impersonally" and in the privacy of your own experience
i.e. you don't have some "other adult" saying "no that's not it" over
and over. A lot of adults just want that freedom to make mistakes in
peace and in solitude, would prefer not to run Python over the web
because they think some "teacher" might be "keeping score".
That probably sounds overblown, but I'm trying to circle part of what
I think machine executing languages contribute towards healing and/or
saving "a broken math pipe" (the problem of too many students feeling
forever heartbroken that math will be never be "their thing" -- we
want them to love it again, reopen those doors).
There's a kind of authoritarianism in math pedagogy / andragogy that
you get away from once there's a feedback cycle that lets you practice
to make perfect, even better than having answers in the back of the
Now (at last!) you get to "practice" like you would with a skateboard,
or with with a tennis racket and ball against the wall. You can even
doodle, i.e. write goofy little scenarios around Foo and Bar that're
just idle experiments -- but in your dreams, it's all about
storyboarding for some career (and not that unrealistically maybe, is
the promise here...).
> Most of them are a dead end, they do not lead seamlessly from the graphical
> representation to the textual one. I actually have quite some hopes for
> Alice 3 (although regrettably they chose Java instead of Python as in Alice
> - Bert -
That seems as clear a visionary statement as any, thanks for adding in
to this thread. I'm always trying to figure out what this "pie in the
sky" for children thing even is, i.e. what would it look like if we
finally had it (a syntax-free coding language?).
Is it MIT's Scratch? Maybe closer to Alice 3 then.
I'm still somewhat baffled and/or a semi-skeptical.
I like having lots of visual *analogies* for adults, even corny ones
or cliches. But the thing about analogies is they don't have to
"work" i.e. here's a short animation, but we're not building a whole
new language on the side, something that'll run independently, is if
daydreaming about driving your car could replace actually driving a
But then that's what a GUI is really doing in so many cases i.e. you
have all these mousy ways to move icons around, isomorphic to bash cp
and mv commands with those files. And when we slide widgets from a
palette to a canvas, it's not unusual to have a few hundred lines of
lexical code autogenerate as a result of that process. That certainly
helps pay the bills.
I'd like Python to come with more of those tools, not fewer. You'd
think Microsoft would have done it with IronPython by now, given as a
veritable dot net "BASIC killer" with all that Visual Studio / Visual
FoxPro style drag and drop drippy goodness.
But then I think Microsoft is mired in BASIC and its derivatives much
as some in the health care industry are mired in MUMPS. There's an
army of hungry mouths to feed, a constituency, and they want it to
work in the language they know already, and learned from you,
Microsoft, your hero and role model in terms of strong-arming a way.
Would you dare turn your back on your customer base, given your role
That'd be like voting against a war that'd make the prime contractor
in your district a boatload of money, add jobs, the same contractor
that helped you get elected in the first place...
It's fun watching FOSS on Windows, how that works or doesn't. At
least once there's a FOSS browser in the picture such as Mozilla, it's
pretty easy to go thin client and do the FOSS stuff in the back
office. In getting away from thick clients, just using HTTP for
everything, we bypass all that thick client complexity for basic data
Use special analysis tools like SPSS or Mathematica on your own
workstation, sure, but for shared research data, break free from
Access and run more code on the back end. FOSS shines in providing
strong SQL engines, and is starting to offer some great "schemaless"
document storages as well (thinking of both CouchDB and Tokyo Cabinet,
perhaps the basis future medical record systems, keeping SQL for
research registries, e.g. NCDR).
Anyway I guess it comes back to the notion that ordinary living is
"programming" in the sense of sequencing events, being inside of data
structures and so on. Syntax matters in the sense that sitting on a
two legged stool is asking for trouble. When you go to the theater,
they hand you a programme. That's the genesis of "scripting
languages" (Wittgenstein walks toward the fireplace...).
One of the fun things about those "immersive world" approaches is you
come often across strict syntax in an embedded context inside that
very world, e.g. you get to play chess with some Queen of Hearts, as
some Alice in some wonderland (presuming that chess is both strict and
syntactical -- we could argue not I suppose).
More information about the Edu-sig