Introduction to Lua
So, you think you want to learn Roblox Lua (Also known as rbx.lua or rblx.lua)? Well, if you do, you've come to the right place. Lua is a scripting language originally created in C (An old but popular programming language today) in 1993 by 3 programmers, Roberto Ierusalimschy, Luiz Henrique de Figueiredo, and Waldemar Celes, in an effort to allow players to add in dynamic content to games and applications. In this wikia, we will be focusing on the Lua that Roblox currently implements, and how to effectively use it.
What is Lua?
As I said before, lua is a C based scripting language created by 3 enterprising programmers to allow dynamic content in normally unchanging games and applications. But of course, you have many questions. First of all, what is a scripting language? A scripting language is simply a simplified version of a Programming Language. A Programming Language is a format to allow human-readable commands to be converted into A+, also known as machine code. Machine code is totally unreadable except by computers, and cannot be decrypted into human-readable commands. I could go on with all these definitions but then this would be too long. Now that you know what Lua is, I'll define a few major aspects of it. First off, Lua is a pseudo-OOP. OOP, which stands for Object-oriented programming (Maybe OOS, Object-oriented scripting? :P). Object-oriented programming is when a programming language consists of datafields and static objects that hold and process information. Pseudo-OOP is when a language has the capacity for OOP, but does not require it. I will explain OOP and pseudo-OOP in later articles. Another aspect of Lua is that it is a loosely typed language. This means that most type-casting (conversion of one type to another) is done at run-time, not compile-time. Unless you come from another scripting or programming language, you will not understand this until I explain variables.
What Lua does Roblox Implement?
Roblox currently uses Lua 5.1, but has not yet upgraded to Lua 5.1.4 (As to my knowledge). For information on the differences of Lua 5.1 and Lua 5.1.4, see Lua's website, http://www.lua.org/, which is also a useful source for extra information about lua.