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

Symbiotic languages (was Re: "Python for Lisp Programmers")



On 12/6/01 10:31 PM, "Eric Kidd" <eric.kidd@pobox.com> wrote:

[snip]

> For me, "lightness" isn't solely about the language or the
> implementation or the packaging--it has to do with the complete
> experience.

[snip]

> * Interesting (but poorly known) ideas from JavaScript

[snip]

Here's an idea I had regarding another possible definition/description of
"lightweight languages" -- meant to be no better nor worse, necessarily,
than the rest that have come before it. And secretly, it's my bid to
introduce another language into the discussion I haven't seen mentioned yet.

JavaScript is interesting to me to consider as a lightweight language
because it has no home of it's own. JavaScript's whole purpose in life is to
"enhance" (I'll leave that to everyone's personal interpretation) the
experience of using the Web.

In a similar vein, consider Lua <http://www.lua.org/>. Lua is built to be an
extension-language, and has no concept of it's own main() -- it's purpose in
life is to enhance the programs and software it's embedded in. Lua's had an
interesting life so far, and has attracted a lot of game developers who use
it to do dynamic things (compared to what they're used to) inside their
mostly static C-centric environments.

Lua, to me, classifies as lightweight because it extends something other
than itself in a more dynamic, burden-freeing fashion: it's inclusion makes
something that was heavy, lighter (in terms of actually hacking on software,
not necessarily in terms of size of deliverable).

I classify Lua, and JavaScript as "symbiotic" languages. I could call them
extension languages, which they are, but they're different in that they only
exist when given a proper host, whereas I could embed Perl, etc. into
anything and therefore extend it (as is commonly done with vim or Apache
httpd, for instance).


-- 
Dan Moniz <dnm@pobox.com> [http://www.pobox.com/~dnm/]