This is the mail archive of the guile@sources.redhat.com mailing list for the Guile project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]

Re: Translation for extension is a bad idea


>>>>> "Han-Wen" == Han-Wen Nienhuys <hanwen@cs.uu.nl> writes:

[...]

    Han-Wen> If you are a developer considering an extension language,
    Han-Wen> you will consider the following issues:

You're looking at this only from your perspective, and not from the
user's perspective.

[...]

    Han-Wen> 	6. is the language popular enough?

It seems here Python (and, sadly, Perl ;-) scores much higher than
Scheme (or any Lisp derivate).

    Han-Wen> 	7. do I enjoy writing code in the language?

"Will my users enjoy writing code in the language?".  The question is:
who do you do that extension language for: yourself or your users.

It sounds (at least to me) as your goal, Han-Wen, is to have a
language for yourself.  Not that that is not a valuable thing...  but
it is (IMNSHO) not the primary function of an extension language.

[...]

    Han-Wen> I see a lot more non-technical problems:

    Han-Wen> * What's the point in trying to do away with parentheses?
    Han-Wen> One of the strengths of Scheme is that code = data, and
    Han-Wen> data = code. How will you achieve this with code coming
    Han-Wen> out of a translator? By translating you take away the
    Han-Wen> biggest redeeming feature of Scheme.

Repeat after me: "Will my users enjoy this language".  I'd actually
like to have some kind of BASIC as an extension language (one of many,
mind you... I'd like to give users maximum freedom... similar, but not
the same as "TIMTOWTDI")

    Han-Wen> * What does the Free Software World benefit from another
    Han-Wen> version of {Tcl|Perl|Python}?  The GUILE community only
    Han-Wen> has a limited amount of manpower. Why should it be spent
    Han-Wen> on writing clones of tools that have perfectly working
    Han-Wen> free alternatives?

I have to agree here: I don't much see the need for a sort-of Python
-> Scheme translator if Python can be embedded alongside Guile.

[...]

    Han-Wen> * Where is the benefit for the application developer in
    Han-Wen> having multiple extension languages?

That is were I strongly disagree: (an) extension language(s) is for
the *users*, not for the application developer (mainly).

    Han-Wen> From an software engineering point of view, multiple
    Han-Wen> components with similar goals (eg., different language
    Han-Wen> frontends), are a bad idea. In my role as a developer, I
    Han-Wen> would demand that extensions be written in only one
    Han-Wen> language, just for the maintenance aspect.

I recently interviewed with a company that had just decided on
deploying a CMS for their intranet... which is only extensible in TCL.
No way I'd ever make such a stupid decision... especially when, like
that company, I was trying to reduce the number of languages used
in-house (and TCL wasn't one the languages in current use).

Again, it's user-perspective vs. developer-perspective.

[...]

    >> We've already decided to do things this way.

    Han-Wen> As I explained in this post, I think that translating
    Han-Wen> languages into each other for extension purposes misses
    Han-Wen> the point, and I can't imagine people wanting to write
    Han-Wen> nor to use translators.

    Han-Wen> Basically, I think it is a bad idea. Maybe you should
    Han-Wen> reconsider the idea.

As mentioned, I kind of agree.

[...]

    Han-Wen> For instance Sawfish is doing lots of good for the public
    Han-Wen> perception of LISP (and hence for GUILE).

Sorry, but you're mistaken here.  We can all *wish* Sawfish would do
anything for Lisp, but most people using it (and most if not all
Helix-GNOME users are) will most certainly not even be aware that it
is largely implemented in Lisp (nor do they care).

    Han-Wen> It's too bad that the space for window managers has
    Han-Wen> already been taken from GUILE, but maybe we can show the
    Han-Wen> power of GUILE with another application. That will
    Han-Wen> accomplish much more than any kind of translator will
    Han-Wen> ever do.

Actually, there's SCWM (you're aware of that, I assume).  Which makes
a bad point for Guile when compared to Sawfish (but that may or may
not be the fault of Guile).

Bye, J

PS: Personally, I'm not waiting for Guile... I've tried to put it in
one of my projects as a config lang, but when I suddenly got compile
errors because some interface changed (for not apparent reason)... if
in a couple years (my hopes are obviously not to high) it is useable
(for some definition of), I might reconsider.  Until then, I keep
lurking here, and watching.

PPS: And even for an avid Emacs Lisp fan (and hacker), Scheme is just
to strange in some ways (and thus to hard to get up to speed in when
comparing it to Python)

-- 
Jürgen A. Erhard      eMail: jae@ilk.de      phone: (GERMANY) 0721 27326
     MARS: http://members.tripod.com/Juergen_Erhard/mars_index.html
             "vi has two modes the one in which it beeps
             and the one in which it doesn't" -- Alan Cox

PGP signature


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]