lua-users home
lua-l archive

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

----- Original Message -----
> However, I agree with your sentiments - picking a scripting language
> because it is small is, IMO, the wrong approach.  We will forever have an
> editor with an identity crisis - it wont know if it wants to be a serious
> editor, or a light, toy editor.  Adding small scripting would simply blur
> that distinction.

Let me just clarify a few things about Lua:

Lua is small. A DLL compiled of the standard distribution weight in at about
163 KB.  (Compiler, interpreter, libraries)

Lua is pure ANSI C. Several C++ wrappers exists.

Lua is fast. Anyone who have compared Lua with VB, Perl, Python, JavaScript
and others have come to the conclusion that Lua is the fastest.

Lua is a new language. This ofcause mean a new syntax - we all hate that.
But it also mean that Lua is not bound of any "old OS design" legacy. Lua is
designed for 32bit from the start. There is a great memory model that has
dynamic arrays, tagmethods to alter the interpreter functionality. Different
people have created many object models and things with the tagmethods.

Lua is easy. Its a very simple language to learn. Any "Script Kiddie" would
learn it in a hour or two :-)

Lua is lightweight. There are no big libraries with Lua, only simple
cross-platform libraries (Strings,IO,math). There are many people who have
created libraries, but they are not part of the main distribution.

Lua is not lightweight. I'm using Lua as the basic for all the programming
in a big commerial ERP package. Many of you who are gamers may ave played a
game that either used Lua for scripting or where Lua have been used as part
of the development system.

Lua works. It is very hard to find bugs in this system. Right now a alpha
release of 4.0 is out and this baby is more stable than Win2000 :-)

Lua is easy to expand. To write new functions to work within Lua is quite
easy. Example (Function that get free disk space)

void myLib_GetDiskSpace()
  char * Device = luaL_check_string(1);                        // Get
parameter 1 from call as string - give runtime error if type error
  unsigned long Space;

  Space = MYOSFunctionToGetSpace(Device);

  lua_pushnumber(Space);                                            // Push
number back on stack as return value

Lua is from Brazil. One of the funny web addresses ".br".

Lua is free. Sorry I mean really free. You can include it in commercial
application and sell it, no GPL,MPL ?PL license that we comercial developers
can not use. Very close to the Scintilla license.


p.s. Copy to the Lua mailling list - Subject: Lua sales pitch :-))