lua-users home
lua-l archive

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

As a Lua newbie, I think I get the jist of this mail, and agree to several parts in spirit. This language has some serious potential, but most users seem to have settled (as-in "made their peace") with Lua and the "ecosystem" as-is :-)

I could be horribly off-the-mark with my assessment here, but in past when I tried to learn Python, Erlang and very-briefly Ruby, I got the feeling that when you have a single person (such as a benevolent dictator in case of Python, and to an extent in case of Ruby) or a very small dedicated team of people with strong (commercial) share interest (Erlang and Ruby), and who definitely want to compete in the "adoption" race, the language tends to rank favourably amongst newbies, and addressing fragmentation becomes a priority for these people. Reading (recently) some of the papers published, the history -- it is clear that some very smart people have been behind Lua, and this community here is extremely helpful, participative -- but what it might need is 'benevolent dicator' or a small team, who is really crazy about competing with the other 'sexier' languages (which appeal to newbies).

Sorry about a bit of the non-technical rant. As for me, I have been having a great time with Lua. Hunting for documentation (ref. my comment about walking the Wiki forest) is a bit of a challenge for a newbie, and that every module document looks different, is structured differently, and sometimes one needs to resort to new ways to install modules (not always succeeding), have been hiccups on the way, but I've made up my mind not to give up, and beginning to make-peace :-)

Kindly don't take this as a criticism in any way.

On Thu, Sep 26, 2013 at 5:17 PM, John Hind <> wrote:

Following the discussions on Lua modules/Packages, binary distributions and Lua popularity (or lack thereof) as a language, and believing these things are all related, I did some research. Here are some preliminary notes and findings:


1. As a general comment, it is hard to navigate the very fragmented Lua ecosystem. The Community WiKi ought to be the starting point, but you'd be hard pressed to find important parts of the ecosystem starting there or to navigate what is salient today rather than being of historical interest only.


2. wxLua: This is a great cross-platform GUI LUA IDE, written in Lua, although that is not how it is sold! It provides a binary distribution of both Lua 5.1 and Lua 5.2, but for Windows only (even though the source code is cross-platform). There is an outdated binary for OSX, but none at all for Linux. It does not address package management.


3. LuaRocks: A non-GUI command-line system. Binary distribution for Windows (but stuck at Lua 5.1) and instructions for Linux, hints this should work on OSX, but no specific information. A "rockspec" was kindly provided for me for my "bitfield" C extension, but so far I have failed to get this to build on Windows. I just get a very unhelpful error message on the command console.


4. LuaDist: Again strictly command-line. Binary distributions for the three major platforms, but these do not include a distribution of Lua itself, only the system for handling modules/packages.


5. Lua.App (Luiz Henrique de Figueiredo): Graphical (very basic) runtime for OSX with a binary distribution of Lua 5.2 and a selection of binary modules. The C modules could be easily added to, but only if you have them in appropriate binary form (are Linux .so files the same as OSX ones?) as it does not address building them from C.


The ideal: wxLua's IDE extended to support package management (LuaRocks and/or LuaDist) from the GUI. It should be able to compile C source modules at least for the native platform, but preferably also cross-compile for the other platforms. The GUI should also support packaging of applications and here 5 shows the way - package the runtime, the binary C modules and the Lua scripts as a folder with a bootstrap in the root directory. This will work natively in OSX, pretty well on Windows and ought to be doable on Linux (though execution permissions are a knotty problem to be solved). There need to be binary distributions for all platforms of both Lua 5.1 and Lua 5.2.


Everything needed for a good beginner experience is there - it is just horribly fragmented and difficult to find. The problem is this: beginners discover a lovely, minimalistic but powerful language ideal for learning programming, but in order to put it to practical use they find they have to first master C (or at least building from C sources) and in order to achieve that they have to learn baroque build languages and command line interfaces. Unsurprisingly most just give up and settle for an ugly, bloated language like _javascript_, which they can use 'out of the box'.