Lua's opportunity

classic Classic list List threaded Threaded
32 messages Options
12
Reply | Threaded
Open this post in threaded view
|

Lua's opportunity

Jimmie Houchin-3
There has been some interesting commentary dispersed amongst a few
different threads. I know starting a new thread takes my comments out of
the context of the threads I speak of.

As one who as used or dabbled with a few languages preferring to use
Squeak (Smalltalk) and/or Python.

I believe there is great potential for the future of Lua. I think Lua
could offer an excellent alternative to Perl, Python, Ruby, etc.
Yes, like many here, I believe it already does. But I believe could be
in a stronger position.

Lua is a nice and clean language. It is small and performs excellently.
I think Lua core can remain nice and small. Have a bunch of C and Lua
modules available as a part of a standard Lua distribution. Sort of like Python's batteries included.

The language landscape is constantly changing. All of the other
languages are working towards their next version, Perl 6, Python 3, Ruby
2. All of these are a ways off. Ruby and Python are 1+ year(s) away.

I know in 1 year Lua won't achieve the libraries in the other languages. However, I do believe that progress can be made which would make Lua a more attractive and viable alternative and one which would get chosen by more people until such a time that the community is large enough to build comparable libraries.

As a newcomer to Lua I love the language. Clean, fast, no whitespace issues like Python. But it is quite a challenge to search and find the community contributed libraries. I think it would be wonderful if the community would select and bless certain libraries as standard. Make them available for the various platforms compiled and ready to use.

I am not a C programmer or use Lua embedded. However, I love many of the characteristics of Lua which enable C programmers and embedders. But I would dearly love for Lua to be able to compete most excellently with Python, Ruby, et al.

As can be seen in the switch from Python to Ruby, or any other language. There is plenty of room for gains for a nice language like Lua provided it meets a sufficient amount of the needs of the developer.

There are always people just beginning to learn to program. Why not Lua?

People who want something clean like Python but without the whitespace issue. People who want blocks without the line noise issue of Ruby.
Lua, Lua, Lua... :)

I almost went with Python because it is simpler to use when on Windows. I wanted to use Luiz libraries for some things but they are in C and I don't compile on Windows. But fortunately I am not deploying on Windows and have never let the limitations of Windows stop me before. :)

From my limited view it seems that Lua to be optimally available for a Python/Ruby candidate that it desires a few things.

A standardized object oriented programming model. But one that does not eliminate or reduce the available to program in other paradigms.

Standardized, packaged, compiled libraries. Especially for the platforms that binary packages are standard. For Linux a nice tarball, configure and make files are often enough. That would be enough for package maintainers to package for their distributions.

I am trying to encourage Lua developers and mean no disrespect. I think that Lua is great. But I think that the future of Lua to be better than Python 3, Ruby 2, Perl 6, is a very real and possible opportunity.

None of those currently exist. And currently neither does the Lua that can beat them. But I think Lua can. The language is close. The performance is there. The libraries need help. Some of them exist. But they need packaged together, compiled and standardized.

Am I wrong? What do the long time Lua users think? What can we, the Lua community do to achieve a better future for Lua? for programming?

Apologies for the length. I just wanted to get these thoughts off my mind. I really, really believe that in the time that it will take for the future versions of Python, Perl, Ruby to exist that Lua can be a most excellent and viable alternative for people choosing a language. I would like to do what I can for that future.

How do we get there?

In hope for a bright future.

Jimmie Houchin

Reply | Threaded
Open this post in threaded view
|

Re: Lua's opportunity

Norman Ramsey-2
 > I think it would be wonderful if the 
 > community would select and bless certain libraries as standard. Make 
 > them available for the various platforms compiled and ready to use.
 > ...
 > What do the long time Lua users think? 

Yes, yes, yes!  Debian packages!!

(Also, it would help to have some sort of 'luadoc' to make libraries
self-documenting.) 

I'm hoping some or all of the Lua team will be at San Diego for HOPL
(History of Programming Languages) in June.  This would be a great
time for a BOF (Birds of a Feather) session on libraries.
I am probably not the right man to organize it, since I am chairing
ICFP this year, for which my obligations run through June 6.
But I would be very pleased to participate.


Norman

Reply | Threaded
Open this post in threaded view
|

Re: Lua's opportunity

Natanael Copa
In reply to this post by Jimmie Houchin-3
On Wed, 2006-12-27 at 00:18 -0600, Jimmie Houchin wrote:
> But it is quite a challenge to search and find the 
> community contributed libraries. I think it would be wonderful if the 
> community would select and bless certain libraries as standard. Make 
> them available for the various platforms compiled and ready to use.

Agree! It could be blessed in the way the the official lua developers
take the lead. Set up a link on front web page (or some where else, very
visible) "here you find the standard libs we are working on".

> I am not a C programmer or use Lua embedded.

I do know some C programming. If there was a "blessed" set of standard
libs, I would definitively spend some time in making it work.

...
> The libraries need help. Some of them exist. But 
> they need packaged together, compiled and standardized.
> 
> Am I wrong? What do the long time Lua users think?

I agree with you. There was a discussion about a standard lua filesystem
lib some time ago. (there are 3, 4 with overlapping functionallity out
there). luaposix, luafilesystem, ex.

> What can we, the Lua community do to achieve a better future for Lua?
> for programming?

Yes, What can we do to help to get a standard library framework?



Reply | Threaded
Open this post in threaded view
|

Re: Lua's opportunity

Roberto Ierusalimschy
> > But it is quite a challenge to search and find the 
> > community contributed libraries. I think it would be wonderful if the 
> > community would select and bless certain libraries as standard. Make 
> > them available for the various platforms compiled and ready to use.
> 
> Agree! It could be blessed in the way the the official lua developers
> take the lead. Set up a link on front web page (or some where else, very
> visible) "here you find the standard libs we are working on".

How do CPAN work? Do the libraries there have any blessing from the
Benevolent Dictator for Life?

-- Roberto

Reply | Threaded
Open this post in threaded view
|

Re: Lua's opportunity

Marcelo Araujo
Hello,

Actually, we should consider another successful project similar to CPAN:
PEAR (http://pear.php.net), which is a package repository for PHP. The idea is to provide through a pear command ways of installing, updating and removing packages developed by PHP users, inspected by community.

An idea:
luar foo_package
########## 100% - foo_package installed.
And then, everything is set up and ready to use.

Well, I have never used CPAN, but I think that PEAR is quite similar :)

--Marcelo Araujo

On 12/27/06, Roberto Ierusalimschy <[hidden email]> wrote:
How do CPAN work? Do the libraries there have any blessing from the
Benevolent Dictator for Life?

-- Roberto

Reply | Threaded
Open this post in threaded view
|

Re: Lua's opportunity

Mildred Ki'Lya
In reply to this post by Norman Ramsey-2
Le mer 27/12/2006 à 01:37 Norman Ramsey à Ãcrit:
> Le mer 27/12/2006 à 00:18 Jimmie Houchin à Ãcrit:
> > I think it would be wonderful if the 
> > community would select and bless certain libraries as standard.
> > Make them available for the various platforms compiled and ready
> > to use. ...
> > What do the long time Lua users think? 

I do not consider myself as a long time lua user (I'm here since summer
2005) but I would really apreciate having such blessed libraries.
Because when you want to use a C library, often you don't really have
the choice and you have to write yourself the glue code. In fact,
it's because of lua that I really learned programming in C :)

> (Also, it would help to have some sort of 'luadoc' to make libraries
> self-documenting.) 

I agree on this documentation part. And it does not have to be written
in the language (as in python and docstrings). For example in some of
my modules, I have a help() function that return a help string of the
function you pass as parameter.

For example in my shell module (allows you to inspect lua tables with
metatables ... showing them as a filesystem and giving you some on the
unix commands) there is a help function :

> return require("shell"):help("exit")
Usage: exit
Usage: end
Exit the shell


Mildred

-- 
Mildred       <xmpp:[hidden email]> <http://mildred632.free.fr/>
Clef GPG :    <hkp://pgp.mit.edu> ou <http://mildred632.free.fr/gpg_key>
Fingerprint : 197C A7E6 645B 4299 6D37 684B 6F9D A8D6 [9A7D 2E2B]


Reply | Threaded
Open this post in threaded view
|

Re: Lua's opportunity

Michael Manti
In reply to this post by Roberto Ierusalimschy

On Dec 27, 2006, at 7:50 AM, Roberto Ierusalimschy wrote:

But it is quite a challenge to search and find the
community contributed libraries. I think it would be wonderful if the
community would select and bless certain libraries as standard. Make
them available for the various platforms compiled and ready to use.

Agree! It could be blessed in the way the the official lua developers
take the lead. Set up a link on front web page (or some where else, very
visible) "here you find the standard libs we are working on".

How do CPAN work? Do the libraries there have any blessing from the
Benevolent Dictator for Life?

-- Roberto

CPAN libraries don't have BDFL approval. But the standard libraries for Perl, Python, and even Ruby are much larger than that of Lua.

I don't think larger standard libraries are appropriate for Lua, but I do agree with other posters that Lua could benefit from a more standardized mechanism for distributing libraries on the major platforms (Linux, Darwin, Windows, etc.). I've been learning more about gcc, ld, make, etc. than I ever thought I would in simply trying to get lrexlib compiled on my Mac. apt-get on Debian, or fink on Mac, would seem to be good models. It might be nice to have an official effort to clean up the libraries on LuaForge to be compatible with Tecmake, so that they're more cross-platform. For example, I think my problem with lrexlib is that I've been bumping up against a Linux assumption in trying to get it compiled and linked.

I've been tempted to drop Lua in favor of Perl, Ruby or PLT Scheme, but I just "get" Lua so much more easily than I get the other scripting languages. Lua really only needs a little more functionality (regexps, POSIX) for my particular purposes, so I'm willing to learn a little more about the GNU tool set and the differences between compilation on Linux and Darwin to get what I need. Its design is just so much cleaner than Perl, Python, or Ruby (particularly where scoping and closures are concerned), and its syntax is much more readable than that of Scheme.

Mike



Reply | Threaded
Open this post in threaded view
|

Re: Lua's opportunity

Ralph Hempel
In reply to this post by Roberto Ierusalimschy
Roberto Ierusalimschy wrote:

Agree! It could be blessed in the way the the official lua developers
take the lead. Set up a link on front web page (or some where else, very
visible) "here you find the standard libs we are working on".

How do CPAN work? Do the libraries there have any blessing from the
Benevolent Dictator for Life?

CPAN (and pretty much every other such project for every other language) has become a catch-all for many imagined, started, buggy, discarded, and
some very good modules.

So instead of hunting all over the Internet, you end up hunting in
CPAN. You still have to grab the code that looks like it might fit,
try it, work it into your architecture, and google newsgroups for others
with more experience.

I think that what I'm saying is that the cream tends to float to the
top.

Tcl/tk has a more or less standard set of libraries that are in general
use. The Kepler project seems to be headed that way as they are trying
to get everything to run with 5.1 now.

Ralph

Reply | Threaded
Open this post in threaded view
|

RE: Lua's opportunity

Gavin Kistner-2
In reply to this post by Jimmie Houchin-3
From: Jimmie Houchin
[snip]
> Am I wrong? What do the long time Lua users think?
> What can we, the Lua community do to achieve a better
> future for Lua? for programming?
[snip]

As I posted in another thread, my perspective is that it is not (currently?) possible to have a best-for-all-cases swiss-army knife language.  When I *need* absolute speed, I turn to C or C++. (Or rather, I turn to people who are used to programming in it to do it for me :) When I need good speed, software embedding, and a reasonably enjoyable language, I turn to Lua. When I don't need speed or embedding, I use Ruby.

Is there necessarily a trade off between speed of execution and high-level, feature rich languages? I'm not experienced enough to say, but all evidence indicates to me that it is so.

Lua is fast. Lua embeds well. Lua has a tiny core. Lua is crazy portable. Lua is well-suited for some things.

Lua is moderately verbose. Lua is not OOP at the core. Lua's tiny feature set does not include support for some common, really useful programming constructs. (Times, dates, ranges, (full) regexp, integers vs. floats, arbitrary size numbers.) Lua is not well-suited for other things, and (I think) the addition of libraries will not change the base of that.

It's about preference, of course. If you prefer to learn only one language, and are happy programming in it, then perhaps adding a plethora of libraries (file system, internet protocols, socket communication, csv parsing, benchmarking frameworks, testing frameworks, template and code generation, logging, win32OLE, complex math, vectors and matrices, times, dates, OOP, XML parsing and token streaming, parsing and lexing, system/shell integration, threading, etc.) to Lua is all you need to achieve Nirvana.

For me, I prefer to switch to a higher-level language than Lua (with a much richer set of core features, terser syntax, and all the libraries already available) when I have the chance.

But I still love Lua. ;)


Reply | Threaded
Open this post in threaded view
|

Re: Lua's opportunity

Andrew Wilson-4

The Lua team seems to have chosen to make a PHP competitor called Kepler, build around lua and lua modules because that is the most effective way to popularize Lua. And move Lua into the future-web programming. Seeing how fast Ruby has become popular because of Ruby on Rails, maybe Kepler will propel Lua in a similar way.

I believe a standalone command line interface version of lua hasn't really been the Lua team's focus. But I believe that for many programmers a lighter, simpler, faster alternative to Python, Perl, Ruby, TCL would be useful. So core libraries tuned to specific functionality like IUP for GUI's and LuaFileSystem for file/directory access would also propel Lua forward . I believe with a good set of core libraries and a standard Lua install packages for Windows, Linus &  Mac,and more beginner documentation that Lua would be more popular. Right now to use Lua means a manual setup of directories and environment variables, manual copy of lua binaries, picking modules to install one by one, visiting many web sites, reading this email list, and reading Programming in Lua book, the Lua Reference manual as well as online tutorials.

For me, a reduced learning curve is the path to maximum productivity. As for a swiss-army knife language, I think lua is pretty close. Lua has scattered sets of information,bringing those sets together in a single install would make Lua better. Now that modules exist, a standard install package can be put together for Lua. But what should be in the "standard package", who is going to do it? And maybe more importantly how is that work to be organized?

Andrew
Boston


Reply | Threaded
Open this post in threaded view
|

Re[2]: Lua's opportunity

Alen Ladavac
> For me, a reduced learning curve is the path to maximum productivity. As for
> a swiss-army knife language, I think lua is pretty close. Lua has scattered
> sets of information,bringing those sets together in a single install would
> make Lua better. Now that modules exist, a standard install package can be
> put together for Lua. But what should be in the "standard package", who is
> going to do it? And maybe more importantly how is that work to be organized?

About that installer... lua standalone is excellent in the simple form
that it has right now - a single executable. It can be copied around
and will work without any installation. Requiring complicated
installation and a lot of files is a serious downside, and the
greatest reason why we don't use python, perl, etc internally for
scripting.

So, a set of blessed libraries = good, requiring them to be installed
separately (i.e. not integrated into lua.exe) = bad.

JM2C,
Alen


Reply | Threaded
Open this post in threaded view
|

Re: Re[2]: Lua's opportunity

Andrew Wilson-4
Right, nobody wants complicated installers, but a zipped up directory structure with lua binaries, modules, help documents, samples scripts and a script file to set a couple of environment variables would make a nice lua style install package that I could point someone at and say here's lua, install it and read PIL. AGRW

On 12/27/06, Alen Ladavac <[hidden email]> wrote:
> For me, a reduced learning curve is the path to maximum productivity. As for
> a swiss-army knife language, I think lua is pretty close. Lua has scattered
> sets of information,bringing those sets together in a single install would
> make Lua better. Now that modules exist, a standard install package can be
> put together for Lua. But what should be in the "standard package", who is
> going to do it? And maybe more importantly how is that work to be organized?

About that installer... lua standalone is excellent in the simple form
that it has right now - a single executable. It can be copied around
and will work without any installation. Requiring complicated
installation and a lot of files is a serious downside, and the
greatest reason why we don't use python, perl, etc internally for
scripting.
So, a set of blessed libraries = good, requiring them to be installed
separately ( i.e. not integrated into lua.exe) = bad.

JM2C,
Alen


Reply | Threaded
Open this post in threaded view
|

Re: Lua's opportunity

Roberto Ierusalimschy
In reply to this post by Andrew Wilson-4
> The Lua team seems to have chosen to make a PHP competitor called Kepler,
> [...]

Just a disclaimer: Kepler is not made by the Lua team.

-- Roberto

Reply | Threaded
Open this post in threaded view
|

Re: Lua's opportunity

Asko Kauppi
In reply to this post by Michael Manti

We really should be posting these "user feedback" on somewhere...! Refreshing to see other people than me liking the language, too. Thanks!

As to the essence of the thread, I quite fancy the 'luar' command briefly mentioned. Sounds neat, and Lua-ish! :)

-asko


Michael Manti kirjoitti 27.12.2006 kello 15.37:


On Dec 27, 2006, at 7:50 AM, Roberto Ierusalimschy wrote:

But it is quite a challenge to search and find the
community contributed libraries. I think it would be wonderful if the community would select and bless certain libraries as standard. Make
them available for the various platforms compiled and ready to use.

Agree! It could be blessed in the way the the official lua developers take the lead. Set up a link on front web page (or some where else, very
visible) "here you find the standard libs we are working on".

How do CPAN work? Do the libraries there have any blessing from the
Benevolent Dictator for Life?

-- Roberto

CPAN libraries don't have BDFL approval. But the standard libraries for Perl, Python, and even Ruby are much larger than that of Lua.

I don't think larger standard libraries are appropriate for Lua, but I do agree with other posters that Lua could benefit from a more standardized mechanism for distributing libraries on the major platforms (Linux, Darwin, Windows, etc.). I've been learning more about gcc, ld, make, etc. than I ever thought I would in simply trying to get lrexlib compiled on my Mac. apt-get on Debian, or fink on Mac, would seem to be good models. It might be nice to have an official effort to clean up the libraries on LuaForge to be compatible with Tecmake, so that they're more cross-platform. For example, I think my problem with lrexlib is that I've been bumping up against a Linux assumption in trying to get it compiled and linked.

I've been tempted to drop Lua in favor of Perl, Ruby or PLT Scheme, but I just "get" Lua so much more easily than I get the other scripting languages. Lua really only needs a little more functionality (regexps, POSIX) for my particular purposes, so I'm willing to learn a little more about the GNU tool set and the differences between compilation on Linux and Darwin to get what I need. Its design is just so much cleaner than Perl, Python, or Ruby (particularly where scoping and closures are concerned), and its syntax is much more readable than that of Scheme.

Mike




Reply | Threaded
Open this post in threaded view
|

Re: Lua's opportunity

Asko Kauppi
In reply to this post by Ralph Hempel

Can we combine the CPAN free-for-all with YouTube-ish ****O community based starring system?

-asko


Ralph Hempel kirjoitti 27.12.2006 kello 18.32:

Roberto Ierusalimschy wrote:

Agree! It could be blessed in the way the the official lua developers take the lead. Set up a link on front web page (or some where else, very
visible) "here you find the standard libs we are working on".
How do CPAN work? Do the libraries there have any blessing from the
Benevolent Dictator for Life?

CPAN (and pretty much every other such project for every other language) has become a catch-all for many imagined, started, buggy, discarded, and
some very good modules.

So instead of hunting all over the Internet, you end up hunting in
CPAN. You still have to grab the code that looks like it might fit,
try it, work it into your architecture, and google newsgroups for others
with more experience.

I think that what I'm saying is that the cream tends to float to the
top.

Tcl/tk has a more or less standard set of libraries that are in general
use. The Kepler project seems to be headed that way as they are trying
to get everything to run with 5.1 now.

Ralph


Reply | Threaded
Open this post in threaded view
|

Re: Lua's opportunity

Mildred Ki'Lya
In reply to this post by Jimmie Houchin-3
About a blessed module, there is ex
http://lua-users.org/wiki/ExtensionProposal

Actually, it is still beta ... and it's not easy to compile it.
Maybe it would be great to make a clean package of it and determine
some others libraries that should be blessed. For example luaSocket
http://www.cs.princeton.edu/~diego/professional/luasocket/ and modules
from the kepler Project http://www.keplerproject.org/, maybe
lua-sqlite3 http://luaforge.net/projects/lua-sqlite3/ and maybe also
some modern cross platform GUI (I see wx which use a modified version
of lua :(, gtk which is not yet ready for Mac OS and QT which is GPL)

Does anyone think of others modules that should be integrated ?

I think (for POSIX) it would be enough to create a package of those
modules and provide a way to easily compile all of them directly and
install them.
Maybe for Windows, binaries are better.

Mildred
-- 
Mildred       <xmpp:[hidden email]> <http://mildred632.free.fr/>
Clef GPG :    <hkp://pgp.mit.edu> ou <http://mildred632.free.fr/gpg_key>
Fingerprint : 197C A7E6 645B 4299 6D37 684B 6F9D A8D6 [9A7D 2E2B]

Reply | Threaded
Open this post in threaded view
|

Re: Lua's opportunity

Alex Queiroz
In reply to this post by Andrew Wilson-4
Hallo,

On 12/27/06, Andrew Wilson <[hidden email]> wrote:

 For me, a reduced learning curve is the path to maximum productivity. As
for a swiss-army knife language, I think lua is pretty close. Lua has
scattered sets of information,bringing those sets together in a single
install would make Lua better. Now that modules exist, a standard install
package can be put together for Lua. But what should be in the "standard
package", who is going to do it? And maybe more importantly how is that work
to be organized?


    And it's deja vu all over again. I think we should bet this time
how long until it fades. Again.

--
-alex
http://www.ventonegro.org/

Reply | Threaded
Open this post in threaded view
|

Re: Lua's opportunity

Hakki Dogusan
In reply to this post by Jimmie Houchin-3
Hi,

Mildred wrote:
[snip]
... maybe also
some modern cross platform GUI (I see wx which use a modified version
of lua :(,

FYI, wxLua uses standard Lua nowadays :)

>[snip]

Mildred



--
Regards,
Hakki Dogusan

Reply | Threaded
Open this post in threaded view
|

Re: Lua's opportunity

Peter Sommerfeld-4
In reply to this post by Jimmie Houchin-3
Jimmie Houchin wrote:
I believe there is great potential for the future of Lua. I think Lua
could offer an excellent alternative to Perl, Python, Ruby, etc.

I don't think Lua fits in that camp. It's range of application is
much broader, Scheme or even Erlang may be closer.

A standardized object oriented programming model. But one that does not eliminate or reduce the available to program in other paradigms.

Lua provides closures, metatables and even the colon syntax. What
else do you need ? OOP is not of particular importance in a language like Lua, I even think that the colon syntax is superfluous.

Am I wrong? What do the long time Lua users think? What can we, the Lua community do to achieve a better future for Lua?

I'm neither a professionell nor a long time user but I'm quite
pleased  as it is. I'm not convinced that a large and fast growing
user community is a good measure for success.
Peter


Reply | Threaded
Open this post in threaded view
|

Re: Lua's opportunity

Andrew Wilson-4
In reply to this post by Roberto Ierusalimschy
Sorry I made a incorrect assumption. I incorrectly assumed a direct connection between the two. Please excuse the mistake. It seemed Kepler was generating so many useful lua modules that I assumed the two were directly connected. AGRW

On 12/27/06, Roberto Ierusalimschy <[hidden email]> wrote:
> The Lua team seems to have chosen to make a PHP competitor called Kepler,
> [...]

Just a disclaimer: Kepler is not made by the Lua team.

-- Roberto

12