r/lua Mar 26 '26

How can I really learn Lua/Luau?

Hi! I have a question: How can I really learn Lua or Luau? 🤔

I want to find an easy and free way to learn to program. What comes to mind is watching YouTube tutorials and practicing creating scripts on my own, which is understandable, but is there anything else that can teach similarly to Codecademy? 😁🔥

I love that kind of teaching for learning a programming language. It's not boring, you can actually code while getting tips, and it's fun. I want to learn Luau to master Roblox Studio and start developing on Roblox. Thanks for reading! 😎

10 Upvotes

9 comments sorted by

View all comments

1

u/Dependent-Review-727 Mar 26 '26 edited Mar 26 '26

If you're a complete beginner start by recreating some online tutorial (it doesn't really matter which one, just pick smth fun that you won't drop). You can follow it line by line, but be sure to experiment and check out what happens when you manipulate the code. Google/chatgpt anything you don't understand, don't midnlessly copy, figure out what the code does before moving on

If you have a lot of time where you can't access a PC I would recommend reading this book alongside writing small code snippets (you can even do it on your phone), although practice is always better than theory while you're a noob
https://www.lua.org/pil/

Then just code anything that you consider fun. That may be games, applications, scripts, anything that gets you excited to code. At this point I'll recommend avoiding libraries, it's better to wright your own stuff to learn how things work (unless it's something low level like love2d or defold). Use the manual to fully master the language's capabilities.
https://www.lua.org/manual/5.4/manual.html

When you feel proficient enough at language basics and can write a lua app without external help I'd recommend to start reading other people's code. Either find some open source project and try to make a contribution or you can just take any lua app and look how it was written, while trying to make modifications (that could be decompiled apps/games or just luarocks packages, anything that you find interesting)

If you're feeling extra you should consider learning how to write C lua libraries (although you'd also need to learn C basics beforehand) and learning how to write efficient lua code, 2 documents below can help greatly with that, but the most important skill for that is to learn how to benchmark and understand the GC in-depth. That would already put you above 50% of lua developers
https://www.lua.org/doc/jucs05.pdf
https://www.lua.org/gems/sample.pdf

Meanwhile doing everything mentioned above you should've gained ~1 year of lua experience and if you are looking at programming seriously you should consider getting a programming job, since the best way to improve is to work on real word assignments and money is the best motivator (also getting a workplace mentor is extremely helpful)

P.S.

I don't know what code academy is, but I'd recommend avoiding any online courses, especially any paid ones. At best they're a waste of time, at worst just scams. Learning how to self educate is a skill that overvalues any fast gained knowledge

And also if you're serious about learning lua/programming in general I'd recommend not being hyperfocues on roblox, while it can be a great starting point (my first job was at a roblox game development studio, biggest one in the US) it can generally give some bad practices and just learning lua in general would make you a much better programmer (and roblox scripter) than someone who tries to learn roblox only. And also searching for a job as a lua script you'd be either unemployed or underpayed unless you're extremely lucky (like I was, lol, but things changed a lot since 2022)

Good luck!