How's Lua today?

158 views
Skip to first unread message

Jakit Liang

unread,
Jul 16, 2025, 5:43:36 AMJul 16
to lua-l
I got concerned about the future of Lua.

Maybe Python is a better. It had a modernized implementation in the area of scripting language.

I enjoy Lua and adopt to it. But I don't really like the code style of Lua sources.

Honestly, lua_pushcfunction just feels so slimy and unreadable to write.  

So I reinvent my own one lumen.h

And redesign the data struct as Python as it is object.h

I think lua_push_c_function and LuaPushCFunction is well. And pfnLuaMyFunc also looks great.

However, I've found that many data structures are tightly coupled with their usage macros, which makes unit testing impossible. You can't easily separate them; for example, lua_barrier* seems to connect to many types defined across numerous headers. When precompiled, this often pulls in a lot of dependent headers, leading to messy dependency management.  

So I rewrote it and reinvent it by my own.

I'm new to Lua since 2023, so I don't know so much about Lua.

Sainan

unread,
Jul 16, 2025, 6:10:46 AMJul 16
to lu...@googlegroups.com
Least insane Python developer be like.

But, okay, if we're just here to shittalk while promoting our own projects, then I can abide.

I find in general projects aiming to reinvent the Lua wheel are a bit misguided because they're never gonna stay up-to-date, like the Java reimplementation of Lua, it's great and all, but you're stuck with Lua 5.1 which is quite frankly a horrible version of the language that I wouldn't want to use.

What confuses me even more is that your project uses C/C++ so it's not like you can claim "well, there's no interop with C, so how am I gonna use Lua without FFI and some native binary blob" like the high-level language reimplementations of Lua.

I think https://github.com/PlutoLang/Pluto is a much more sane approach to — maybe what you're trying to do — improving Lua without reinventing the entire thing and staying true to the foundations while making experimental changes to really push the developer experience forward in ways that actually matter, not just minor inconveniences.

-- Sainan

Berwyn Hoyt

unread,
Jul 16, 2025, 7:41:14 AMJul 16
to lu...@googlegroups.com
I think https://github.com/PlutoLang/Pluto is a much more sane approach to — maybe what you're trying to do — improving Lua without reinventing the entire thing and staying true to the foundations while making experimental changes to really push the developer experience forward in ways that actually matter, not just minor inconveniences.

Oooh, I did not know about Pluto until you mentioned it. It looks very nice! It makes Lua look very modern in terms of features and syntax. Now I'm excited.

bil til

unread,
Jul 16, 2025, 10:45:53 AMJul 16
to lu...@googlegroups.com
Am Mi., 16. Juli 2025 um 11:43 Uhr schrieb Jakit Liang <jakit...@gmail.com>:
> Maybe Python is a better. It had a modernized implementation in the area of scripting language.

... this is very difficult to answer, if you do not mention your
application / what you want to do.

Python from my knowledge is very "blown up" - you cannot really
implement it in small systems / it needs MUCH more ROM and RAM ... so
also if you want to use it in some "larger software", it will catch
much more space.

.. but you of course always need good C knowledge, if you want to
implement it into your own source code.

If you are frightened of special function prototypes, then maybe
better keep in "standard C" and try to avoid excursions in scripting
engines like Lua or Python... .

(to get a good introduction into Lua, best check the book Programming
in Lua of Roberto...).
Reply all
Reply to author
Forward
0 new messages