lua-users home
lua-l archive

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


On Thu, Jul 1, 2010 at 7:51 PM, Alexander Gladysh <agladysh@gmail.com> wrote:
> Hi, list.
>
> Just stumbled upon this little gem.
>
> http://groups.yahoo.com/group/atlantisdev/message/8101
>
> I'll quote it in full text.
>
> <quote>
>
>  From: Andrey Repin <hell-for-yahoo@...>
>  for atlantisdev@yahoogroups.com; Tue, 09 Mar 2010 00:25:02 +0300
>  To: Arno Saxena <atlantisdev@yahoogroups.com>
>  Date: Tue, 9 Mar 2010 00:22:20 +0300
>  Subject: Re[2]: [atlantisdev] Eressea: Open Source
>
>  AS> but what's the advantage of lua? (it is the tecgraf lua language
> isn't it?)
>
>  If you ask me, the only advantage of Lua, is that it's easy to learn.
>  Everything else is disadvantages. If you have choice - avoid it like plague.
>  No strict syntax (only procedural parsing of source code is
> possible), braindead
>  typization, everything defaults to global scope (so-called global polluting),
>  slow addressing of global scope, thus you have to localize (reassign) about
>  every function and structure you're using in single script...
>
> </quote>
>
> Brilliant, isn't it?
>
> Alexander.
>

Frankly, as much as I like Lua, I'm a bit uncomfortable with this
"look at THIS idiot" approach to criticism. If someone believes strong
typing is The Way To Go, and dynamic typing is Just Plain Wrong, it's
not likely they'll ever get on with Lua. It's not a position I agree
with, but I *can* understand it, and respect it as an opinion. Same
thing with one-based/zero-based issue, or using keywords to delineate
blocks, although he doesn't mention either of those. These things
don't bother me, but for some people these things will always
overshadow the language. That's just the way it is, I don't think
there's anything to be gained by trying to belittle them.

The global-by-default issue is an interesting one. Because I have to
admit that I *do* find myself wishing, sometimes, that it wasn't
necessary to explicitly define locals all the time, particularly in
the big list at the top of a module. (Like others, I dislike using
"seeall", but that's a side issue.) At the same time, I do completely
appreciate that it is not a solution to switch to local-by-default,
because local-by-default just doesn't work at all well with full
lexical scoping. And, I consider full lexical scoping to be one of the
most important and useful aspects of the language, definitely not
worth sacrificing in the name of local-by-default. Now, I only know
about that because I've read discussions on here with Roberto etc.
explaining it - I don't think I would ever have realised it on my own,
it's quite a subtle thing. So, I would never think any less of someone
*else* for not realising it.

-Duncan