Lua in 100 Seconds

Ғылым және технология

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 www.lua.org/manual/5.3/manual...
Lua History www.researchgate.net/publicat...
Lua C API riptutorial.com/lua/topic/671...
🔥 Get More Content - Upgrade to PRO
Upgrade to Fireship PRO at 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

Пікірлер: 2 600

  • @alexandermichaud957
    @alexandermichaud9572 жыл бұрын

    Being subscribed to this channel is a problem, because every day I learn about a new piece of technology I want to go play around with

  • @drishalballaney6590

    @drishalballaney6590

    2 жыл бұрын

    ngl you had us in the first half xD

  • @thepisewigeon

    @thepisewigeon

    2 жыл бұрын

    i litteraly have a txt file where i keep a list of technologies i want to play around with later, 90% come from this channel lmao

  • @Thespokenone

    @Thespokenone

    2 жыл бұрын

    @@thepisewigeon That's a pretty handy idea, I'll remember to do that!

  • @DogeMultiverse

    @DogeMultiverse

    2 жыл бұрын

    Just print hello world and add that programming language into your resume

  • @Thespokenone

    @Thespokenone

    2 жыл бұрын

    @@DogeMultiverse I can see why that's your profile name 😂

  • @vicradon
    @vicradon2 жыл бұрын

    I love how Jeff always uses “hi mom” instead of “hello world”. Edit: Jeff made a Twitter post about how his Mom always watched his videos and was proud of him even though she wasn't a programmer. Sadly she passed away. My heartfelt condolences Jeff. I'm sure she in a better place seeing the great work you do for the tech community making these amazing videos. ❤

  • @bigoulie931

    @bigoulie931

    2 жыл бұрын

    Same thing, because she is his world

  • @salmanbehen4384

    @salmanbehen4384

    2 жыл бұрын

    @@bigoulie931 Maybe because of hava.

  • @padamupreti

    @padamupreti

    2 жыл бұрын

    I wonder if he does this because his mom watches every video he puts out, so he is saying hi knowing this

  • @alpers.2123

    @alpers.2123

    2 жыл бұрын

    So cute

  • @masmullin

    @masmullin

    2 жыл бұрын

    Is name is Jeff? Well today I just learned TWO things!

  • @tati6213
    @tati62132 жыл бұрын

    Pretty cool seeing people talk about lua, it was invented in my university and I had a class lectured by one of the creators you showed in this video!

  • @Psychopatz

    @Psychopatz

    2 жыл бұрын

    You're one lucky guy!

  • @gloverelaxis

    @gloverelaxis

    Жыл бұрын

    wow, that's amazing! please tell that lecturer that one more person out there absolutely loves the language they designed

  • @sbrunner69

    @sbrunner69

    Жыл бұрын

    Awesome! I’ve been using lua in mach4 on my homemade cnc router. It’s cool.

  • @hodayfa000h

    @hodayfa000h

    Жыл бұрын

    wait what

  • @cheeseboiyes._.

    @cheeseboiyes._.

    Жыл бұрын

    so that means if your university didn't exist roblox would not even be a thing lol

  • @dyXurChannel
    @dyXurChannel2 жыл бұрын

    Lua has become one of my favorite programming languages. It's sheer simplicity makes writing it an absolute joy.

  • @faedws

    @faedws

    7 ай бұрын

    make roblox game

  • @-pSiphon-

    @-pSiphon-

    2 ай бұрын

    @@faedws too hard

  • @KalleJillheden
    @KalleJillheden2 жыл бұрын

    Lua doesn't have Regex because the Regex C library is bigger than the entire Lua compiler and runtime, including Lua's own "Lua patterns" that works like a simpler Regex.

  • @Rice7th

    @Rice7th

    2 жыл бұрын

    I love lua patterns soo much!

  • @TheJobCompany

    @TheJobCompany

    2 жыл бұрын

    or you can write your own parser, which, let's face it, is probably gonna be smaller than the regex matcher

  • @halflifefan

    @halflifefan

    2 жыл бұрын

    Some CS:GO cheats' Lua API's have an ability to run JavaScript code, so we just use that if Lua patterns limit us lol

  • @eness379

    @eness379

    2 жыл бұрын

    @@halflifefan not everyone is hacker

  • @inserteunnombreapropiado9079

    @inserteunnombreapropiado9079

    2 жыл бұрын

    Has simpler Regex, but still enough to make many things.

  • @jakubsebek
    @jakubsebek2 жыл бұрын

    Fun fact: The PyTorch machine learning library that everyone loves is actually based on the original Torch library, built for Lua.

  • @DaveParr

    @DaveParr

    2 жыл бұрын

    That's amazing. I literally had no idea and that's my new favourite fact.

  • @testtest-qm7cj

    @testtest-qm7cj

    2 жыл бұрын

    @@DaveParr And sadly, Torch library is now abandoned in favor of PyTorch.

  • @manojkothwal3586

    @manojkothwal3586

    2 жыл бұрын

    😳

  • @heyoudodobird

    @heyoudodobird

    2 жыл бұрын

    how to script: kzread.info/dash/bejne/aZqij9OGnKaeZpc.html

  • @nishanth6403

    @nishanth6403

    2 жыл бұрын

    damn

  • @Ren-bo7bj
    @Ren-bo7bj11 ай бұрын

    Lua is one of the greatest scripting language for video game mods that I have encountered. If you're creating a game and have mods in mind as a possible feature, include Lua scripts in that mod loader, the community will make amazing things with it.

  • @Little-bird-told-me
    @Little-bird-told-me Жыл бұрын

    Lists of keywords in each launguage ANSI COBOL 85: 357 SystemVerilog: 250 + 73 reserved system functions = 323 VHDL 2008: 115 reserved words C#: 79 + 23 contextual = 102 F#: 64 + 8 from ocaml + 26 future = 98 C++: 82 Dart: 54 Java: 50 (48 without unused keywords const and goto) PHP: 49 Ruby 42 JavaScript: 38 reserved words + 8 words reserved in strict mode only Python 3.7: 35 C: 32 Python 2.7: 31 Go: 25 Elm : 25 Lua: 22 CoffeeScript: 19, not necessarily "reserved", plus ~50 to avoid from JS Smalltalk: 6 pseudo-variables iota: 2

  • @B20C0

    @B20C0

    Жыл бұрын

    Brainfuck enters the chat.

  • @lolxdrandomman69

    @lolxdrandomman69

    Жыл бұрын

    Thanks man

  • @zkksch

    @zkksch

    Жыл бұрын

    subleq: 0 or 1

  • @games4us132

    @games4us132

    Жыл бұрын

    Isn't coffee script a wrapper around js ?

  • @memerified

    @memerified

    11 ай бұрын

    B

  • @phire0
    @phire02 жыл бұрын

    Lua is what most likely got me into programming. I started messing around with it in Roblox back in 2010 when I was only nine and that got me into computers, now I'm a software engineer :)

  • @samast253

    @samast253

    2 жыл бұрын

    same!

  • @znimator

    @znimator

    2 жыл бұрын

    same! but for a gamedev ❤

  • @isaiahballah2787

    @isaiahballah2787

    2 жыл бұрын

    I also started with learning lua when I was around 11 and now i've interned at google twice as a swe

  • @isaiahballah2787

    @isaiahballah2787

    2 жыл бұрын

    also on Roblox of course

  • @-data

    @-data

    2 жыл бұрын

    @@isaiahballah2787 nice! hope that all goes well

  • @felixo.8818
    @felixo.88182 жыл бұрын

    While there are no traditional classes in lua, you should note that there is a concept called metatables that allows for object oriented programming.

  • @nathanhedglin931

    @nathanhedglin931

    2 жыл бұрын

    @@gamemoves2415 someone's mom didn't hug them enough as a kid

  • @Youkakun

    @Youkakun

    2 жыл бұрын

    Closures are good enough but metatables allow overloading of operators - that's the point but not a strong one.

  • @sournois90

    @sournois90

    2 жыл бұрын

    @@gamemoves2415 "omg guys im so random look mom, im a shitposter!!!!! 😏😏🤩🤩😎😎🤣🤣🤣🤣" "omg why do i have no friends and social life??? 🤔🤔🤨🙄😥😲🤡😭😭😭😭"

  • @v0xl

    @v0xl

    2 жыл бұрын

    yeah you can even do complex "prototype" chains with them!

  • @RoyRope

    @RoyRope

    2 жыл бұрын

    @@gamemoves2415 I do, shut up.

  • @ariankar98k
    @ariankar98k Жыл бұрын

    BRASIL! VOCÊ FINALMENTE CRIOU ALGO ÚTIL! OBRIGADO MEU QUERIDO PAÍS!

  • @maushax

    @maushax

    Жыл бұрын

    neovim was created by a brazilian (Thiago de Arruda), so is the second (maybe there are more) useful thing created in Brazil, and curiously, neovim uses Lua for plug-in creation and configuration. Edit: Elixir is also created by a brazilian, so Lua is definitely not the only useful thing created by them.

  • @Mrguaxinim

    @Mrguaxinim

    Жыл бұрын

    @@maushax Vou aprender lua, acho ela ótima pra scripting

  • @0kr4m

    @0kr4m

    Жыл бұрын

    @@maushax Brazil invented planes....

  • @viniciusneiva5796

    @viniciusneiva5796

    Жыл бұрын

    Cara acredite ou n'ao, com o pouco investimento que a gente tem, a gente realmente é pioneiro em muita coisa na TI.

  • @lookatel3658

    @lookatel3658

    Жыл бұрын

    Por isso que ficou mais claro de noite

  • @KuruGDI
    @KuruGDI2 жыл бұрын

    Some time ago I wanted to contribute to an open source program. For this I had to learn LUA. I really started to love it for it being so simple yet so powerful.

  • @mikolmisol6258
    @mikolmisol62582 жыл бұрын

    Lua is interesting because it's what I'd a call a "low level" scripting langauge. It's not close to the metal or anything, but it is quite flexible. It doesn't have classes, but you can implement them with function tables, metatables, or closures, each having its advantages and disadvantages. You can also implement multiple inheritance using metatable pooling. You can reuse tables to conserve memory with the table.clear() function. Iterators are simply functions that return a function for retrieving the next element of your (custom) collection.

  • @gamemoves2415

    @gamemoves2415

    2 жыл бұрын

    No one cares.

  • @PokeRuto898

    @PokeRuto898

    2 жыл бұрын

    @@gamemoves2415 35.346 People care

  • @wishub

    @wishub

    2 жыл бұрын

    @@gamemoves2415 rip bozo

  • @philippjungkamp3760

    @philippjungkamp3760

    2 жыл бұрын

    @@gamemoves2415 This is actually a nicely written collection of things that make lua great. I care and I like this quality comment. Back to Lua: Integrating it as a dynamic configuration is also super easy and really flexible. And with LuaJIT the Lua code/configuration can also yield really fast machine code.

  • @gamemoves2415

    @gamemoves2415

    2 жыл бұрын

    @@philippjungkamp3760 so what? Not like anyone is going to use every you've written. If they need lua information they are certainly not coming to an obscure comment. Everyone is going to Google.

  • @f-person
    @f-person2 жыл бұрын

    Also worth mentioning that Lua is a first-class citizen for Neovim

  • @xyz2112zyx
    @xyz2112zyx2 жыл бұрын

    I knew nothing about Lua 2 months ago, but now I realize that Lua is a good complement for C language, and viceversa. Both languages work beautifully between them and when I need to code something quickly, I use Lua, but when I need more performance, I use C or C++. I wonder why I didn't learn before about Lua...

  • @xyz2112zyx

    @xyz2112zyx

    2 жыл бұрын

    And sorry about Python fans, but I learnt more Lua in 1 week that what I learnt about Python in 1 year... I feel Python is becoming complex and clumsy about its syntax and program complexity...

  • @hjrgf

    @hjrgf

    Жыл бұрын

    ​@@xyz2112zyx I realised python is really bad for anything but data science and machine learning

  • @GrandlineClips

    @GrandlineClips

    10 ай бұрын

    @@hjrgf Yeah, lua imo is best for beginners. its extremely easy to learn.

  • @waagwaan
    @waagwaan2 жыл бұрын

    man uploaded the video just when i needed it. thank you for this

  • @e1nste1in
    @e1nste1in2 жыл бұрын

    I met lua first time in the *Computercraft* extension for Minecraft - never had so much fun coding before that. I think this should be the first project in classes to motivate pupils für CS.

  • @christopherk4166

    @christopherk4166

    2 жыл бұрын

    Yes! That's how I really got into programming :)

  • @dauerplay4544

    @dauerplay4544

    2 жыл бұрын

    Fucking loved that mod great memories

  • @Taaz2

    @Taaz2

    2 жыл бұрын

    I met this mod on my first steps into programming too! I remember it was possible to use turtles to craft banned stuff like chunk anchors or run thru residences to siphon chests. Oh man I would love to go back and explore that mod for the first time again (I am sorry to whoever I griefed that one day)

  • @jwalty

    @jwalty

    2 жыл бұрын

    @@Taaz2 Came to talk about my ComputerCraft experience and found somebody who did exactly what I did. I would steal from chests with wireless turtles and it's probably the peak of my minecraft career

  • @korhzik77750

    @korhzik77750

    2 жыл бұрын

    @@dauerplay4544 2 words: Open computers (:

  • @cookiecan10
    @cookiecan102 жыл бұрын

    Computercraft is a populair Minecraft mod that adds programmable blocks and drones (turtles) into the game, it uses Lua as their scripting language and it's how I got in contact with programming for the first time.

  • @dfoxg

    @dfoxg

    2 жыл бұрын

    Same here. It was the beginning of my programming career 🙋 I think my very first programm was a password-locked door. Great old times

  • @rrune

    @rrune

    2 жыл бұрын

    Computercraft is wild. Played a modpack a year ago and needed something to dig. Didn't have the patience to learn Lua for it, but going through the scripts of others and fixing bugs was really fun

  • @nollix

    @nollix

    2 жыл бұрын

    Computercraft is shit. Use OpenComputers.

  • @MrFunny01

    @MrFunny01

    2 жыл бұрын

    @@nollix computercraft is just old, for older versions. OpebComputers - remake of ComputerCraft with more flexible API, devices etc.

  • @airgeadlamh

    @airgeadlamh

    2 жыл бұрын

    @@MrFunny01 opencomputers stoppped on 1.12.2, so, no thank you, i'm gonna stick with ComputerCraft as it can even be played at 1.18+ already

  • @ProfreshionalLifeBeyond
    @ProfreshionalLifeBeyond9 ай бұрын

    A brilliant and thorough introduction to Lua. Thank you for your 100 second session. Much appreciated from beautiful Melbourne Australia from an ex-software engineer.

  • @mon0theist_tv
    @mon0theist_tv Жыл бұрын

    Super helpful, thank you. Doing a Lua crash course and this helps give more background context

  • @itzmeB2
    @itzmeB22 жыл бұрын

    My god i never knew there was a language easier to learn than python, Lua truly is an underrated language

  • @skyhappy

    @skyhappy

    2 жыл бұрын

    It's....beautiful, even more than python. And not just that, but even faster, if this vid is correct.

  • @bobuccman1424

    @bobuccman1424

    2 жыл бұрын

    @Linux user i can confirm its usually 3.2x times faster than python (lua 5.2.1 vs python 3.9.8)

  • @internetsfinest8839

    @internetsfinest8839

    2 жыл бұрын

    @@skyhappy ugliest part about the language is the starting index of 1

  • @nosmirck

    @nosmirck

    2 жыл бұрын

    @@internetsfinest8839 and the lack of typing... I can see one easy falling into the same javascript nonsense.

  • @skyhappy

    @skyhappy

    2 жыл бұрын

    @@internetsfinest8839 I disagree, humans start counting at 1, not 0

  • @fgsaldanha
    @fgsaldanha2 жыл бұрын

    I had no idea that such a relevant programming language was created in my country.

  • @gsvf

    @gsvf

    2 жыл бұрын

    somos brabos :)

  • @quequeque57

    @quequeque57

    2 жыл бұрын

    Nem eu.

  • @GuilherHast

    @GuilherHast

    2 жыл бұрын

    Brs mandando a ver.

  • @baraodesantos9993

    @baraodesantos9993

    2 жыл бұрын

    Elixir tambem é br

  • @clehpton

    @clehpton

    2 жыл бұрын

    @@GuilherHast Mano, não posso ver nenhum canal gringo que tem mais outros brs por lá kkkkkkkkk

  • @douggale5962
    @douggale59622 жыл бұрын

    The way you depict the arrays starting at one is perfection.

  • @captmcneil
    @captmcneil Жыл бұрын

    To me, Lua always felt like someone heard the "JavaScript the Good Parts" talk by Doug Crockford, and decided to make a language from it. Sometimes I wish, we had Lua in the browser.

  • @hashtags_YT
    @hashtags_YT2 жыл бұрын

    Lua does have classes (though it doesn't do them the same way python for example does), they can be created via a metatable and they support inheritance, object values, the self keyword and just about anything else you can think of. Thanks to the colon operator closely followed by the self keyword, it's obviously an intended feature rather than something that can be simulated.

  • @mikumikudice

    @mikumikudice

    2 жыл бұрын

    Actually self is not a keyword but a default defined argument of functions that use the colon notation instead of dot

  • @divingradish

    @divingradish

    2 жыл бұрын

    Lua doesn't have classes, but you can make classes using table.

  • @elpersonpl576

    @elpersonpl576

    2 жыл бұрын

    if lua had classes then there would be a class keyword of something of that sort

  • @divingradish

    @divingradish

    2 жыл бұрын

    @@elpersonpl576 they can have class keyword and still doesn't have classes, if the class keyword is just syntactic sugar.

  • @hashtags_YT

    @hashtags_YT

    2 жыл бұрын

    @@mikumikudice It's pretty much what I meant since I added it right after that point, not to mention that self in Lua cannot be used outside of a function with colon notation, but regardless thank you for the correction.

  • @pinkink9281
    @pinkink92812 жыл бұрын

    First time I heard about lua when I thought about switching vscode by nvim and found out plenty of nvim plugins are written in lua. That was a barrier for me 'cause I really didn't want to spend a lot of time learing new language just to use nvim properly. But just this one small video makes me feel it's not that scary to go into lua. Thank you Jeff for your videos they're really inspiring

  • @heyoudodobird

    @heyoudodobird

    2 жыл бұрын

    how to script: kzread.info/dash/bejne/aZqij9OGnKaeZpc.html

  • @elnico5623

    @elnico5623

    Жыл бұрын

    Lua is most probably the easiest language to get into

  • @ForeverZer0

    @ForeverZer0

    8 ай бұрын

    I know this comment it a year old, but for others: You will literally learn Lua naturally without even trying just by taking the time to configure neovim how you like it. Assuming you have some very minimal programming experience in any language, you can just dive in, you will figure it out as you go without once ever reading the Lua docs.

  • @fabimawn
    @fabimawn2 жыл бұрын

    So glad I came across this language a while ago, becuase of this video! I like the extreme portability and simplicity. Making games and desktop apps (that don't need to be super secure, or don't need to cummunicate with a lot of outside devices (printers, routers etc.)) with this language is pretty painless and straight foreward.

  • @Topher7lol
    @Topher7lol4 ай бұрын

    This video helped me understand Tables a bit beter, thanks Fireship!

  • @skaruts
    @skaruts2 жыл бұрын

    I agree it's greatly underrated. Its flexibility is amazing. I've hopped around through many languages over the past 15 years, never really feeling comfortable about any. I tried Lua some 4 years ago, and at first I struggled a bit with the 1-indexing, but it didn't take long for me to really settle for it. Coding in Lua is a breeze. I only stopped for about a year because I thought it wasn't fast enough for my gaming projects, but eventually I went back and I found out it was just my bad implementation being bad. Lua, at least with LOVE/LuaJIT, is actually really fast. Lua being a simple language is also a plus. When I got back to it after that long pause, I still remembered almost everything about it. And it's also the one language I can go for days or even weeks without needing to check something in its documentation.

  • @cyberlawit8891

    @cyberlawit8891

    2 жыл бұрын

    Wow bro thanks for information

  • @jameswashington4704

    @jameswashington4704

    Жыл бұрын

    man lua is so fucking fast. learning to work around the JIT's nuance + storing data in c types will give you ungodly performance you would not believe. People really dont understand how fast this language can get. Those benchmarks showing near C and sometimes faster than C speeds are real.

  • @pixelstriko1642

    @pixelstriko1642

    Жыл бұрын

    I agree on lua's flexibility and simplicity, in lua everything just feels really straight forward, i feel like my only limit is the speed of my hands and the language is fast, where as in other languages i feel like i have to do roundabout techniques to get what i want, also lua's first class functions are a huge plus, its painful for me to use a language without first class functions at this point. Edit: also tables and metatables really deserve more credit, they can do the job of what in other languages you'd have like 4+ things to do it, for example tables can function as: arrays, dictionaries, structs, enums, etc.. and if you learn metatables (easier than they seem) you can emulate classes if you really wanted to, but because of how unbelievably flexible lua ls you wont even feel like you need to, its honestly really sad how it stagnated

  • @Forcoy

    @Forcoy

    Жыл бұрын

    I also love lua for how common it is in sandbox games Be it Roblox (how I discovered it), Gmod, ComputerCraft, you name it. Its quite common in that niche.

  • @SkyyySi
    @SkyyySi2 жыл бұрын

    You can define dictionary tables without the `["index"]` syntax. That is only required for using non-standard names (like ones containing special characters) or when the key you want to assign something to is dynamic (for example, you want to assign specific keys from a loop, but you don't know the key name at that point). This syntax works as well (and from what I understand, seems to be the convention): `local t = { x = 4, y = 2 }`. You can also access table fields both using `varname["key"]` and a more "object"-asque syntax with `varname.key`.

  • @WackoMcGoose

    @WackoMcGoose

    2 жыл бұрын

    Exactly. Roblox even _encourages_ using object-style syntax with tables (if the key is a valid variable name, just alphanumerics and no spaces, you're golden for nesting keys as far as you want, and in fact that's literally how accessing game objects in the DataModel natively works, they're functionally just tables inside tables). I got quite good at scripting back when I was still interested in the game, and even made a few ModuleScripts (libraries) for referencing Terrain voxels (which natively have to be accessed using stud coordinates for some reason???) using more reasonable "one voxel, one index over" coordinates, aka how Minecraft and literally all other voxel engines read and write their data structures...

  • @edupazz

    @edupazz

    Жыл бұрын

    Just like Javascript

  • @cheesebusiness

    @cheesebusiness

    Жыл бұрын

    JavaScript flashbacks

  • @anonymousboii9095
    @anonymousboii90952 жыл бұрын

    It would be appreciable if you can make full length Lua programming series or suggest some best tutorials for this language.😊

  • @tjraska4992
    @tjraska4992 Жыл бұрын

    I've never seen one of these code in x amount of time videos actually be entertaining and informative

  • @langamerdev
    @langamerdev2 жыл бұрын

    It was my first language to deal with, I modded so much things on old Gmod servers in Lua, most of the CS:S and OrangeBox games (based on Source 1 before the BIG source 1 update that killed 120 tick servers...) used Lua to give the community the ability to create plugins ! Loved this one Jeff, thanks for the memories :)

  • @pinkdiscomosh2766
    @pinkdiscomosh27662 жыл бұрын

    Every time I watch one of these 100s videos, I makes me want to diver right into what ever it's about. Most of the time lol. Lua seems very interesting. Great video

  • @scoutgaming737
    @scoutgaming737 Жыл бұрын

    I was looking for a language to start learning coding and this looks perfect!

  • @ExtemTheHedgehogLol
    @ExtemTheHedgehogLol Жыл бұрын

    This is the greatest video ever, now I know a lot more about Lua than I already did :0

  • @Stevesteacher
    @Stevesteacher2 жыл бұрын

    Lua is close to being my favourite programming language, especially when it comes to game dev, it is what encouraged me to continue making those types tutorials, since doing it in Lua is quite fun

  • @AkshayKumarX

    @AkshayKumarX

    2 жыл бұрын

    You are giving me some encouragement to finally sit down and try learning a new language and get back to programming. Question, does LUA only work with C, or it can work with other languages too? Is there a downside to doing that?

  • @fbiagentmiyakohoshino8223

    @fbiagentmiyakohoshino8223

    2 жыл бұрын

    i have learned lua for 5+ years, and all those 5 years were on roblox by this point i have basically mastered lua and wanted to go to other languages like c# and c++, then my lua brain broke when i saw their syntax.

  • @Stevesteacher

    @Stevesteacher

    2 жыл бұрын

    @@AkshayKumarX You can use Lua on its own as well! I'm not really sure if Lua works with other languages, but most languages will have some sort of library that will allow you to execute it in some way ;)

  • @_lod

    @_lod

    2 жыл бұрын

    @@AkshayKumarX there are a few Lua bindings for other languages like C#, java, rust and other ones

  • @heyoudodobird

    @heyoudodobird

    2 жыл бұрын

    how to script: kzread.info/dash/bejne/aZqij9OGnKaeZpc.html

  • @nemeziz_prime
    @nemeziz_prime2 жыл бұрын

    This, precisely this is why we love your channel. These short videos are the perfect daily tech dose for most of us 🤩

  • @jmgutierrez962
    @jmgutierrez9629 ай бұрын

    I'm currently learning lua right now due to a current order I have. I hope I am able to finish the order in time! Lezzgo. Thanks for this brief description Jeff. As far as I know, Lua's performance is faster than python but python has more standard library. Both are dynamically typed though.

  • @cryzz0n
    @cryzz0n2 жыл бұрын

    I've heard of Lua once when I was in college, didn't think too much of it. Watching this video has piqued my interest again -- insanely awesome! I think it's incredibly powerful, that Lua has a C API that allows developers to run Lua code in a C program, and vice versa. Great -- how am I suppose to get my work for the day done now? 😂

  • @codex8797
    @codex87972 жыл бұрын

    As a Brazilian it's cool to know that there is a Brazilian programming language (that is actually good)

  • @victorhsluiz

    @victorhsluiz

    2 жыл бұрын

    There's Elixir as well (and it's becoming very popular)

  • @mr.boloso8296

    @mr.boloso8296

    2 жыл бұрын

    Indeed

  • @SrIgort

    @SrIgort

    2 жыл бұрын

    Indeed

  • @codex8797

    @codex8797

    2 жыл бұрын

    @@SrIgort indeed

  • @SrIgort

    @SrIgort

    2 жыл бұрын

    @@nollix You're trying too hard to be a jerk, this is cringe

  • @witherin-_-3712
    @witherin-_-37122 жыл бұрын

    "famous for being underrated" this is some infinite iq humour

  • @VeloxBY
    @VeloxBY6 ай бұрын

    Thank you for yout video, Jeff. It was very useful for me.

  • @VaibhhavRajKumar
    @VaibhhavRajKumar2 жыл бұрын

    Great explaination , now I am thinking of giving lua a try because of your video 💯

  • @_mickmccarthy
    @_mickmccarthy2 жыл бұрын

    Ugh, now I'm getting docked hipster points for my preferred language being covered on this channel! ;) Understandable omitting the use of metamethods & metatables given the 100 second overview, but they are a very powerful concept that allow you to (amongst other things) write in an object-oriented manner also. Definitely worthwhile exploring for any folks interested in picking up Lua

  • @ScotsmanRS
    @ScotsmanRS Жыл бұрын

    Fun fact: in Scottish Gaelic, “luath” (pronounced much the same as “Lua”) means “fast”.

  • @Cradien

    @Cradien

    Жыл бұрын

    glé luath! (very fast)

  • @ScotsmanRS

    @ScotsmanRS

    Жыл бұрын

    @@Cradien Gu mì-fhortanach, chan eil sìon a dh’fhios agamsa dè cho luath ’s a tha Lua. 🤷🏻‍♂️😂

  • @reinbew794
    @reinbew7948 ай бұрын

    Man, I love lua. It's so simple yet so effective.

  • @Apollo1_
    @Apollo1_2 жыл бұрын

    would love to see some scala stuff too! great content as always

  • @gamerobotjimmy
    @gamerobotjimmy2 жыл бұрын

    Lua was my first real language, but for doing certain things I learned some other languages, because I assumed that since those languages are more popular, they must be better; now you have blown my mind.

  • @umeshkumarasamy6608
    @umeshkumarasamy66086 ай бұрын

    You do not know how much I needed this.

  • @AlexanderMLarsen
    @AlexanderMLarsen Жыл бұрын

    I love this channel, making me feel smarter every week

  • @drk3249
    @drk32492 жыл бұрын

    Sometimes I just wish there was more than 1 channel like fireship, or more jeffs/people running fireship to produce more high quality videos and tutorials on every technology

  • @rafaelojeda
    @rafaelojeda2 жыл бұрын

    How are you pumping out all these videos at full force Jeff?! 😵‍💫 awesome job!

  • @ScipiPurr
    @ScipiPurr2 жыл бұрын

    Back when I was still first learning programming I got super burnt out on C/C++ over the years. Lua was the language that reignited my love for programming and games development. It can be such a joy to use!

  • @inserteunnombreapropiado9079

    @inserteunnombreapropiado9079

    6 ай бұрын

    Same history: I started to learn programming with C++ and it was hard. I mean, got many of the concepts of programming, but it wasn't funny. Then, I wanted to learn how to make games in Roblox and win money and I got to learn Lua. Now I don't make Roblox games, but I use Lua for pretty much any programming task I want.

  • @quandaviousvonheadsonzingl6453
    @quandaviousvonheadsonzingl6453 Жыл бұрын

    Lua is great. I love the simplicity!

  • @larsonthetube
    @larsonthetube2 жыл бұрын

    Lua has to be one of my favorite programming languages.

  • @skyhappy

    @skyhappy

    2 жыл бұрын

    Why so

  • @larsonthetube

    @larsonthetube

    2 жыл бұрын

    @@skyhappy It was one of the first languages i could properly code in. also it was pretty easy to learn.

  • @user-vu6wo1bb7t

    @user-vu6wo1bb7t

    2 жыл бұрын

    Can you tell me what interesting things you do with Lua?

  • @larsonthetube

    @larsonthetube

    2 жыл бұрын

    @@user-vu6wo1bb7t i made a really bad discord bot this one time

  • @creamcheese5328

    @creamcheese5328

    Ай бұрын

    ​@@user-vu6wo1bb7tyou can make anything you can imagine

  • @ilyasb4792
    @ilyasb47922 жыл бұрын

    Lua is a really cool programming language, some would even say that beginners should start with Lua and not Python for an introduction to programming.

  • @seadrown6252

    @seadrown6252

    2 жыл бұрын

    I started with lua, making games on ROBLOX. I now do lua and python, (lua due to Roblox and python due to GCSE computer science), and I have to say I do enjoy lua more. It's syntax is very easy to pick up

  • @ZephrymWOW

    @ZephrymWOW

    2 жыл бұрын

    Lua is a bad first language if you are not doing it for fun or planning on doing video game development. It teaches you bad habits and is very different from the majority of "real world" applications.

  • @light_creations

    @light_creations

    2 жыл бұрын

    @@ZephrymWOW Bad habits?

  • @nwa8169

    @nwa8169

    2 жыл бұрын

    @@light_creations Using globals by default for starters

  • @XKMetralhaDO

    @XKMetralhaDO

    2 жыл бұрын

    @@nwa8169 I started with lua in college

  • @RodolphoArrudanogoogle
    @RodolphoArrudanogoogle Жыл бұрын

    That array index starting at '1' reaction was hilarious. 🤣 1:32

  • @VaughanMcAlley
    @VaughanMcAlley8 ай бұрын

    The best thing about Lua is that its devs are academics who have been working on it for a very long time now. They think really hard about whether new features are useful, and go to a lot of trouble to implement features in a coherent and efficient way. In other words, their main focus is creating a good language rather than a popular language.

  • @vicradon
    @vicradon2 жыл бұрын

    Perfect timing. I'm writing a Lua related article on O3DE(formerly Lumberyard). Thank you Jeff.

  • @surajrawat4204
    @surajrawat42042 жыл бұрын

    Wow I learnt Lua literally in 100s.

  • @1hsl

    @1hsl

    2 жыл бұрын

    learnt in 50s on 2x 😎

  • @lakshman587

    @lakshman587

    2 жыл бұрын

    @@1hsl Converted the video into 2x speed and watched in 2x speed And learnt in 25sec 😎😎 Lol! 😂

  • @SolathPrime

    @SolathPrime

    2 жыл бұрын

    @@lakshman587 convert the 2x2x to 2x2x2x to learn it in 12.5 secs

  • @brentambrielcabigas1086

    @brentambrielcabigas1086

    2 жыл бұрын

    Skip to the end, learn *instantly* 😎

  • @samn4730

    @samn4730

    2 жыл бұрын

    @@SolathPrime converted the 2x2x2x into 2x2x2x100x and learned it in 0.125 seconds

  • @max47319
    @max47319 Жыл бұрын

    So simple syntax, love it!

  • @georgespaceagency9894
    @georgespaceagency98947 ай бұрын

    Coding in Lua makes me happy for no reason, just gives me a simplicity vibe, feel good aura.

  • @ARandomSub
    @ARandomSub2 жыл бұрын

    LUA was really fun to learn when I was making WoW mods. It became a meme at my company where I would suggest we rewrite the front end of our entire application library in LUA at almost every standup meeting ha

  • @dalekman8945
    @dalekman89452 жыл бұрын

    This vid came at the perfect time for me. Since I'm just starting to work my way up to building a working config in neovim - and need to learn just enough lua to get by. I knew next to nothing about lua except for the array indexing weirdness, and now I have a much better grasp of the 'Lua Philosophy' now. Thanks Mr. Ship!

  • @skaruts

    @skaruts

    2 жыл бұрын

    I suppose it's worth noting that you can in practice use tables with zero indexing, with the caveat that you compensate for it in *for* loops (e.g. subtract 1 from the limit, as in *for i=0, width-1 do)* and keep in mind you shouldn't rely on *#* to get the length of that table, because *#* doesn't take the index 0 into account (or else keep in mind the length of the table will be *#table** + 1).* This is usually not a problem, though. When I started out in Lua I found it a bit confusing to know when I should use 1 and when I could safely use 0, but it didn't take much time to get it figured out.

  • @blanknaemguy
    @blanknaemguy Жыл бұрын

    I've only ever used Lua for ROBLOX and Garry's Mod scripting, but it seems interesting. Great video!

  • @jonayedmohiuddin538
    @jonayedmohiuddin538 Жыл бұрын

    My first exposure to programming was through lua and love2d game development. It was a great experience. I am loving programming from then. I would recommend anyone starting programming to give lua a try.

  • @mfaizsyahmi
    @mfaizsyahmi2 жыл бұрын

    Funnily enough I learned Lua when I was an admin on a Wikia (now Fandom) site. Did some cool stuff with it, like parsing a bespoke record format I created to draw tables, which is nigh impossible with wiki markup. Things went sideways and I left but the things I learned on the Mediawiki environment I'd always cherish. Lua being the scripting language of choice of many programs like VLC and Garry's Mod makes it easy for me to dip my toes into them too, as I approach them as a returning Lua coder instead.

  • @thewitheredstriker

    @thewitheredstriker

    2 жыл бұрын

    holy shit I'm pretty sure I recognize you -- aren't you the guy who made Notiplus?

  • @heyoudodobird

    @heyoudodobird

    2 жыл бұрын

    how to script: kzread.info/dash/bejne/aZqij9OGnKaeZpc.html

  • @gaeel330
    @gaeel3302 жыл бұрын

    Fitting that, on St Valentine's day, you post a video about my first and only programming language crush

  • @_mickmccarthy

    @_mickmccarthy

    2 жыл бұрын

    Sounds like a perfect reason to check out the LÖVE videogame engine/framework! It makes use of Lua for all of its scripting

  • @gaeel330

    @gaeel330

    2 жыл бұрын

    @@_mickmccarthy That's actually how I got started with Lua, yeah

  • @tvnasan
    @tvnasan2 жыл бұрын

    Thank you so much for covering my favorite language ever

  • @DexieTheSheep
    @DexieTheSheep2 жыл бұрын

    Lua is somewhere in my top 3 favorites, but I never get to use it much in day-to-day programming. I use it once in a while for trying to recreate stuff, though. (for example, a Tic-Tac-Toe app)

  • @Gruak7
    @Gruak72 жыл бұрын

    I'd love to see a video about fp-ts library for functional programming in typescript. It (un)suprisingly gains a lot of traction right now, at least in terms of npm downloads per week.

  • @bishwajitkar2165
    @bishwajitkar21652 жыл бұрын

    I use Awesome window manager as daily driver in my debian machine, which is fully written in Lua. So I had to learn a little bit of it in order to customize my desktop to my linking. I found it super easy to get my head around quickly and had a lot of fun configuring (after coming from Qtile which is written in Python).

  • @maryllcastelino

    @maryllcastelino

    2 жыл бұрын

    I use AwesomeWM too!

  • @SpaceVr-Live
    @SpaceVr-Live10 ай бұрын

    it is so underated, people think its so hard to code with lua but it is super easy to do

  • @GrandlineClips

    @GrandlineClips

    10 ай бұрын

    Yeah lua is very easy, it's what got me into programming.

  • @SpaceVr-Live

    @SpaceVr-Live

    10 ай бұрын

    @@GrandlineClips same

  • @dragondg6412
    @dragondg6412 Жыл бұрын

    the first programming language i learned happy to see people know it exists

  • @fidelguajardo5990
    @fidelguajardo59902 жыл бұрын

    I really like functional programming. At the moment I am really loving Elixir. I hope you can cover it in the near future. Thank you for all your GREAT content!!!

  • @matj12

    @matj12

    2 жыл бұрын

    @@ChristophBackhaus I think that functional programming goes well with object-oriented programmming. Scala is an example of that. Such style is possible even in Java with streams, records and some elements of pattern matching, but it's annoying there because streams are single-use and there needs to be a lot of boilerplate.

  • @brnuovncs

    @brnuovncs

    2 жыл бұрын

    Coincidentally it's a Brazilian language too!

  • @heyoudodobird

    @heyoudodobird

    2 жыл бұрын

    how to script: kzread.info/dash/bejne/aZqij9OGnKaeZpc.html

  • @jxl721
    @jxl7212 жыл бұрын

    there's also this metatable feature of lua that gives special properties to tables, which allows users to simulate classes and perform operations on them

  • @eliseyzscripts6762
    @eliseyzscripts67628 ай бұрын

    I love theese videos so much!

  • @vivi7016
    @vivi70162 жыл бұрын

    been waiting for this for a long time

  • @daiangan
    @daiangan2 жыл бұрын

    It is also used in Adobe to create plugins for products like Lightroom and Photoshop.

  • @DookyButter
    @DookyButter2 жыл бұрын

    @Fireship, do Django in 100 seconds! Lua is completely underrated. I played around with it to show my kids how to build their own Roblox games, and it was a joy to work with.

  • @odrags
    @odrags Жыл бұрын

    One of the distinctive features of Lua is its metatables and metamethods. Metatables allow customization of table behavior, enabling operators like addition and comparison to be defined for tables.

  • @michaelborges5204
    @michaelborges52042 жыл бұрын

    Eu programo em Lua já alguns anos e sempre enjeto código C no meio. Fica super legal para os propósitos que eu preciso, aínda mais para sistemas de embarcação!

  • @nerd2544

    @nerd2544

    Жыл бұрын

    what do you use lua for? embedded system?

  • @coffee-is-power
    @coffee-is-power2 жыл бұрын

    Lua é a linguagem mais fácil de aprender :) Nunca pensei que ia ter um video sobre a linguagem lua aqui

  • @hieu8276
    @hieu82762 жыл бұрын

    This language looks cool actually. Lua can be found in most industrial embedded devices like sensors, PLC, and HMI development toolkit. I still don’t get why it is so underrated.

  • @Pyrohawk

    @Pyrohawk

    Жыл бұрын

    Its underrated because Google chose Python, and a lot of really important libraries followed suit. I believe in Lua supremacy.

  • @iamunamed5800

    @iamunamed5800

    Жыл бұрын

    @@Pyrohawk I mean its just true. The only thing Lua is really missing is more popular libraries. If it had that it'd be a solid competitor to Python.

  • @dmitrykargin4060

    @dmitrykargin4060

    7 ай бұрын

    ​@@iamunamed5800 LUA is intended to be a simplest-but-functional scripting language to be added to your C program. It is not self-sufficient by design. LUA must drop this simplicity principle to be able to become self-sufficient and be able to compete with python. It will effectively prevent LUA being LUA.

  • @NHCH
    @NHCH Жыл бұрын

    this brings back memories, we used LUA to build homebrews for PSPs back in the days

  • @Root3264
    @Root32642 жыл бұрын

    I love the ability of Lua, to do quasi-oop with setmetatable, maybe you can do a piece on that!

  • @doccampbell2006
    @doccampbell20062 жыл бұрын

    Fun fact, you can put functions within tables to mimic classes, you can even use a special metatable keyword in a for loop to create new copies of the class. All my years of programming games in Defold are paying off 😂

  • @fbiagentmiyakohoshino8223
    @fbiagentmiyakohoshino82232 жыл бұрын

    i love how im working on something that involves lua while also lua is also on other games such as garrys (for addon development, which is what i am doing currently, but i am also a 10 year vet and game dev on roblox so ya)

  • @djxoxta
    @djxoxta Жыл бұрын

    I was thinking during the video and lua was my first contact with lua progamming bots for Tibia, amazing and very easy language 🇧🇷

  • @Templarfreak
    @Templarfreak8 ай бұрын

    i love Lua so much

  • @ch1caum
    @ch1caum2 жыл бұрын

    I'd also add that lua has proper tail call recursion, so you can use functional paradigms without bloating your stack (yes I'm looking at you python) - and this was before funcional programming was hip.

  • @Imevul
    @Imevul2 жыл бұрын

    First introduction to Lua for me was World of Warcraft modding, but nowadays I use it only for programming stuff in modded Minecraft (CCTweaked, OpenComputers). Oh how I despise meta tables though. I've been doing OOP for so long that my brain is wired to think in classes. It's a neat language though, as long as you're open to think a bit differently.

  • @inthegaps
    @inthegaps6 ай бұрын

    beautifully concise!

  • @TRJK
    @TRJK2 жыл бұрын

    Still in school, and this 1:11 just made me understand functions

  • @PauloCesar-td9xo
    @PauloCesar-td9xo2 жыл бұрын

    As a brazilian developer I'm astonished to not being aware of this, as always great content!

  • @Polaroid1995

    @Polaroid1995

    2 жыл бұрын

    Elixir was also created in Brazil !

  • @snk-js

    @snk-js

    2 жыл бұрын

    me too, that's mind-boggling

  • @HuntingKingYT
    @HuntingKingYT2 жыл бұрын

    "A language that is known for being too underrated" - There isn't more exact than that, what do I say...

  • @wisteela
    @wisteela Жыл бұрын

    I will definitely be learning this.

  • @Saxophonin
    @Saxophonin9 ай бұрын

    This randomly popped up but now I can use this for rainmeter.

  • @hadawardgz
    @hadawardgz2 жыл бұрын

    You can also create an index on a table just giving the key name and value: *local foo = { bar = 1 };* *print(foo.bar);* PS: *local* is practically mandatory in terms of best practices.

  • @TuXAPuK

    @TuXAPuK

    Жыл бұрын

    His showing true right way to create dicts! `local foo = { for = 1 }` - unexpected symbol error `local foo {["for"] = 1}` - works always fine! Never do bad code!

  • @hadawardgz

    @hadawardgz

    Жыл бұрын

    @@TuXAPuK bad code would be to use reserved words as a key, but anyway, yes, you can also use indexing to create keys

Келесі