Spyke

Syndicated from the fediverse. Read and engage on the original instance.

View original on lemmy.world

13 replies

Longtime support (LTS) exists for a reason in the tech industry. Maybe provide an LTS.

1

I know why we ended up where we are. I know the history because I was there: with the Lua/LuaJIT schism, people wanted to support both environments, and targeting 5.1 was a good way to support both. And then 5.2, 5.3, etc. came along and people wanted to keep supporting the latest PUC-Rio Lua, but still felt tied to the 5.1 anchor. I’m sure I’m partly to blame for this because I engaged in this and helped others, by maintaining compat-5.3, itself an evolution of compat-5.2, with a history tracing all the way back to compat-5.0, which predates my involvement with Lua… and then we’re talking over 20 years ago.

So I haven’t worked with Lua myself, but is that right? There are forward-incompatibilities in minor versions…? Because that honestly seems pretty fucking stupid. Making basically every version include breaking changes and refusing to follow semantic versioning standards that are designed to essentially account for that is pants-on-head stupid.

6
azdlereply
news.idlestate.org

refusing to follow semantic versioning standards that are designed to essentially account for that is pants-on-head stupid.

Seems like it would be a bit hard to follow a versioning scheme that it predates by almost 20 years. Lua 5.2 even predates semver 1.0.0.

Before semver there was basically no standardization in versioning schemes and the meaning that semver applied to version numbers basically didn't exist (at least in my experience) before it came around. Everyone just kinda had their own meaning for what version numbers meant.

11

semantic versioning wasn't a new concept when semver 1.0.0 was released. Before that lot of projects already followed this scheme and this was just made official so that everyone should follow it as the standard. So its kind of like if all web browsers support non standard features, and then the committee decides to add it to the standard to make it official. My point is, that the release of semver 1.0.0 isn't the invention of it.

5
lemmy.eco.br

from https://www.lua.org/versions.html:

The releases of Lua are numbered x.y.z, where x is the series, x.y is the version, and z is the release.

Different releases of the same version correspond to bug fixes. Different releases of the same version have the same reference manual, the same virtual machine, and are binary compatible (ABI compatible).

Different versions are really different. The API is likely to be a little different (but with compatibility switches), and there is no ABI compatibility: applications that embed Lua and C libraries for Lua must be recompiled. The virtual machine is also very likely to be different in a new version: Lua programs that have been precompiled for one version will not load in a different version.

8
villainyreply
lemmy.world

I like how there's no description of what a "series" is.

4

There doesn't really need to be as they've stuck to the same series for decades now.

7
programming.dev

Are there migration path for projects embedding a LUA version? Or is LUA incompatible between version?

Like if I build a plugin for a project in LUA 5.1, and the project want to migrate to 5.5, are there forward incompatibilities? Are there API deprecated for long enough to let people migrate?

As an observer I don't understand why "once you choose a version for your project and a plugin ecosystem develop on it, you are married to this version".

7
lemmy.world

It's Lua, not LUA. It's Portuguese for moon, not an initialism.

You can't migrate once you've got a plugin ecosystem because you're not the maintainer of all third-party plugins, and the maintainers might have lost interest or died and used a licence that doesn't let anyone else take over.

4

To support your point in stylizing the name: https://www.lua.org/about.html

Like most names, it should be written in lower case with an initial capital, that is, "Lua". Please do not write it as "LUA", which is both ugly and confusing, because then it becomes an acronym with different meanings for different people. So, please, write "Lua" right!

3
lemmy.world

It's Lua, not LUA. It's Portuguese for moon, not an initialism.

I wonder why people do this. Happens a lot with Java too.

1

I've not seen it so much with Java, but for Lua, it's not an English word, and most things in software are either English words or acronyms/initialisms, so it's usually a safe heuristic to assume anything that isn't an English word should be capitalised.

1

You reached the end

The Lua community needs to learn to move on - hisham.hm | Spyke