Program your computer (addendum)
--------------------------------

It's great to hear that my last post resonated [1] with a few other
people.  Maybe there's hope yet! :)

Before the dust settles, I want to add a few clarifying
remarks. Reading through my post now I realise that I never explicitly
defined what I meant by "program".  This word is usually taken to mean
writing code in some text editor, IDE or what have you, in some
programming language or other.  With this narrow interpretation in
mind, the post might come off sounding a bit gatekeepy.

This is emphatically not what I mean.

Instead, by "programming" I mean any activity which allows the user to
combine primitive operations and create _their own_ abstractions of
those combinations. From this point of view, programming can take a
plethora of different forms that look very different to what we think
of as big-P "Programming", and there's no reason these forms need to
be complicated.

Once upon a time there were lots of efforts in this direction.  Think
LOGO with its turtle, and a lot of Alan Kay's work: live-programmable
Smalltalk desktops, and the Dynabook concept.  Why did we stop?

In my opinion, designing fully programmable environments which are
truly accessible for the majority of users needs to be a much bigger
priority than it currently is.  Only in this way can we hope to narrow
the *wholly artificial* gap between programmers and non-programmers.

Users should be more than consumers.

--
[1] gemini://bbs.geminispace.org/s/programming/4784