[Date Prev][Date Next][Thread Prev][Thread Next]
- Subject: Re: Lua 5.2 Wish list item: stable API between versions
- From: David Haley <dchaley@...>
- Date: Tue, 14 Nov 2006 18:22:30 -0800
On this day of 11/14/2006 05:05 PM, Mike Kreuzer saw fit to scribe:
> Glenn Maynard wrote:
>> I don't want a Lua where luaL_checkudata has to always return NULL for
>> backwards compatibility, even though the rest of the check* functions
>> throw errors. I want a Lua that's consistent today, even if it means
>> more work to upgrade. I don't want these deprecated functions and
>> features to stick around in the code and headers and documentation
>> forever; I want them to go away.
>> I don't want Lua's evolution stunted by backwards compatibility.
> Stuck. Bloat. Stunted. ROTFL, tell me what you really think. :-)
I think that Glenn was using those terms to describe what he feels would
happen with a completely backwards compatible API:
1- everything would get stuck in the API forever
2- the result of things being stuck forever is bloat
3- since compatibility cannot be broken, new features are stunted
because they must be designed around old features that we might all
agree are no longer good
I'm not sure what's inconsistent about this view, and certainly not
what's funny. Personally I would tend to agree with Glenn's post.
Lua isn't like Windows where we expect things from 95 to work on 98 to
work on 2k to work on XP. Windows has to therefore deal with backwards
compatibility and all the serious problems that creates. But like I (and
others here) have said, Lua is not in the same situation. If you want a
particular version of Lua for your script, just use that version. The
interpreters are so small that you could fit several versions of Lua in
the space it'd take you to store just one version of a different
> Still, there're obvious roles for a very small language, just as there's
> a role for a language that remains the plaything of hobbyists and
> academics. If that's what Lua's going to limit itself to, that's fine.
> IMHO, the growth of useful code written in the language is only really
> going to take off when changes in the language and the API slow down
> enough to let that happen.
Lua the plaything of hobbyists and academics? Have you looked at the Lua
project page that LHdF maintains? Sure, there are a lot of "amateur"
projects in there, but there are a number of high-profile professional
applications that use Lua. I'd hardly consider World of Warcraft to be a
mere plaything application, to name just one.
I'll grant that it's frustrating (or at least, disappointing) sometimes
to find a library of useful code but written in a different version,
such that you can't run it out of the box with your code which is not
the same version. I prefer that over a language stuck with old features,
bloated with backwards compatibility and stunted in terms of future
growth (to go back to our three words of the day).