I fixed Lua

Поделиться
HTML-код
  • Опубликовано: 14 дек 2024

Комментарии • 194

  • @cobbcoding
    @cobbcoding 10 месяцев назад +96

    I like how the most difficult thing in the whole video is the lua syntax highlighting

  • @chriscoyc
    @chriscoyc 10 месяцев назад +84

    teachers: there is not a bad question
    tsoding: its just a bad question 😎

    • @hextav
      @hextav 10 месяцев назад +8

      based

  • @opsJson_
    @opsJson_ 10 месяцев назад +171

    BRAZIL MENTIONED? 🇧🇷🎉

  • @StaRiToRe
    @StaRiToRe 10 месяцев назад +60

    to yet another Pogromming session?

  • @skaruts
    @skaruts 10 месяцев назад +51

    The code is actually pretty well documented with helpful comments. It really makes it easy to follow the code and get what it's doing. I'll remember this next time I cross paths with one of those clean-code advocates who defend that you should never use any comments in code.

    • @iamdozerq
      @iamdozerq 10 месяцев назад +2

      When you have rules only using them actively and smart can make you able to violate them.

    • @Evilope
      @Evilope 10 месяцев назад +8

      Well named variables, sensible structure and control flow are all that's necessary most of the time...

    • @skaruts
      @skaruts 10 месяцев назад +9

      @@Evilope well, realistically, most of the time that's just a pipe dream. I've read and written enough code to know that. And also what's obvious to you isn't necessarily obvious to others.
      But either way, no matter how well you name and structure things, the brain always has to decipher the code to some extent, while a comment can simply be read. Comments can and do save us a lot of time and effort.

    • @theodorealenas3171
      @theodorealenas3171 10 месяцев назад

      ​@@skaruts yep, I've written tiny functions more than once and to modify them you basically need to unwrap them a little, change them and turn them into tiny functions again. I still love them though. Pity that nobody practices how to read and write them.

    • @skaruts
      @skaruts 10 месяцев назад

      @@theodorealenas3171 yea, I don't like tiny functions either. You said it yourself, they make it harder and more time-consuming to make changes. But also, the more tiny functions you have, the more one has to jump around to make sense of the code, and the harder it is to follow it.
      You also have to waste more time restructuring it as you write it, and you make it harder to refactor it in the future.

  • @asdfmonstrosity
    @asdfmonstrosity 10 месяцев назад +57

    Lua is a great little language. Tables as data structures work surprisingly well, closures, iterators, everything can be a key and value, ... Even module import just fits so neatly into the language, usually just returning a table (but Lua just lets you do whatever! No restrictions is really cool)

    • @MyriadColorsCM
      @MyriadColorsCM 10 месяцев назад

      Its too bad OOP in LUA is pure pain, though really, you can do with jsut procedural code if you knwo what you are doing.

    • @valbogda5512
      @valbogda5512 10 месяцев назад +30

      @@MyriadColorsCM I consider that one of its advantages.

    • @asdfmonstrosity
      @asdfmonstrosity 10 месяцев назад +9

      @@MyriadColorsCM To get the most out of Lua you may need to do things a little differently, but I think it makes Lua better in the end. First class functions and closures really reduce the need for anything else, but it's not too much work to setup a metatable with methods if you really want it.
      I see the metatable "classes" more of a way to reduce creating multiple instances of functions, as an optimisation, rather than making Lua act particularly OO

    • @calengo454
      @calengo454 7 месяцев назад

      @@MyriadColorsCM the lack of formal classes in lua is barely noticeable with the power you get with tables. metatables too if it's still not enough for you.

  • @oblivion_2852
    @oblivion_2852 10 месяцев назад +6

    A good reason for the app to use the vm is to test whether ALL of the functions of the VM work. Because lua isn't just an app it's value is also in the vm you can embed in literally any other app - like how the vm is embedded in this c app that interprets lua

  • @EvilTim1911
    @EvilTim1911 5 месяцев назад +1

    27:00 I like this little side tangent here. This is something that was difficult for me to understand when I was starting out. When people used to tell me the choice of language isn't that important I was confused because the different languages looked SO different and it felt like they required a whole different skillset. But now after years of solving software problems professionally, I realize that writing the actual code is usually the least of my concerns and it wouldn't have made much difference if I had to implement the same solutions in a different language.

  • @ErikBongers
    @ErikBongers 10 месяцев назад +61

    Next, let's add nullptr to Rust.

    • @IamPyu-v
      @IamPyu-v 10 месяцев назад +4

      perfecto

    • @burkino7046
      @burkino7046 10 месяцев назад +11

      std::ptr::null

    • @IamPyu-v
      @IamPyu-v 10 месяцев назад

      @@burkino7046 :0

    • @igz5553
      @igz5553 8 месяцев назад

      Underrated comment

    • @IamPyu-v
      @IamPyu-v 8 месяцев назад

      @@igz5553 How is the 5th most liked comment underrated

  • @elgalas
    @elgalas 10 месяцев назад +4

    Gonna take note of, Asserting dominance, when joining a new project.

  • @Muttisuri
    @Muttisuri 10 месяцев назад +5

    Yes Portuguese is Latin based, and Lua is our word for Moon yes.
    It's to note that Lua (the language) was made in Brazil where Portuguese (of the Brazilian variation (duh)) is spoken. Reading the wiki tells me that there were some trade barriers on software importation which lead to its creation, also seems that Lua was preceded by a language called SOL (Simple Object Language) but in Portuguese Sol mean Sun, so Sun and Moon.

  • @dieSpinnt
    @dieSpinnt 10 месяцев назад +20

    Chat Question: "Is there a [programming] language he [=Tsoding] cannot code [in]?" (around 30:00)
    This is not really a question, or only a question and not what it looks like in the first place. It shows the respect of the questioner, because he is impressed of your computer programming skills. The person asking in fact implies, that there is no language (to his knowledge), that he thinks of that you couldn't possibly learn and use. This is a highly meta-level question and it lives in the context and also in a social context. That is btw. very impressive and in contrast to programming languages something that computers CAN NOT understand and possibly will never understand (Including large language models. There is no such thing as "understanding something".
    Thanks for the great video, Tsoding and also to Lua, that actually fixed you! Hehehe:)

    • @Turalcar
      @Turalcar 9 месяцев назад +4

      You mean rhetorical question which this most likely was. Tsoding's issue with that question was the assumption that this is not normal. In every place I worked in you're expected to be able to make small changes in almost any language.

  • @IamPyu-v
    @IamPyu-v 10 месяцев назад +6

    Gotta implement this fix to the embedded Lua interpreter in my app.

  • @TankorSmash
    @TankorSmash 10 месяцев назад +7

    1:05:00 man gets frustrated its hard to add new syntax highlighting to a language specifically designed to never add new syntax

    • @TsodingDaily
      @TsodingDaily  10 месяцев назад +9

      It's highlighting for a single keyword, come ooooon! 😭

    • @TankorSmash
      @TankorSmash 10 месяцев назад +4

      Just looked, 13 years ago when the lua-mode was created 08cff6e3c2aa860bc26a43dc2cde1ca66558597b it was just a regex. Wonder if the software got smarter during its lifetime.

  • @glowiak3430
    @glowiak3430 10 месяцев назад +16

    Make it a PR. They would commit a sin not accepting it.

    • @BlueIsLeet
      @BlueIsLeet 10 месяцев назад +3

      Ik ur joking but obviously they cant change it at this point

    • @skaruts
      @skaruts 10 месяцев назад +6

      Yea, unfortunately this is probably set in stone for the foreseeable future. They couldn't change it overnight. They would have to warn the community in advance that, say, version 6 would be 0-indexed. And then they'd have to set a team aside to keep working on versions 5.x for years, like python did with 2.7, because there's a whole ecosystem out there that accounts for 1-indexing.

    • @BlueIsLeet
      @BlueIsLeet 10 месяцев назад +3

      @@skaruts I don't think there's any realistic path to changing the indexing at this point. That's a reason why I don't really use Lua, not enough batteries included like Golang or Java/Kotlin and weird design decisions

    • @skaruts
      @skaruts 10 месяцев назад +6

      @@BlueIsLeet Lua doesn't have weird design decisions apart from 1-indexing. Unlike python...
      But yea, I don't see it changing any time soon either. That said, while 1-indexing is a perpetual rock-in-the-shoe, all the merits of Lua really make it worth resigning to live with 1-indexing.
      Batteries it could never include, because Lua was made to be an auxiliary language, where the host application provides the batteries. If it provided batteries, it would become bloated, and it would prevent the host applications from providing them in their own optimal way.

    • @diskpoppy
      @diskpoppy 10 месяцев назад +2

      For everyone who can't see it changing - that's the exact sunk cost fallacy thinking that drowns us in today's inane legacy mess

  • @progfix
    @progfix 10 месяцев назад +9

    You mentioned at the end you look into other open source projects from time to time. Which ones did you look into and found interesting?

  • @realdotty5356
    @realdotty5356 10 месяцев назад +17

    Lua my beloved

  • @enderman4
    @enderman4 10 месяцев назад +7

    Finally, arrays in Lua (tables reference)

  • @whatevermait1
    @whatevermait1 10 месяцев назад +7

    ...sometimes you gotta do "die Scheiße"

  • @elirannissani914
    @elirannissani914 10 месяцев назад +12

    Where can i find your emacs configuration?

  • @anon_y_mousse
    @anon_y_mousse 10 месяцев назад +20

    I'm not going to say it's better, because it's really just a different way of doing things, but Vim makes it pretty easy to add keywords for highlighting. I defined null as an alias for NULL that I use in my header for every project, and I just added it to the list of keywords and it was highlighting from then on. The weird error you had when trying to compile later was that you added 'a' to the start of lua_load() at around the 41:00 mark.
    As for adding 0-based indexing, I'd name it Lua++ and use .lpp for the file extensions to differentiate it. And as far as using a double block, you could either convert it into a for loop that runs twice, or convert it to a while loop and use a local inner variable to determine the exit condition of the loop.

    • @KleptomaniacJames
      @KleptomaniacJames 10 месяцев назад

      I have a similar thing for vs, I use rust type names, have a special macro "loop" defined as "for(;;)"

    • @delibellus
      @delibellus 10 месяцев назад +3

      I switched from Emacs to Vim because I didn't like configuring Emacs (Emacs distros don't solve this all the way for me, especially when I wanted to disable default stuff). Configuring syntax highlighting is one of my favourite things in Vim because it's so simple and yet so powerful. Probably one of the things that will make me stay for good.

    • @oblivion_2852
      @oblivion_2852 10 месяцев назад +7

      I'd call it Lua-- because it's lua decremented from 1 to 0 xD

    • @siriusleto3758
      @siriusleto3758 10 месяцев назад +2

      Id name Lu0

    • @anon_y_mousse
      @anon_y_mousse 10 месяцев назад

      @@siriusleto3758 Out of all the options, this might be the best one.

  • @brivism
    @brivism 10 месяцев назад +18

    "tylko jedno w głowie mam"... lua 5.1gram

  • @dtomvan
    @dtomvan 10 месяцев назад

    2:05:34: This is not true, the ipairs function will index raw, starting from zero. Which "user-facing-value" for a starting index is used does not matter.

  • @xarchist
    @xarchist 10 месяцев назад +2

    Is the code for emacs lua-mode longer than the actual lua interpreter?

  • @awesomeguy11000
    @awesomeguy11000 10 месяцев назад +1

    I wonder if it would have been possible to backup the lexerstate and effectively run the lexer over the double body twice to get the goto statements into the internal backpatching system.

  • @nashiora
    @nashiora 10 месяцев назад +1

    With the complication of non-local jumps and `goto`, my first thought was to instead just transform `double` into `for i=1,2 do`, i.e. make double less a macro and more a loop so it plays nicely with the relative jumps. I probably would've done this from the start, but it's neat to see you took the code duplication approach first and found out interesting things about the byte code.
    (edit: I clicked post about 5 seconds before you mentioned the easy solution was to implement it as a loop, forgive me for my hubris haha)

  • @CoolestPossibleName
    @CoolestPossibleName 10 месяцев назад +2

    There should be a specification statement like in fortran to opt out of the 1 indexing of the array

    • @minamur
      @minamur 10 месяцев назад

      that's one of the all time greatest bad ideas.

    • @CoolestPossibleName
      @CoolestPossibleName 10 месяцев назад

      @@minamur I'd like to know why. I was talking about the "implicit none" thing

    • @jeffirwin7862
      @jeffirwin7862 10 месяцев назад

      @@CoolestPossibleName fortran also has arrays that can start at any index, although the default is 1

    • @CoolestPossibleName
      @CoolestPossibleName 10 месяцев назад

      @@jeffirwin7862 I'm not talking about fortran's array system. there's a specification statement called "implicit none" to get rid of implicit types. I think it will be great to have such specification statement to make the array start from 0 in lua. I'd love to know why it's a bad idea

    • @samuelwaller4924
      @samuelwaller4924 10 месяцев назад +1

      ​@@CoolestPossibleNameits just not worth it it. Worst case, every program/library would have to check for what the index is set to, and act accordingly. Best case, it is block scoped and now you get to have the extra burden of having to add "index 0" or whatever to every single file or function, and the mental overhead of remembering that. And then you are still going to end up writing "startindex" everywhere because that's what happens in every language that does that. You literally just add 1 ffs is it that hard

  • @patfre
    @patfre 10 месяцев назад +5

    I feel like this is just a dumb way of doing it. Lua basically treats an array as a key value pair so you could literally just say the key is 0, 1, 2… etc instead

    • @minamur
      @minamur 10 месяцев назад +2

      it's been a while since i used lua, but iirc you *can* do that, but any standard function that expects an array won't recognize the zeroth index, e.g. # will return 1 less than the length.

  • @MyriadColorsCM
    @MyriadColorsCM 10 месяцев назад +2

    Impressive, very nice.
    Now lets see Paul Allen's fix for Javascript.

  •  10 месяцев назад

    "luac" must be the compiler: anything ending with "c" is a compiler, in classic UNIX style. Also --help says the output is "luac.out", similar to the default output file for the C compiler (gcc still does it that way) is "a.out".

  • @kirsanov2008
    @kirsanov2008 10 месяцев назад +1

    I FKN LOVE THE POWER OF SIMPLICITY!!!

  • @stevenaguilera9202
    @stevenaguilera9202 10 месяцев назад

    Do you know of any resources on how to write and build a website in Lua ?🙏

  • @fabiokleis
    @fabiokleis 10 месяцев назад +19

    Welcome to a Brazilian programming language.

  • @Solemn_Lemon
    @Solemn_Lemon 10 месяцев назад +1

    You fixed Lua? Why? It's part of the experience!

  • @F_A_F123
    @F_A_F123 6 месяцев назад

    46:30 you're actually wrong here. Luná in Russian is inherited from Proto-Indo-European *lówksneh₂, and Latin lūna is inherited from the same Proto-Indo-European word. Those things are cognates

  • @JamesSjaalman
    @JamesSjaalman 10 месяцев назад

    The priority limit was first invented/discovered by Bob Floyd.

  • @Radgerayden-ist
    @Radgerayden-ist 10 месяцев назад +10

    Hi tsoding now that you've got some Lua experience you should check out the löve framework, it's very similar to raylib in a lot of ways but focused on lua

    • @skaruts
      @skaruts 10 месяцев назад +2

      And really competent in terms of performance. Although in part it's also LuaJIT being really competent at that too.
      There's also a 3D lib for Love2d in the works, called 3DreamEngine, and it performs really great too.

    • @SlinkyD
      @SlinkyD 10 месяцев назад

      I watch Eskil's data visualization prototype vid every few months. Imma trash programer but his & this.channel gives me motivation to rise to mediocre dev.

    • @siriusleto3758
      @siriusleto3758 10 месяцев назад

      And Bitty Engine

  • @1Iljo1
    @1Iljo1 10 месяцев назад +3

    submit the pull request

  • @seropigeorge
    @seropigeorge 7 месяцев назад

    U are literally the best programmer Livestreamer on yt in my opinion

  • @beegdigit9811
    @beegdigit9811 10 месяцев назад +6

    Why fix something when it can fix itself:
    days = {[0]="Sunday", "Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday"}

  • @bhavyakukkar
    @bhavyakukkar 10 месяцев назад

    55:17 i know some devs who have a very different meaning for what "high-level" is lol

  • @daltonyon
    @daltonyon 7 месяцев назад

    TJ will be happy to see that the 1-based was fixed hahaha

  • @shamsiddinavezov5045
    @shamsiddinavezov5045 10 месяцев назад

    so by doing copy pasting, we can just add proper Table thing, like there is default Table that starts from 1 and properTable that starts with 0) no codebase in the world will be broken that way I guess

  • @azergante8268
    @azergante8268 10 месяцев назад +1

    Can you hack into Rust and fix what’s wrong with it?

  • @diegorocha2186
    @diegorocha2186 10 месяцев назад +3

    You look like you just won a brand new skateboard or something like this lol kkkkk never saw someone so happy reading code (at least until minute 49:00 lol I'm still watching)

  • @norude
    @norude 10 месяцев назад

    what if you jump *into* the double block?
    or even jump into a condition or a function or a loop.
    So basically goto is weird

    • @norude
      @norude 10 месяцев назад

      what if you goto to a place inside the loop from inside the loop

  • @alexloktionoff6833
    @alexloktionoff6833 9 месяцев назад

    Do you have plans for LuaJIT?

  • @jordixboy
    @jordixboy 10 месяцев назад

    Did Lua move to a register based machine ?

  • @cobbcoding
    @cobbcoding 10 месяцев назад

    when will neovim switch to hacked lua for config

  • @DoYouScribble2
    @DoYouScribble2 9 месяцев назад

    Impressed. I agree, knowing & being able to follow logic is so much more important than the actual language itself. Instead of finding *int begin, end* with luaK_getlabel then looping through luaK_code, _I wonder if you can simply do_ *block(ls); block(ls);*

  • @RandomGeometryDashStuff
    @RandomGeometryDashStuff 9 месяцев назад

    00:00 new bookmark

  • @almpazel1486
    @almpazel1486 10 месяцев назад

    how to join ur discord server?

  • @adammontgomery7980
    @adammontgomery7980 10 месяцев назад

    I'm amazed at the comments in this source code.

  • @oyasumigabriel
    @oyasumigabriel Месяц назад

    Opa, Brasil mencionado.

  • @logannday
    @logannday 10 месяцев назад

    I’d love to see you write an lsp for porth

  • @modley_the_m_guy
    @modley_the_m_guy 8 месяцев назад +1

    guys i think he fixed lua

  • @GRATHRRAM
    @GRATHRRAM 10 месяцев назад +1

    no way bro just chacked lua

  • @douglaslima5199
    @douglaslima5199 10 месяцев назад

    PUC - RIO, brasil mentioned let's go!!!

  • @boody8844
    @boody8844 10 месяцев назад

    I was waiting for this for so long

  • @AshliBlattgold
    @AshliBlattgold 6 месяцев назад

    rawr unprotected

  • @shaw-krowdashsabe2302
    @shaw-krowdashsabe2302 10 месяцев назад

    can you do a tutorial of how to make a progeamming language in c++ im stuck

    • @TsodingDaily
      @TsodingDaily  10 месяцев назад +1

      Bruh, you already have C++. Why reinvent another language?

  • @DobryWujaszekKun
    @DobryWujaszekKun 10 месяцев назад

    > Doesn't fucking matter so that's important
    xDDDDD

  • @labsendeyshent
    @labsendeyshent 10 месяцев назад +1

    This lua-mode for emacs 💀

  • @abdo01386
    @abdo01386 10 месяцев назад

    I always wonder 🤔 if you are a typical introver programmer ?

  • @test-rj2vl
    @test-rj2vl 9 месяцев назад

    Lua devs should add compile time parameter to tell what the first element of array should be. So that I could make game whose scripting engine starts arrays with -2 or with 5.

  • @PavelAShvedov
    @PavelAShvedov 10 месяцев назад

    Waited for double block inside another double block

  • @HumanGamer
    @HumanGamer 10 месяцев назад

    Can you work on your text editor again soon :) I really enjoyed that project.

  • @qxqxqxqxq
    @qxqxqxqxq 10 месяцев назад

    I literally though about zero indexed lua yesterday

  • @cacheman
    @cacheman 10 месяцев назад

    The Roblox people went off and wrote luau-lang which is an "improved lua". Remains to be seen if it'll gain any traction.

  • @orizach01
    @orizach01 10 месяцев назад

    can you fix python and make True -> true, and False -> false

  • @macchinarirustici
    @macchinarirustici 2 месяца назад

    Sadly I've never used Lua but, as soon as I heard "hacking it to make it better", I thought about the array thing. lol

  • @neededathrowaway1818
    @neededathrowaway1818 10 месяцев назад +4

    What's the tool that lets Tscoding zoom in on the screen at any time? I've always wondered but can't find any info regarding it

    • @lukasaey
      @lukasaey 10 месяцев назад

      it's on his github, zoomer i think it's called

    • @Radgerayden-ist
      @Radgerayden-ist 10 месяцев назад +2

      It's a tool he wrote himself called "boomer" iirc

    • @anon_y_mousse
      @anon_y_mousse 10 месяцев назад +1

      If you used KDE you could have it built-in already. I'm sure GNOME could do it too, if that's your flavor, but I don't use GNOME.

    • @SlinkyD
      @SlinkyD 10 месяцев назад +1

      Alt+Mouse_Scroll got ya covered in XFCE.

  • @b-rosa
    @b-rosa 6 месяцев назад

    "lua" is literally the Portuguese word for moon

  • @hansdietrich1496
    @hansdietrich1496 7 месяцев назад

    I had to translate a lot of matlab code (that is 1-indexed just like lua) into python/numpy code. Since then I have a very solid disgust against any 1-indexed language.

  • @kungfooman
    @kungfooman 9 месяцев назад

    Whenever I used Lua, I used Luajit - what about that?

  • @umcanalsemvidanoyoutube8840
    @umcanalsemvidanoyoutube8840 Месяц назад

    Lua best language ever ❤

  • @regfinley7111
    @regfinley7111 10 месяцев назад

    @ 28:00 that was a gem in the rough

  • @rudolf-adamkovic
    @rudolf-adamkovic 10 месяцев назад

    Next up: Fennel. :)

  • @samuelwaller4924
    @samuelwaller4924 10 месяцев назад

    I was considering doing something similar to this for my capstone and this guy just sits down and does it in 2 hours lol. Talking the whole time as well. I spent an hour just getting to understand the parser an gave up lol

  • @hamzakhiar3636
    @hamzakhiar3636 10 месяцев назад

    Now try to fix react

  • @bart2019
    @bart2019 10 месяцев назад

    And now, think of something useful to extend the language with...

  • @adelarsq
    @adelarsq 10 месяцев назад +2

    Lua++ lmao

  • @hubstrangers3450
    @hubstrangers3450 10 месяцев назад

    Thank you....

  • @olusiooo2799
    @olusiooo2799 5 месяцев назад

    Repair it, it is stoping length of table by nil

  • @DimaTiunov
    @DimaTiunov 10 месяцев назад

    Pogroming
    My life

  • @siriusleto3758
    @siriusleto3758 10 месяцев назад +2

    Lu0

  • @adr420
    @adr420 10 месяцев назад +1

    I write my neovim config in lua

  • @ivanjermakov
    @ivanjermakov 10 месяцев назад +1

    Lua's design is focused on embeddability, so all main does is that it prepares interpreter/bytecode VM and starts file execution.

  • @bobtheoutbuilder8552
    @bobtheoutbuilder8552 10 месяцев назад

    Almost 100k wtf

  • @blackhaze3856
    @blackhaze3856 10 месяцев назад

    Tsluading

  • @SamArmstrong-DrSammyD
    @SamArmstrong-DrSammyD 10 месяцев назад

    So… you made Lua-

  • @petromudrievskyj
    @petromudrievskyj 10 месяцев назад

    Jebated. You've actually only broken things

  • @victorandreverdipereira7440
    @victorandreverdipereira7440 10 месяцев назад

    Chama no Brasil 👌

  • @blastygamez
    @blastygamez 10 месяцев назад

    Finally

  • @HuntingKingYT
    @HuntingKingYT 10 месяцев назад +5

    neovim 😛

    • @nyvyme
      @nyvyme 10 месяцев назад +3

      emacs, bro

    • @r2com641
      @r2com641 10 месяцев назад +1

      @@nyvymeclion

    • @IamPyu-v
      @IamPyu-v 10 месяцев назад

      @@r2com641 💀

  • @mythacker4365
    @mythacker4365 10 месяцев назад

    Nice

  • @Myexpectationsarerealistic
    @Myexpectationsarerealistic Месяц назад

    You broke Lua. It doesn’t use Zero because it’s meant to be a machine independent scripting language.

    • @yardez5990
      @yardez5990 13 дней назад

      what zero/one based indexing has to do with language being machine independent?

    • @Myexpectationsarerealistic
      @Myexpectationsarerealistic 13 дней назад

      @ oh, it was meant to be an introduction to computer programmer and computation. It also used to not have Boolean operations, which was more due to the inherent errors that they can cause if they’re improperly structured. I haven’t touched it in a while so I haven’t a clue if that still holds true.
      Lua is an excellent first language, and it’s the original Machine Learning language. It’s also stupidly fast, can have embedded C and ASM as well as run concurrently properly. Things Python can’t do.

  • @glowiak3430
    @glowiak3430 10 месяцев назад +1

    31:04 Look at this code. "chunkname" is a CONST char, and yet, few lines below its value is altered. Great job, lua devs. Lots of laught.

    • @anon_y_mousse
      @anon_y_mousse 10 месяцев назад +6

      It's a const char *, not a char * const. Modifying what it points to is neither bad nor a bad idea when it's passed a null pointer.

    • @glowiak3430
      @glowiak3430 10 месяцев назад

      @@anon_y_mousse Yes, but why make it const then?

    • @sproccoli
      @sproccoli 10 месяцев назад +2

      @@glowiak3430 c's type signatures are weird. what the type means is "this points to (a sequence of) constant characters". it does not mean that the value of the variable is itself, the pointer, is constant.
      I am sure this is about as clear as mud but i don't think i can explain it any better without diagrams and more words.

    • @anon_y_mousse
      @anon_y_mousse 10 месяцев назад +1

      @@glowiak3430 Because the contents of the string aren't meant to be modified by the function. If you want the pointer and what it points to to both be const, then const char * const is what you want, but you generally don't really want that, especially when passing strings to functions.

    • @IgnacioLosiggio
      @IgnacioLosiggio 10 месяцев назад +6

      don't change the chars behind this pointer: `const char*`
      don't change this pointer: `char* const`
      don't change the chars behind this pointer nor the pointer: `const char* const`

  • @lhpl
    @lhpl 10 месяцев назад

    So the right fix is to allow any upper and lower index bounds. Please tell me that this is the fix, because if not, there's no reason to watch.

    • @anon_y_mousse
      @anon_y_mousse 10 месяцев назад +1

      It actually already does that. The problem comes in when you manually loop.

  • @19joni69
    @19joni69 5 месяцев назад

    Rawr unprotected.... I really think you should be using protection 😁