[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

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




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!