Hacker News new | ask | show | jobs
by dtho 2787 days ago
Are you criticizing LuaJIT rather than Lua? LuaJIT is a third party implementation of an older version of Lua (with cherry picked features from newer versions). A lot of this criticism is no longer valid for Lua.

> lack of a separate integer type (chars are strings, ints are floats)

Lua 5.3 introduced integer types. [1]

> Even bit manipulation requires going through the FFI.

LuaJIT includes a bit manipulation library, but its FFI acceleration is optional. Also, Lua 5.3 introduced bitwise operators. [1]

> One cannot even format UTF-8 text

Lua 5.3 introduced "basic utf-8 support" [1] although I am not sure to what extent.

> The official documentation mostly revolves around C bindings. The actual Lua language documentation is provided by another web site that looks like it has been written by an attention-deficit child

Again, I suspect you are criticizing LuaJIT. The actual Lua documentation [2] has never let me down.

[1] http://www.lua.org/manual/5.3/readme.html#changes

[2] http://www.lua.org/manual/5.3/manual.html

2 comments

Well, all the criticism is valid if the parent did any Lua programming in Lua in the last 15+ years.

5.3 where all this are solved is the most recent stable version -- not what most people have used for the entire history of Lua (and not default in all distros).

>Again, I suspect you are criticizing LuaJIT.

Nope, plain old Lua 5.1 which is still the newest one can get on many platforms. You're stuck with what you have, not what was released yesterday.

>The actual Lua documentation has never let me down.

I read the document you linked and found the documentation lacking on anything but basic syntax and C bindings (the chapter on C API comes before the Lua standard library, btw). The standard library function documentation underspecifies parameter types and both return value types and numbers.

I find the Lua Short Reference [1] much more accessible than the official documentation. It has the very same information in a much more readable format.

>Lua 5.3 introduced "basic utf-8 support"

Looking at the documentation you linked, the Unicode support does not integrate with the string library. Walking a UTF-8 string manually character-by-character has never been difficult and Lua 5.3's support doesn't seem to address any other use cases.

[1] http://lua-users.org/files/wiki_insecure/users/thomasl/luare...

It amazes me how many tech people can't compile projects on their system's. Lua is crazy easy to compile on any system.
You compiled it, you have to support it.

Most devs aren't interested in the additional burden of maintaining and crawling through the code when an edge case pops up.