This is the mail archive of the
guile@sources.redhat.com
mailing list for the Guile project.
Re: Translation for extension is a bad idea
- To: Jost Boekemeier <jostobfe at linux dot zrz dot TU-Berlin dot DE>
- Subject: Re: Translation for extension is a bad idea
- From: Han-Wen Nienhuys <hanwen at cs dot uu dot nl>
- Date: Tue, 11 Jul 2000 23:30:20 +0200 (CEST)
- Cc: guile at sourceware dot cygnus dot com
- References: <p2td7kk1tiw.fsf@ruebe.zrz.tu-berlin.de>
- Reply-To: hanwen at cs dot uu dot nl
jostobfe@linux.zrz.TU-Berlin.DE writes:
>You probably don't want to use scheme as an extension
>language for lilipond because this would make your customers
>stay away from your program.
Duh. Customers didn't stay away from the program. They didn't when it
was in C++ exclusively, and now that there is getting to be more
Scheme, they still don't. (And no, they also don't contribute
code. Not then, not now)
BTW, it's called lilypond, not lilipond.
>Wether you invent your own configuration language to let you
>customers
>extend lilipond or use some other "standard" language doesn't matter,
>translating your language to scheme *should* be easier than writing a
>new language interpreter from scratch.
I don't buy this:
if I want to use a standard language, I embed the an
interpreter for that standard language.
I don't go around designing my own langauge, because (quoting the
GUILE webpage)
A good [..] language takes time. We've taken that time
for you.
I would defeat the purpose of having a full-blown interpreter for a
mature language by designing my own.
Brent Fulgham:
>This is especially true where you have multiple users who each prefer
>a different language for extension. Linking to 'n' different
>interpreter binaries, using 'n' different embed-API's and 'n'
>different sets of interpreter quirks rapidly produces a massive
>problem space for the application developer, and for debugging
>problems with a user's scripts.
Again, I don't buy this. If I were to use GUILE, I'd have to use n
different translators each with their own quirks. As a bonus, there
are much less developers working on GUILE translators than on each of
the Tcl/Python/Perl languages, which would result in less rapid
bugfixes.
And I don't really believe that a developer will give thought to a "we
want Tcl for extension" when there is already a functioning Scheme
extension mechanism, especially if he/she is short on time. (Well, in
any
case, I wouldn't).
[On the factual side: the only multi-language app that I know of,
Gnumeric, has different plugins for each language and uses the
standard interpreters for each. The developers are actively pursuing
interoperability using CORBA/Bonobo, and they are not using a unified
language.
Perhaps the developers of gnumeric can give us a piece of their mind.]
--
Han-Wen Nienhuys | hanwen@cs.uu.nl | http://www.cs.uu/~hanwen/