[Edu-sig] Natural Language Programming

Kirby Urner pdx4d@teleport.com
Wed, 10 Jan 2001 10:12:05 -0800


These are complicated and eternal matters re language that
we're tackling.

In terms of economics, it's a question of "pay off".  People
generally don't read Buckminster Fuller's 'Synergetics' (a 
home base for a lot of the geometry I'm phasing in to K-12)
because, upon cracking the cover, they immediately see that 
the vocabulary is (a) somewhat duanting and (b) fairly unique
to Fuller in a lot of ways.  It's (b) especially that's the
turn-off.  Like, what's to gain if what I learn only helps 
me navigate Bucky Lit 101??  I want _transferrable_ skills.

As I'm a product of the Philosophy Department in a lot of ways,
I'm used to picking up books with as many flavors of "Being"
as Eskimos apocryphally have for "snow".  The author will have
been pain-stakingly precise, and invented a language that doesn't
really exist except between these two covers.  Actually, I've
just described 'Synergetics' again -- except "Being" isn't the
"Snow" in this book (more like "System" or "Tetrahedron").

There are those of us who are tempermentally curious about 
Individual Philosophers and don't really care that we're 
spending time in Private Worlds (Wittgenstein's is another
I savor).  Maybe that's why I like science fiction as well.  
No, this Universe doesn't really exist and therefore, when 
I'm done with the book, or the series, and learned a hell 
of a lot about the ins and outs, I'll maybe be no more 
"worldly" vis-a-vis the Universe which actually obtains.  
Or will I?  I'm reading 'Red Mars' these days, by the way.

The thing about these remote, private languages, these weirdo
Philosophies, is that, like Poetic works, they may of partake 
of what's generalized and principled.  So you _do_ absorb 
something that's of eternal value.  And because the Work (Opus)
was _internally_ tight, consistent, like a clockworks in a lot
of ways, you really _do_ come away with deeper comprehension
of Worldly Matters.  Transferrability is a possibility, even 
an actuality.  Or so I would claim, based on my personal 
experience.

OK, so now substitute Software Package for Philosophy Book, 
or Curriculum for Science Fiction Universe, and you start to 
see where I'm coming from.  "Is it really worth my time to 
master this arcane package and/or language and/or "environment" 
(I can hear Arthur scoffing)??"  That's the central question 
after all, because life is short.  Is there Quality here?  
Or am I going to be Wasting My Time (cardinal sin?).

A good teacher isn't necessarily in a position to answer that
in some simple "yes" or "no" way.  The best one can do is 
perhaps say "this is what I found valuable, this is what worked 
for me along my journey".  If the student respects where the 
teacher ended up, i.e. looks to the teacher as a role model 
in some ways (kind of what we _mean_ by teacher), then these 
hints, clues and cues may carry some weight.  The earnest 
student will go check out the teacher's teachers.  That's 
how it really does work in the real world.

Finally, as Arthur points out, we over time develop a Community
that speaks a similar shop talk, so in gaining entre to a 
Philosophy (or software package, or language), it's not just
a set of skills you're mastering, but a set of contacts, 
relationships, peers, cronies, colleagues (living and dead).
It's not necessarily a point against a Community to say "oh,
that's just an inner circle, and exclusive group!"  I mean,
like, yeah?  So?  Got a problem with that?  Of _course_ we have
clubs and clubhouses in this world.  Like what'd you expect??
Like, I remember when E.J. Applewhite invited me to his 
Cosmos Club that time.  I didn't have a dinner jacket on me, 
so we skipped the drink, but I got the tour, and still have 
the Cosmos Club comb I picked up in the fancy marbled bathroom 
where it was a true privilege to pee.

So if you want to talk shop with the computational geometers,
probably a good idea to start learning the lingo, which includes
translate, scale, vector, matrix, lattice, symmetry, rotation,
symmetry group, polyhedron, vertex, edge, face, Euler, Gauss, 
Coxeter, Fuller... blah blah blah blah blah blah.  Really, 
it'll be worth your time, if this is the Community in which 
you seek membership.  Or if you're more an Idea Merchant, a 
Gypsy traveling between Systems, it's at least worth learning 
some of the key terms and meanings each Community holds dear 
-- the better to trade with them my dear, and profit from the 
endless Synergies you will find, if you only live long enough 
to become trully Worldly Wise (not something you'll become 
overnight -- and it really helps to find some good teachers).

Kirby

PS:  In Python, don't forget that you can just define synonyms.
Like, if your Vector object has a translate(self,v) method (mine
does), feel free to write:

       def move(self,v):
           return self.translate(v)

And you could define resize() as an alternative to scale().

In other words, most powerful languages admit synonyms, even if
at the lower levels, we don't admit them because we're trying 
to be spare (stark, austere, economical) so as not to confuse 
the poor compiler/interpreter (like, at the level of quantum 
mechanics, you just want the one proton and neutron, whatever 
we call 'em).