lua-users home
lua-l archive

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




On Tuesday, November 18, 2014, Thomas Jericke <tjericke@indel.ch> wrote:
On 11/18/2014 09:50 AM, Dirk Laurie wrote:
2014-11-18 10:16 GMT+02:00 Tim Hill <drtimhill@gmail.com>:

On Nov 17, 2014, at 10:29 PM, Dirk Laurie <dirk.laurie@gmail.com> wrote:

2014-11-18 6:11 GMT+02:00 Tim Hill <drtimhill@gmail.com>:

Now, I know what is going on, and you know what is going on.
But does the average scripter know?
Does the average scripter know what is going on with
metamethods, coroutines, the call stack, upvalues etc?

Some things in Lua are hard merely because the
underlying computer science concept is hard.
And your point is?
That arguments based on how "the average scripter" or
"newbies" would react are not relevant for Lua. Maybe
for Basic or Logo, but not Lua.

Lua is a highly sophisticated all-purpose language, not
particularly convenient for scripting (e.g. os.execute and
io.popen need to be invoked explicitly, no syntactic sugar).
Lua 5.3 beta has moved strongly in the direction of greater
awareness of hardware features: just look at §6.4.2, which
speaks of alignment, endianness, size_t etc assuming that
the reader knows what is going on.

/*
** $Id: lua.h,v 1.319 2014/10/17 19:17:55 roberto Exp $
** Lua - A Scripting Language
** Lua.org, PUC-Rio, Brazil (http://www.lua.org)
** See Copyright Notice at the end of this file
*/

A scripting language that not particularly convenient for scripting?

I think there is no agreement here what 'scripting' means.
I am not really sure either, but I am sure, that accessing the OS is not a relevant criteria. ECMAScript is a good counter example for this kind of scripting language,
as you can't access the OS directly at all.
--
Thomas


Tim and Dirk's arguments are very well-made and I won't choose a side.

Lua is a scripting language that should, and does, provide a simple and consistent environment, within the constraints of a C89+ library. There are other areas where more simplicity is possible, but not provided, because of a mixture of complexity and a lack of "one clear answer."

I also think that it might be hard to predict the impact in the Real World. It will not be zero. Will it stick out amongst all of the other, subtle ways in which programming reminds you that you're working with abstractions? I would predict no. 

In my case, I would much rather have this behavior than a promotion to float, for example. 

-Andrew