lua-users home
lua-l archive

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

* Compatibility

Each Lua release breaks the compatibility with earlier versions. There are however some compatibility switches to enable removed functions but it does not save the functions whose signatures have completely changed. This break scripts everytime.

The same concern is applied for the C API, if I want to support different versions of Lua, I need to add a bunch of #if LUA_VERSION_NUM to fix the signatures.

That's also my biggest problem with Lua.
I tried other script languages(Groovy, Ruby, JavaScript, Perl) before Lua and it is for me the best script language that I know. It has some 'strange' things I can life with, like ~= instead of != or that the first value in a Array/Table is 1 and not 0, but the differences between the Lua Versions 5.1, 5.2 and 5.3 are really frustrating. For me it is hard to understand why for example functions(log()) in the standard math.library are changing between the versions. It is also a big problem that we have a separation between LuaJIT and Lua5.2 / Lua5.3. Currently I am using 5.2 but I am thinking permanent to switch to LuaJIT so I have a more solid base.
I hope that 5.3 will be more stable.

Best Regards,