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

Re: dual-language systems increase modularity



At 9:58 AM -0500 11/16/03, Vadim Nasardinov wrote:
>One of the things the recent LL3 workshop made me think about is the
>practical utility and usefulness of embedding a scripting language in
>an application.  Roberto Ierusalimschy gave a talk about the Lua 5.0
>VM[1].  The language was designed to be easily embeddable and is
>currently used by major gaming studios to script their games.  It is
>also used to control other kinds of application, such as the C--
>compiler described by Norman Ramsey[2].  Ramsey says,
>
>    Using an embedded, interpreted language to control a complicated
>    application can have significant software-engineering benefits.
>
>What exactly are those benefits?  I think one of the possible answers
>to this question was provided by Dan Sugalski's hand waving in his
>talk about boundaries[3].

There's one big benefit (which is, itself, a potential downfall), 
bigger than what you've looked at so far: The license to give up 
control. Once you accept that parts of your program or system will be 
controlled externally, you'll tend to lose the "I must do everything, 
and it must be done this way" feeling that so often goes with the 
illusion of total control. This is good, because then you'll  find 
yourself not trying to do logic programming in C, heavy-duty 
number-crunching in Forth, or AI work in Perl.
-- 
                                         Dan

--------------------------------------"it's like this"-------------------
Dan Sugalski                          even samurai
dan@sidhe.org                         have teddy bears and even
                                       teddy bears get drunk