tech-userlevel archive

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

Re: Lua as a scripting language in NetBSD

Marc Balmer wrote:
Lua is an excellent candidate as a scripting language in base, because it is small, fast, and powerful and a user can learn it very quickly. For endusers, having Lua can leverage scripting in NetBSD, e.g. if a reasonable interface to e.g. POSIX functionality is provided. (which exists with the luaposix package, btw). For developers of software written in C it is a very convenient and efficient means to extend the software by a scripting engine.

I have to use Lua for a work regarding Grub2 (Lua is used pretty much everywhere in this project). And I hardly see the point of putting Lua inside base, currently.

I perfectly understand the small and fast argument. As far as can say, it is; powerful, I have yet to see; at least at the present stage. The syntax is neat and easy (my biggest rant so far being "1" as start index of table, awk people will be at home with Lua). However...

It is excellent for file parsing or configuration scripts. But the language "environment" is pretty limited compared to more mainstream languages like Perl/Python/Ruby (or even Java, even if it is not addressing the same market). I consider the user base rather small, documentation and support is limited too.

I think that it has yet to prove its usefulness as an all-purpose language. If base includes a language that will basically need to write half of the bindings so that it can start being useful, people will ignore it (I did not make an extensive review of the possibilities; but as an example, a quick search for curses support in Lua is rather disappointing).

Lua would allow us to extend exisiting software in interesting ways, DHCP option processing in DHCP clients comes to my mind, or even the system installer, sysinst (not to speak of the advantages of keeping airport codes up to date using Lua scripts...) I have more ideas, but I want to discuss the general case of having Lua in base first, well aware that it is a chicken and egg problem: To use Lua in base, we need it in base. To have Lua in base, we need software that makes use of it...

Is it possible to see examples or scripts of what you would like to achieve with Lua inside base? What software do you want to use?

Jean-Yves Migeon

Home | Main Index | Thread Index | Old Index