[Date Prev][Date Next][Thread Prev][Thread Next]
- Subject: Re: A rant about backward-incompatible changes
- From: Andrew Starks <andrew.starks@...>
- Date: Tue, 14 Jul 2015 10:21:11 -0500
On Tue, Jul 14, 2015 at 9:59 AM, Simon Cozens <firstname.lastname@example.org> wrote:
> On 14/07/2015 23:51, Luiz Henrique de Figueiredo wrote:
>> And if you really need compatibilty with Lua 5.1, you can even build
>> Lua 5.3 with LUA_COMPAT_5_1 on or just LUA_COMPAT_UNPACK.
> I don't know what end-users are going to build with. Having multiple
> versions of a version doesn't help here.
I hear you. You're saying that things that seem like a minor thing end
up breaking in ways that are ugly, especially to new users.
Super-simple tire-kicking tests are marred with cryptic errors that
"should never be there." It makes everything look junky and unmanaged.
Also, there is nobody that stands up on a mountain top to say, "HELLO!
Lua 5.3 is coming soon! Have you updated your Libraries yet?" Instead,
those things are modestly posted on this list, written into the
appropriate place in the documentation, usually in exactly one spot
and using a terseness that only a mathematician can properly
Two examples that add to what you are stating, imho:
1) When 5.2 came out, it was more than a year before there was a
socket library that you could compile and run with it. 2) Recently,
the very sweet and well-done demo for LuaRocks failed out of the box,
again because of LuaSocket. Things are improving. LuaRocks is far
better than it has been and there has been a nice increase in activity
related to library ownership and maintenance.
I also think that it is simply a mistake to compare Lua to Ruby and
Perl. I think that it is better to accept that it's a C library that
you embed into your project and that while it *can* be used as a
stand-alone desktop language, that isn't its mission. Therefore,
backwards-compatibility is not as critical. In your case, you've
decided not to do embed Lua and as a consequence, your job is much,
Lua doesn't have the same kind of culture. It is not promoted, changes
are not debated in the open, internal integrity/consistency trumps
most other wants. It might be possible to change those things, but I
doubt that it would be a "good thing" to do that.