lua-users home
lua-l archive

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

David Given wrote:
I wrote a biggish app in Python (, and for me the whitespace issue was simply non-existant --- I indented all my code the way I always indented code and it all worked fine.

The emphasis being on *you*. When you start having large numbers of programmers, with even larger numbers of editor programs, and yet more whitespace configuration options, keeping everything in check turns into a nightmare. Better to avoid the problem in the first place.

Meaningful whitespace was a stupid idea when Unix make took it up, and it's still a stupid idea now.

Python's big win for me was that it has a huge set of comprehensive, useful, powerful libraries. SQMail is a MUA that uses a MySQL backend to store all its data. I didn't have to write *any* grunt code for dealing with GTK+, MySQL, Mime attachment handling, configuration file parsing, etc --- all I did was to import the standard libraries, and they worked.

Similiar reasons exist for why Perl, PHP, C and it's descendents, Java, Common Lisp, etc. are popular. In some cases they may be de facto standards rather than prescriptive, but they're still available.

Personally I would *love* to see Lua slowly move in a similar direction, with a large number of modular "standard" but optional libraries developed, rather than the seemingly high occurence of wheel reinvention that appears to occur.

I'm unfortunately resigned to the fact my beloved Scheme will never see such utility added to it in a meaningful way.

The language itself is pretty decent as dynamic languages go --- it fundamentally *gets the job done*, which is the important thing. Back then, I thought it was the bee's knees, because I hadn't had much exposure to better languages, and these days I suspect it would irritate me too much to use. (I should point out that Lua has an equal number of features that irritate me, but because Lua's so small and customisable I'm more willing to put up with it.) Also, these days I know how useful real closures and coroutines are, which I'm not sure Python supported then. (Generators do *not* cut it.)

Exactly ;)

Python's big killer feature is the library set, which Lua doesn't have. I wonder --- might it be possible to build a Lua-to-Python-extension connector to allow Python libraries to be used in Lua?

The thing with such large libraries is that they're not difficult to create. I work in a team that does similar with a C based object system. The secret is to build a large *coordinated* set of small, minimalist and reusable components. At each level you tie a handful of lower components together with a couple of screens of source code, until eventually you get to the top with a powerful and expressive system that's brilliant for rapid development.