luau VS Lua

Compare luau vs Lua and see what are their differences.

luau

A fast, small, safe, gradually typed embeddable scripting language derived from Lua (by luau-lang)

Lua

Lua is a powerful, efficient, lightweight, embeddable scripting language. It supports procedural programming, object-oriented programming, functional programming, data-driven programming, and data description. (by lua)
Our great sponsors
  • WorkOS - The modern identity platform for B2B SaaS
  • InfluxDB - Power Real-Time Data Analytics at Scale
  • SaaSHub - Software Alternatives and Reviews
luau Lua
64 118
3,615 7,974
3.2% 2.1%
9.0 8.5
3 days ago 11 days ago
C++ C
MIT License MIT License
The number of mentions indicates the total number of mentions that we've tracked plus the number of user suggested alternatives.
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.

luau

Posts with mentions or reviews of luau. We have used some of these posts to build our list of alternatives and similar projects. The last one was on 2024-01-11.
  • Building a baseline JIT for Lua automatically
    2 projects | news.ycombinator.com | 11 Jan 2024
    As far as I can tell, they aren't.

    http://lua-users.org/wiki/SandBoxes

    There is a lot of information there, but it doesn't handle resource exhaustion, execution time limits or give any guarantees. It does indicate that it's possible, and has a decent example of the most restrictive setup, which is a good start. But I would for example compare it with Luau's SECURITY.md.

    From https://github.com/luau-lang/luau/blob/master/SECURITY.md:

    > Luau provides a safe sandbox that scripts can not escape from, short of vulnerabilities in custom C functions exposed by the host. This includes the virtual machine and builtin libraries. Notably this currently does not include the work-in-progress native code generation facilities.

    > Any source code can not result in memory safety errors or crashes during its compilation or execution. Violations of memory safety are considered vulnerabilities.

    > Note that Luau does not provide termination guarantees - some code may exhaust CPU or RAM resources on the system during compilation or execution.

    So, even luau will have trouble with untrusted code, but it specifies exactly what happens and so on. I think that's fair enough.

  • Pluto, a Modern Lua Dialect
    9 projects | news.ycombinator.com | 27 Dec 2023
    Alternatively, Luau is a well-supported Lua variant with type checking and performance improvements, aimed more towards being a sandboxed embedded scripting environment.

    https://luau-lang.org/

  • Buzz: A lightweight statically typed scripting language
    6 projects | news.ycombinator.com | 26 Dec 2023
    If you need Lua but also type-safety, how about Luau [1] then?

    [1] https://luau-lang.org/

  • Lua Criticism Is Unwarranted
    4 projects | news.ycombinator.com | 26 Oct 2023
    I had the pleasure of working with Lua 5.1 back in the late noughties. For me it's replaced Tcl whenever I want something I can configure above a C library. At the time I used it I found it quite nice but I'll also not forget the hours I wasted tracking down nil table corruptions which could have easily been caught by a type checker.

    I had some hope that Luau https://luau-lang.org or Teal https://github.com/teal-language/tl would make things better but with the following example

        function foo(x: number): string
  • Ask HN: Looking for platforms, other than Roblox, that have adopted Luau
    6 projects | news.ycombinator.com | 20 Oct 2023
    Looking at other replies here, I can see I wasn't the only one who didn't realize there is Lua and Luau. Luau is an extension of Lua: https://luau-lang.org/

    > Luau is syntactically backwards-compatible with Lua 5.1 (code that is valid Lua 5.1 is also valid Luau); however, we have extended the language with a set of syntactical features that make the language more familiar and ergonomic.

  • Embeddable Common Lisp 23.9.9
    4 projects | news.ycombinator.com | 9 Sep 2023
    Lua is usually the embedded language of choice. If you are focused on security, you could check out the Roblox fork, Luau (https://github.com/Roblox/luau) where the creators took extra care to lock down the language on what scripts could do.
  • Creating a simple sandboxed language
    3 projects | /r/LLVM | 4 Jul 2023
    Luau - Lua variant by Roblox
  • The Warframe Lexicon for Updates
    1 project | /r/Warframe | 1 Jun 2023
    On a side note, I've heard that they recently switched from Lua to Roblox's own fork of Lua, Luau.
  • Lua: The Little Language That Could
    16 projects | news.ycombinator.com | 28 May 2023
    https://www.youtube.com/results?search_query=luau+roblox&sp=...

    Luau

    https://github.com/Roblox/luau

    Roblox wrote a superset of Roblox Lua which is way faster

  • Scripting Resources MegaThread
    1 project | /r/ROBLOXStudio | 28 May 2023
    https://luau-lang.org/ - some documentation, and examples https://create.roblox.com/docs - documentation, tutorials, and examples https://www.youtube.com/user/AlvinBLOX - tutorials https://www.youtube.com/@TheDevKing/videos - tutorials https://www.lua.org/manual/5.1/ - not specific to Roblox, but Lua reference manual https://www.codecademy.com/learn/learn-lua - Lua on Codecademy

Lua

Posts with mentions or reviews of Lua. We have used some of these posts to build our list of alternatives and similar projects. The last one was on 2024-02-19.
  • 5-Step Approach: ProjectSveltos Event Framework for Kubernetes Deployment with Cilium Gateway API
    3 projects | dev.to | 19 Feb 2024
    The EventSource uses the Lua language to search for any services with ports set to 80 or 443 in the ‘argocd’ namespace. More examples can be found here.
  • Building a Wordle Clone with Lua! 🕹
    3 projects | dev.to | 25 Jan 2024
    If you're new to the 12 in 24 series, I'm learning and building projects with a new programming language every month - this month, it's the Lua scripting language. You can find source code for the projects I build in the official GitHub repository (check it out, this week's folder contains code for both this and two other bonus projects!).
  • Gearing up for Lua
    3 projects | dev.to | 1 Jan 2024
    This month, we're talking about Lua. It's not always a first choice when it comes to programming, but I think there's a lot to enjoy about this little language. Heck, I'm a big game development fan myself - I would look into it even if that was the only reason to.
  • Pluto, a Modern Lua Dialect
    9 projects | news.ycombinator.com | 27 Dec 2023
    It’s Portuguese. It’s the same in the Lua codebase [1].

    [1]: https://github.com/lua/lua

  • Fluent Bit with ECS: Configuration Tips and Tricks
    4 projects | dev.to | 26 Dec 2023
    If we think we need more flexibility for processing records, we can write our own embedded filters using Lua language. Lua is a highly efficient programming language used mainly for embedded scripting.
  • A Linguagem Lua completa 30 anos!
    3 projects | dev.to | 17 Oct 2023
  • The Top 20 Programming Languages and Their Origins
    7 projects | dev.to | 24 Sep 2023
    Lua
  • Lua C headers, MacOS
    2 projects | /r/lua | 7 Sep 2023
    ➜ ~ brew info lua ==> lua: stable 5.4.6 (bottled) Powerful, lightweight programming language https://www.lua.org/ /opt/homebrew/Cellar/lua/5.4.6 (29 files, 788.7KB) * Poured from bottle using the formulae.brew.sh API on 2023-05-16 at 11:03:06 From: https://github.com/Homebrew/homebrew-core/blob/HEAD/Formula/l/lua.rb License: MIT ==> Caveats You may also want luarocks: brew install luarocks ==> Analytics install: 16,599 (30 days), 56,745 (90 days), 139,027 (365 days) install-on-request: 1,763 (30 days), 6,266 (90 days), 21,105 (365 days) build-error: 0 (30 days)
  • How do you like code documentation inline in the source code vs. as separate guides, or how would you do it?
    3 projects | /r/ProgrammingLanguages | 3 Jul 2023
    I think Lua is a good example of doing documentation well. The source code is commented only as much as needed, mainly with brief comments about things that might not be obvious and a small number of longer explanations of how the architecture works (mainly relevant to developers). It also has a super nice feature that's surprisingly rare: each file has a very short line at the top that describes what the file is, so you don't have to guess based on the filename alone. The API is documented in a single HTML file on the website that has both the high level descriptions of the language and architecture, as well as documentation for each public-facing function. The docs are maintained by hand, but the API is mostly stable, so the docs don't need to change very often.
  • Total Noob With a Question.
    2 projects | /r/learnprogramming | 27 Jun 2023
    This is using the Lua language and the Solar2d game framework

What are some alternatives?

When comparing luau and Lua you can also consider the following projects:

lua-languages - Languages that compile to Lua

julia - The Julia Programming Language

LuaJIT - Mirror of the LuaJIT git repository

assemblyscript - A TypeScript-like language for WebAssembly.

moonsharp - An interpreter for the Lua language, written entirely in C# for the .NET, Mono, Xamarin and Unity3D platforms, including handy remote debugger facilities.

NvChad - Blazing fast Neovim config providing solid defaults and a beautiful UI, enhancing your neovim experience.

lua-language-server - A language server that offers Lua language support - programmed in Lua

lua-nginx-module - Embed the Power of Lua into NGINX HTTP servers

tl - The compiler for Teal, a typed dialect of Lua

kotlin-script-examples - Examples of Kotlin Scripts and usages of the Kotlin Scripting API

moonscript - :crescent_moon: A language that compiles to Lua

mal - mal - Make a Lisp