[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!