Hello everyone,
I’m new to the Lua ecosystem and would like to begin learning Lua open-source project. However, I’m not sure where to start — whether in terms of understanding the codebase or learning recommended workflows/tools.
Could you kindly share advice or resources on:
How a beginner should approach learning Lua and what goal should i have in mind.
Tips from your own experience getting started
I’d really appreciate any direction or suggestions.
Thank you in advance!
Best regards,
Somil
I’m new to the Lua ecosystem and would like to begin learning Lua open-source project. However, I’m not sure where to start — whether in terms of understanding the codebase or learning recommended workflows/tools.
Could you kindly share advice or resources on:
How a beginner should approach learning Lua and what goal should i have in mind.
Tips from your own experience getting started
I am not sure if you want to understand the Lua source code itself or if you wanna learn the Lua language. If you are not familiar at all with Lua then I think the advice should be the same in the beginning either way:
I like to recommend following along with the Programming in Lua
book, which is a gem when it comes to learning the language
features and I heard the newest edition is even better geared
towards educating complete beginners.
In addition to that I recommend you pick your favorite project
that uses Lua. Either write something yourself in pure Lua, use a
framework in which you can write Lua scripts or just try to solve
some of the questions/challenges from the book.
i.e. Love2D is a great 2D game engine for example, but there are
plenty other options to choose from. Practice is the best teacher,
so just be sure to pick something that is fun for you!
After you understood Lua itself from the Lua language's point of view, you could look into writing C modules for Lua, especially if you plan to have a deeper look into the codebase itself. I've gotten the feeling writing C modules in Lua is a bit different and easier compared with writing raw C code as some of the garbage collection is being handled by Lua itself. Maybe take a look at some more popular C modules like lfs, luasystem or lpeg and see how they are implemented or just follow along with how the book explains the C API and do the challenges there.
Once you understand Lua from within the language and it's C side
for developing APIs, I think you'd be properly equipped to explore
the Lua codebase itself.
For this part someone else should give guidance as I had just a
few quick gloss overs while trying to better understand the C API.
~ Sewbacca