Subject: Re: lojban as a programming language [was Re: [lojban] Lojban for lay programmers]

From: Brook Conner <[email-masked]>
Date: Thu, 24 Jan 2002 16:31:18 -0500

On Thursday, January 24, 2002, at 03:05 pm, Robert J. Chassell wrote:
[ snip agreement ]
> This is where Lojban begins to illuminate programming questions, but
> as Tommaso Toffoli says:
>
> ... Perhaps its greatest scientific challenge will be not to
> confuse the needs and resources of this specialized community with
> those of the larger community it addresses.

Erm, I'm having trouble parsing out the intended meaning of that 
sentence out of context. I can think of three "communities" - 
lojbanistan, computer programmers, and computer users. Which one is the 
"specialized" community? lojbanistan or programmers? And which is the 
larger community? programmers or users (I *know* it isn't 
lojbanistan :-)?

If you were to ask me, I'd phrase this differently (or at least, what I 
think the quote is trying to get at).

There is a tension between three factors: formalism, expressiveness, and 
facility. The language should be clean and formally correct, with a 
minimum of necessary mechanisms - pure Scheme or the lambda calculus are 
good examples here, as they have very few mechanisms (but as a 
consequence, expressing interesting things is amazingly verbose). The 
language should be powerful and able to express things in many different 
ways - perl is a good example here, as few claim it is easy to learn and 
formally it is a mess. And finally, it should be facile, or easy to 
learn and use - in programming languages, Logo or AppleScript come to 
mind, which can be learned by children and non-programmers but are 
usually too stifling for a professional programmer and too messy for the 
theorist.

lojban's syntax is arguably a good balance between formalism, 
expressiveness, and facility. The trick is to get the semantics to be 
the same.

> But we will need to settle these questions. So we will have to
> make the choice. Or do it two different ways, initially, and break
> the `single meaning' rule.

No - don't break one word == one meaning. Computers will want that 
anyway. Go through a revision process for the semantics - prototype, 
alpha, beta, gold. Gold is the equivalent of the Red Book - it doesn't 
change save for errors.

> Right. But can you think of any other potentially speakable
> language, suitable for non-programmers, that is better?

No, I can't.

Brook

--
Klactovedestene!