Lua is a lightweight dynamic scripting language often embedded into other programs like World of Warcraft and Roblox. It's minimal syntax makes it easier to learn than Python, while being much more performant than other interpreted languages. 

#programming #compsci #100SecondsOfCode

🔗 Resources

Lua Manual https://www.lua.org/manual/5.3/manual.html
Lua History https://www.researchgate.net/publication/2486970_The_Evolution_of_an_Extension_Language_A_History_of_Lua
Lua C API https://riptutorial.com/lua/topic/671/introduction-to-lua-c-api

🔥 Get More Content - Upgrade to PRO

Upgrade to Fireship PRO at https://fireship.io/pro
Use code lORhwXd2 for 25% off your first payment. 

🎨 My Editor Settings

- Atom One Dark 
- vscode-icons
- Fira Code Font

🔖 Topics Covered

What is Lua?
What is Lua used for?
Is Lua faster than Python?
Lua vs Python
Lua Basics Tutorial
How do tables work in Lua?
How to use C or C++ with Lua
2024-02-04T05:34:16.455Z
nova-2
2-general-nova
2024-01-09.29447
30089e05-99d1-4376-b32e-c263170674af
2baf3b33-3f7c-4425-b4af-0d966e3eeeba
a17df439cc682df25e35fa1d6becf9521101a37cd7042084343a316ea046752a
67875a7f-c9c4-48a0-aa55-5bdb8a91c34a
deprecated
Lua, a fast multi paradigm scripting language famous for being so underrated.
Imagine a language that's easier to learn than Python, while also being faster and more portable than Python.
Lua was named after the moon, when it was designed by a team of computer scientists in Brazil in 1993.
It's lightweight and extremely fast, because its a virtual machine maps very closely to c.
And when used with its just in time compiler, it's widely considered the fastest scripting language in the world.
This makes it ideal for embedding into other applications, like World of Warcraft or Roblox, for example, where users can write Lua to build their own games and features because the language is embedded into the base game.
It's easy to learn because it has only 21 reserved words and has only one data structuring mechanism called a table that can represent arrays, A's dictionaries, graphs, trees, and more.
It also supports collaborative multitasking with coroutines.
Its standard library is very minimal, but it does have a large ecosystem of packages just with the Lua rocks package manager.
To get started, install it, then create a file ending in dot Lua.
Declare a variable by providing a name and value.
By default, variables are global, Wolf, but make them local with the local keyword.
It's a dynamic language, so no type annotations are required.
We can then use print to output the value to the standard output.
There are no classes in Lua, but but anything you can imagine can be done with functions and tables.
A function is declared with the function keyword, then closed with the end keyword.
Functions are first class objects, which means they can be passed around to other functions to support functional programming patterns.
Now, to structure data, you create tables with braces.
A table is actually an associative array, which means the index in the array it can be replaced with different values.
By default, it uses integer values, and the craziest thing about this language is that it starts the index at 1 instead of 0 like most languages.
That gives us a conventional array, but we can also easily create a dictionary by giving the keys a string value.
Now, we can use or to loop over every key value pair in the table.
The language is single threaded, but we can use coroutines to pause and resume a function.
Create a coroutine, then use yield to suspend its execution.
Now somewhere else in the code, use coroutine resume to continue execution until you get to the return statement.
Now if you're a c programmer, you'll be happy to know that Lua has a very simple c API.
It allows us to run Lua code inside a c program or vice Orsa runs C code from a Lua program.
Now to execute your code, open up the terminal and run the Lua interpreter.
This has been Lua in 100 seconds.
Hit the like button and subscribe if you wanna see more short videos like this.
Thanks for watching, and I will see you in the next one.

Speaker 0: Lua, a fast multi paradigm scripting language famous for being so underrated. Imagine a language that's easier to learn than Python, while also being faster and more portable than Python. Lua was named after the moon, when it was designed by a team of computer scientists in Brazil in 1993. It's lightweight and extremely fast, because its a virtual machine maps very closely to c. And when used with its just in time compiler, it's widely considered the fastest scripting language in the world.

This makes it ideal for embedding into other applications, like World of Warcraft or Roblox, for example, where users can write Lua to build their own games and features because the language is embedded into the base game. It's easy to learn because it has only 21 reserved words and has only one data structuring mechanism called a table that can represent arrays, A's dictionaries, graphs, trees, and more. It also supports collaborative multitasking with coroutines. Its standard library is very minimal, but it does have a large ecosystem of packages just with the Lua rocks package manager. To get started, install it, then create a file ending in dot Lua.

Declare a variable by providing a name and value. By default, variables are global, Wolf, but make them local with the local keyword. It's a dynamic language, so no type annotations are required. We can then use print to output the value to the standard output. There are no classes in Lua, but but anything you can imagine can be done with functions and tables.

A function is declared with the function keyword, then closed with the end keyword. Functions are first class objects, which means they can be passed around to other functions to support functional programming patterns. Now, to structure data, you create tables with braces. A table is actually an associative array, which means the index in the array it can be replaced with different values. By default, it uses integer values, and the craziest thing about this language is that it starts the index at 1 instead of 0 like most languages.

That gives us a conventional array, but we can also easily create a dictionary by giving the keys a string value. Now, we can use or to loop over every key value pair in the table. The language is single threaded, but we can use coroutines to pause and resume a function. Create a coroutine, then use yield to suspend its execution. Now somewhere else in the code, use coroutine resume to continue execution until you get to the return statement.

Now if you're a c programmer, you'll be happy to know that Lua has a very simple c API. It allows us to run Lua code inside a c program or vice Orsa runs C code from a Lua program. Now to execute your code, open up the terminal and run the Lua interpreter. This has been Lua in 100 seconds. Hit the like button and subscribe if you wanna see more short videos like this.

Thanks for watching, and I will see you in the next one.
Lua, a fast multi paradigm scripting language famous for being so underrated. Imagine a language that's easier to learn than Python, while also being faster and more portable than Python. Lua was named after the moon, when it was designed by a team of computer scientists in Brazil in 1993.
languages
It's lightweight and extremely fast, because its a virtual machine maps very closely to c.
And when used with its just in time compiler, it's widely considered the fastest scripting language in the world. This makes it ideal for embedding into other applications, like World of Warcraft or Roblox, for example, where users can write Lua to build their own games and features because the language is embedded into the base game. It's easy to learn because it has only 21 reserved words and has only one data structuring mechanism called a table that can represent arrays, A's dictionaries, graphs, trees, and more. It also supports collaborative multitasking with coroutines. Its standard library is very minimal, but it does have a large ecosystem of packages just with the Lua rocks package manager. To get started, install it, then create a file ending in dot Lua. Declare a variable by providing a name and value. By default, variables are global, Wolf, but make them local with the local keyword. It's a dynamic language, so no type annotations are required. We can then use print to output the value to the standard output.
databases
languages
software
software development
documentation
programming
There are no classes in Lua, but but anything you can imagine can be done with functions and tables. A function is declared with the function keyword, then closed with the end keyword. Functions are first class objects, which means they can be passed around to other functions to support functional programming patterns. Now, to structure data, you create tables with braces. A table is actually an associative array, which means the index in the array it can be replaced with different values. By default, it uses integer values, and the craziest thing about this language is that it starts the index at 1 instead of 0 like most languages.
That gives us a conventional array, but we can also easily create a dictionary by giving the keys a string value. Now, we can use or to loop over every key value pair in the table. The language is single threaded, but we can use coroutines to pause and resume a function. Create a coroutine, then use yield to suspend its execution. Now somewhere else in the code, use coroutine resume to continue execution until you get to the return statement. Now if you're a c programmer, you'll be happy to know that Lua has a very simple c API.
programming
languages
linguistics
It allows us to run Lua code inside a c program or vice Orsa runs C code from a Lua program. Now to execute your code, open up the terminal and run the Lua interpreter. This has been Lua in 100 seconds. Hit the like button and subscribe if you wanna see more short videos like this. Thanks for watching, and I will see you in the next one.
Lua, a fast multi paradigm scripting language famous for being so underrated. Imagine a language that's easier to learn than Python, while also being faster and more portable than Python. Lua was named after the moon, when it was designed by a team of computer scientists in Brazil in 1993. It's lightweight and extremely fast, because its a virtual machine maps very closely to c. And when used with its just in time compiler, it's widely considered the fastest scripting language in the world. This makes it ideal for embedding into other applications, like World of Warcraft or Roblox, for example, where users can write Lua to build their own games and features because the language is embedded into the base game. It's easy to learn because it has only 21 reserved words and has only one data structuring mechanism called a table that can represent arrays, A's dictionaries, graphs, trees, and more. It also supports collaborative multitasking with coroutines. Its standard library is very minimal, but it does have a large ecosystem of packages just with the Lua rocks package manager. To get started, install it, then create a file ending in dot Lua. Declare a variable by providing a name and value. By default, variables are global, Wolf, but make them local with the local keyword. It's a dynamic language, so no type annotations are required. We can then use print to output the value to the standard output. There are no classes in Lua, but but anything you can imagine can be done with functions and tables. A function is declared with the function keyword, then closed with the end keyword. Functions are first class objects, which means they can be passed around to other functions to support functional programming patterns. Now, to structure data, you create tables with braces. A table is actually an associative array, which means the index in the array it can be replaced with different values. By default, it uses integer values, and the craziest thing about this language is that it starts the index at 1 instead of 0 like most languages. That gives us a conventional array, but we can also easily create a dictionary by giving the keys a string value. Now, we can use or to loop over every key value pair in the table. The language is single threaded, but we can use coroutines to pause and resume a function. Create a coroutine, then use yield to suspend its execution. Now somewhere else in the code, use coroutine resume to continue execution until you get to the return statement. Now if you're a c programmer, you'll be happy to know that Lua has a very simple c API. It allows us to run Lua code inside a c program or vice Orsa runs C code from a Lua program. Now to execute your code, open up the terminal and run the Lua interpreter. This has been Lua in 100 seconds. Hit the like button and subscribe if you wanna see more short videos like this. Thanks for watching, and I will see you in the next one.
Lua,
lua
a
a
fast
fast
multi
multi
paradigm
paradigm
scripting
scripting
language
language
famous
famous
for
for
being
being
so
so
underrated.
underrated
Imagine
imagine
a
a
language
language
that's
that's
easier
easier
to
to
learn
learn
than
than
Python,
python
while
while
also
also
being
being
faster
faster
and
and
more
more
portable
portable
than
than
Python.
python
Lua
lua
was
was
named
named
after
after
the
the
moon,
moon
when
when
it
it
was
was
designed
designed
by
by
a
a
team
team
of
of
computer
computer
scientists
scientists
in
in
Brazil
brazil
in
in
1993.
1993
It's
it's
lightweight
lightweight
and
and
extremely
extremely
fast,
fast
because
because
its
its
a
a
virtual
virtual
machine
machine
maps
maps
very
very
closely
closely
to
to
c.
c
And
and
when
when
used
used
with
with
its
its
just
just
in
in
time
time
compiler,
compiler
it's
it's
widely
widely
considered
considered
the
the
fastest
fastest
scripting
scripting
language
language
in
in
the
the
world.
world
This
this
makes
makes
it
it
ideal
ideal
for
for
embedding
embedding
into
into
other
other
applications,
applications
like
like
World
world
of
of
Warcraft
warcraft
or
or
Roblox,
roblox
for
for
example,
example
where
where
users
users
can
can
write
write
Lua
lua
to
to
build
build
their
their
own
own
games
games
and
and
features
features
because
because
the
the
language
language
is
is
embedded
embedded
into
into
the
the
base
base
game.
game
It's
it's
easy
easy
to
to
learn
learn
because
because
it
it
has
has
only
only
21
21
reserved
reserved
words
words
and
and
has
has
only
only
one
one
data
data
structuring
structuring
mechanism
mechanism
called
called
a
a
table
table
that
that
can
can
represent
represent
arrays,
arrays
A's
a's
dictionaries,
dictionaries
graphs,
graphs
trees,
trees
and
and
more.
more
It
it
also
also
supports
supports
collaborative
collaborative
multitasking
multitasking
with
with
coroutines.
coroutines
Its
its
standard
standard
library
library
is
is
very
very
minimal,
minimal
but
but
it
it
does
does
have
have
a
a
large
large
ecosystem
ecosystem
of
of
packages
packages
just
just
with
with
the
the
Lua
lua
rocks
rocks
package
package
manager.
manager
To
to
get
get
started,
started
install
install
it,
it
then
then
create
create
a
a
file
file
ending
ending
in
in
dot
dot
Lua.
lua
Declare
declare
a
a
variable
variable
by
by
providing
providing
a
a
name
name
and
and
value.
value
By
by
default,
default
variables
variables
are
are
global,
global
Wolf,
wolf
but
but
make
make
them
them
local
local
with
with
the
the
local
local
keyword.
keyword
It's
it's
a
a
dynamic
dynamic
language,
language
so
so
no
no
type
type
annotations
annotations
are
are
required.
required
We
we
can
can
then
then
use
use
print
print
to
to
output
output
the
the
value
value
to
to
the
the
standard
standard
output.
output
There
there
are
are
no
no
classes
classes
in
in
Lua,
lua
but
but
but
but
anything
anything
you
you
can
can
imagine
imagine
can
can
be
be
done
done
with
with
functions
functions
and
and
tables.
tables
A
a
function
function
is
is
declared
declared
with
with
the
the
function
function
keyword,
keyword
then
then
closed
closed
with
with
the
the
end
end
keyword.
keyword
Functions
functions
are
are
first
first
class
class
objects,
objects
which
which
means
means
they
they
can
can
be
be
passed
passed
around
around
to
to
other
other
functions
functions
to
to
support
support
functional
functional
programming
programming
patterns.
patterns
Now,
now
to
to
structure
structure
data,
data
you
you
create
create
tables
tables
with
with
braces.
braces
A
a
table
table
is
is
actually
actually
an
an
associative
associative
array,
array
which
which
means
means
the
the
index
index
in
in
the
the
array
array
it
it
can
can
be
be
replaced
replaced
with
with
different
different
values.
values
By
by
default,
default
it
it
uses
uses
integer
integer
values,
values
and
and
the
the
craziest
craziest
thing
thing
about
about
this
this
language
language
is
is
that
that
it
it
starts
starts
the
the
index
index
at
at
1
1
instead
instead
of
of
0
0
like
like
most
most
languages.
languages
That
that
gives
gives
us
us
a
a
conventional
conventional
array,
array
but
but
we
we
can
can
also
also
easily
easily
create
create
a
a
dictionary
dictionary
by
by
giving
giving
the
the
keys
keys
a
a
string
string
value.
value
Now,
now
we
we
can
can
use
use
or
or
to
to
loop
loop
over
over
every
every
key
key
value
value
pair
pair
in
in
the
the
table.
table
The
the
language
language
is
is
single
single
threaded,
threaded
but
but
we
we
can
can
use
use
coroutines
coroutines
to
to
pause
pause
and
and
resume
resume
a
a
function.
function
Create
create
a
a
coroutine,
coroutine
then
then
use
use
yield
yield
to
to
suspend
suspend
its
its
execution.
execution
Now
now
somewhere
somewhere
else
else
in
in
the
the
code,
code
use
use
coroutine
coroutine
resume
resume
to
to
continue
continue
execution
execution
until
until
you
you
get
get
to
to
the
the
return
return
statement.
statement
Now
now
if
if
you're
you're
a
a
c
c
programmer,
programmer
you'll
you'll
be
be
happy
happy
to
to
know
know
that
that
Lua
lua
has
has
a
a
very
very
simple
simple
c
c
API.
api
It
it
allows
allows
us
us
to
to
run
run
Lua
lua
code
code
inside
inside
a
a
c
c
program
program
or
or
vice
vice
Orsa
orsa
runs
runs
C
c
code
code
from
from
a
a
Lua
lua
program.
program
Now
now
to
to
execute
execute
your
your
code,
code
open
open
up
up
the
the
terminal
terminal
and
and
run
run
the
the
Lua
lua
interpreter.
interpreter
This
this
has
has
been
been
Lua
lua
in
in
100
100
seconds.
seconds
Hit
hit
the
the
like
like
button
button
and
and
subscribe
subscribe
if
if
you
you
wanna
wanna
see
see
more
more
short
short
videos
videos
like
like
this.
this
Thanks
thanks
for
for
watching,
watching
and
and
I
i
will
will
see
see
you
you
in
in
the
the
next
next
one.
one
success
The speaker discusses the benefits of using a fast multi ecosystem grammar language called Volcano, which is designed to be lightweight and fast. It supports collaborative programming and has a minimal ecosystem, with a large library of packages. The language is multi- threaded and can be used for coding multiple programs or variables.
Lua in 100 Seconds
Lua, a fast multi paradigm scripting language famous for being so underrated. Imagine a language that's easier to learn than Python, while also being faster and more portable than Python. Lua was named after the moon, when it was designed by a team of computer scientists in Brazil in 1993. It's lightweight and extremely fast, because its a virtual machine maps very closely to c. And when used with its just in time compiler, it's widely considered the fastest scripting language in the world. This makes it ideal for embedding into other applications, like World of Warcraft or Roblox, for example, where users can write Lua to build their own games and features because the language is embedded into the base game. It's easy to learn because it has only 21 reserved words and has only one data structuring mechanism called a table that can represent arrays, A's dictionaries, graphs, trees, and more. It also supports collaborative multitasking with coroutines. Its standard library is very minimal, but it does have a large ecosystem of packages just with the Lua rocks package manager. To get started, install it, then create a file ending in dot Lua. Declare a variable by providing a name and value. By default, variables are global, Wolf, but make them local with the local keyword. It's a dynamic language, so no type annotations are required. We can then use print to output the value to the standard output. There are no classes in Lua, but but anything you can imagine can be done with functions and tables. A function is declared with the function keyword, then closed with the end keyword. Functions are first class objects, which means they can be passed around to other functions to support functional programming patterns. Now, to structure data, you create tables with braces. A table is actually an associative array, which means the index in the array it can be replaced with different values. By default, it uses integer values, and the craziest thing about this language is that it starts the index at 1 instead of 0 like most languages. That gives us a conventional array, but we can also easily create a dictionary by giving the keys a string value. Now, we can use or to loop over every key value pair in the table. The language is single threaded, but we can use coroutines to pause and resume a function. Create a coroutine, then use yield to suspend its execution. Now somewhere else in the code, use coroutine resume to continue execution until you get to the return statement. Now if you're a c programmer, you'll be happy to know that Lua has a very simple c API. It allows us to run Lua code inside a c program or vice Orsa runs C code from a Lua program. Now to execute your code, open up the terminal and run the Lua interpreter. This has been Lua in 100 seconds. Hit the like button and subscribe if you wanna see more short videos like this. Thanks for watching, and I will see you in the next one.
The speaker discusses the benefits of using a fast multi ecosystem grammar language called Volcano, which is designed to be lightweight and fast. It supports collaborative programming and has a minimal ecosystem, with a large library of packages. The language is multi- threaded and can be used for coding multiple programs or variables.