I think that many things that many programmers dislike about Lua are actually advantages when you think about using the language to teach kids programming.
>indexes start at 1 normal kids count from 1 too >global variables by default Kids don't need to be faced with the concept of scope early on, and later they can just learn the "local" keyword. >verbosity verbosity should help in teaching kids, it's easier to explain what "begin" and "end" mean instead of teaching what "{" and "}" mean or talking about Python indentation levels. >small stdlib Kids won't do much, they don't need a lot of stuff in the standard library. Also, since the library is so easy to embed you can completely replace it with more fun, graphical functions, like or some Turtle stdlib >widespread in game scripting once the kid knows the basics he try to modify some real games, because many of them use Lua as their scripting language, that should be exciting
What do you think about teaching kids Lua as a first programming language?
Liam Parker
Well roblox uses it.
Owen Rodriguez
Well computercraft uses it.
Benjamin Brooks
See? Ain't it great? After learning the language they could make their own game in roblox or pimp their minecraft mods
Christopher Lewis
Well garrys mod uses it.
Luis Sanchez
>Kids don't need to be faced with the concept of scope early on, and later they can just learn the "local" keyword. REEEE. Why would you teach them bad habits like functions with tons of side effects?
If anything, it should be the other way around and purely functional. Kids don't need global variables.
Aiden Lopez
This is where I learned lua.
Henry Cruz
I think the only big potential issue for teaching kids on it is that the standard lib string processing tools aren't quite as hand-holdy as other languages are. I find myself needing to use patterns for many things which isn't a big deal for me but I could imagine being a big stumbling block for kids.
Sebastian Taylor
That seems pretty good. Except for the fact that after leaving Lua for a more serious language the kid will have to forget all those antipaterns. Though that only applies to those who want to become programmers, which would make it good for school curriculum
Jace Stewart
Indexing at 1 is counter productive since 99% of languages start at zero. Teaching bad habits like python indentation is bad
Carson Hill
yes, but it's a habit that's easy to get rid of later
Adrian Robinson
ROBLOX!!!!!!!!!!!!!!
Leo Rodriguez
>kids don't need to learn about data structures ok
Also theseThat said, it isn't verbose and keywords instead of indentations and non-alpha characters are objectively the best, according to the didactic scientist behind quorum. And I don't mind, after all, everyone hating keywords is dislexic or a keyboardcripple.
Benjamin Garcia
I agree man, i mean you can index starting from whatever you choose, but having the libs start from 1 is just encouraging a bad habit. Learning to start from 0 is so basic, takes such little effort to learn, and honestly makes more sense for programming.
Levi Roberts
And it's very basic to switch. It's a non-issue.
William Robinson
but with lua you can't switch
Adrian Lewis
I meant it's trivial to switch when you switch to a different language.
Sebastian Martinez
of course it's trivial to switch you have to use if elses
Angel Cruz
but you can, if you write a function for it.
l m a o. code monkey.
Angel Wright
If it's not a big deal then why even do it in the first place? Scripting languages are bad to learn on. No brackets or parenthesis is a dangerous game
Isaiah Powell
Depends on the age I suppose. It's probably better to teach something like scratch if a kid doesn't understand the concept of starting indexes at 0.
That being said it's much better than what I learned which was basic, the main reason being gotos. You're basically teaching archaic programming practices that are difficult to unlearn right from the start.