4 ms·
This is from 2003 (December, so it's about 21 years ago). Is it still relevant?
by AnonHP 2y ago
This is from 2003 (December, so it's about 21 years ago). Is it still relevant?
- JBits 2y agoIt's the only edition which is provided for free. This edition uses Lua 5.0, which is very similar to 5.1 which is still very popular as it's targeted by LuaJIT. The changes between 5.1 and 5.2 seem small as well.
- diggan 2y ago> The changes between 5.1 and 5.2 seem small as well. And then after 5.1, basically every minor version (5.2, 5.3, so on) have major changes between them, from what I recall.
- anilakar 2y agoTheir defence is always that they do not follow semver. I remember some undocumented edge cases in string match patterns breaking between 5.1 and 5.2. Imagine Python changing how regexes worked between two minor releases.
- diggan 2y ago> Their defence is always that they do not follow semver. "Defence"? Seems like the correct answer and a fact, Lua doesn't do semver, so when there are major changes between 5.3 and 5.4, it's not illogical or actually breaking semver, as they don't follow it. Plenty of projects don't follow semver, and that's perfectly fine.
- rob74 2y agoOf course, there is also this (quote from the site): > If you find this online version useful, please consider buying a copy of the current edition. This helps to support the Lua project.
- davikr 2y agoYes. The differences between 5.0 and 5.1 are small and I do not recommend using newer versions, regardless.
- vkazanov 2y agoWhy? Only because of luajit?
- synergy20 2y agomost likely,also sadly
- sligor 2y agowhat's wrong with luajit ? (I never used it) edit: sorry I should have searched, Luajit only supports up to Lua 5.1
- cjbgkagh 2y agoThere is design tension between the language designer and the VM implementation. AFAIK some features post 5.1 make performant VM implementations difficult. Lua is originally a configuration language where performance didn't matter all that much. Because Luajit is so fast much more of the application code can be done in the scripting environment so now the performance matters much more than it did. So the spectrum is from newer language and slower to older language and faster. If performance is an issue the cost of the newer language features could be that more of the application code has to be written in C++ instead of Lua - in that context the Lua language shouldn't be considered independent of the host language. Performance matters to me so increase in C++ code would not be worth the newer language features. Using Rust instead of C++ as the host language might change the landscape again since Rust is so much more ergonomic than C++.
- haolez 2y agoOut of curiosity: is LuaJIT supporting only 5.1 because of technical difficulties imposed by newer versions, or is it simply that the design of newer Lua versions did not appeal to the LuaJIT maintainers?