I prefer Thedevking’s videos they are easier to understand.
That’s your opinion. In mine, there are good ones out there. You can’t generalize that every single youtuber is bad just because most of them are. For example, at least for the scriping tutorials like variables, functions, etc.(which is the topic of this thread), you cant really spoonfeed, you have to explain what it is and how it works. After that, yes, I will agree, most tutorials on a specific topic will spoonfeed you. That’s why you should break it down and change it to make the most out of it. Just because it’s not a good resource for you doesn’t mean that you should deny it entirely.
Nobody is 100% perfect. Sure, they may have some flaws, but you can’t expect everything of them. After all, they are at least providing it to you.
The topic is basically asking if youtube videos are a good way to learn scripting, and while it is a decent way to be introduced to scripting it is not a good way to learn scripting. Scripting itself is such a broad field and there is no way a person can realistically learn everything from youtube, without having to reading a couple of books. Youtube videos are geared towards basically showing you the “outcome” rather than showing you the steps it took to arrive at the outcome. This is why in the scripting support section so many people are coming with very specific questions on how to do something because they were not taught about problem solving, why, because they watch roblox youtube tutorials which are showing you their way of doing something. This is also why so many persons on devforum have the assumption that scripting is so difficult because they think that if you don’t do something this way your wrong. Scripting is more about developing a logical mindset of how to solve a problem given a set of constraints, learning the syntax is the easier part, but the problem is such a video would not get as much attention as one titled : “How to make your own piggy game?”.
I started programming on Roblox back in 2012. This was before the time of AlvinBlox or TheDevKing. The primary way I learned was to take free model scripts and edit them.
Today I have a physical copy of Programming in Lua (third edition) right here by my laptop. The third edition is written for version 5.2 of Lua. Lua 5.1 is currently implemented in Roblox, but with a few included features from Lua 5.2 (such as bit32). Having a physical reference is great, and it is also useful for me to skim when I am away from my computer.
Programming in Lua is authored by Roberto Ierusalimschy, meaning it also includes insights from the person who actually co-invented Lua. This makes it a very valuable resource for learning a little about every core concept from loops and functions to the Lua standard library. The last section of the book is about the Lua C API which is not applicable within Roblox, so if you are learning the Roblox implementation specifically, it would be alright to skip that part.
Overall, I don’t agree that there are “better” resources online. There are different (and possibly just as good) resources online, but avoiding lua.org and the official Lua materials because they are “boring” leads me to think that you might end up thinking programming as a whole is boring. Start at the beginning, if you skip around, obviously you will struggle with new concepts.
After you have a grasp on the basics of the Lua language, I would highly recommend learning from tutorials on the Roblox DevForum and reading the API documentation on the Roblox Developer Hub. This is because these sources are peer-reviewed. When a tutorial or documentation is peer-reviewed, it is likely to provide a high quality learning experience because multiple other highly talented programmers provided constructive feedback.
I have watched some YouTube videos, and have learned some things from them. But they are just extra resources along with everything I mentioned above. If you only rely on them to teach you everything, you will be missing a lot.
Going to Lua.org really doesn’t make sense. The reason its boring is because its literally just maths + coding. Unlike Roblox Studios, there is no inserting parts or instance.new. This is why Lua and Roblox Lua are different in my opinion. The output of Lua isn’t as satisfying as Roblox Studio. I really have a LOT of fun when coding, but thats in roblox studios. Because in Roblox Studios you are bringing stuff to life unlike Lua where you only just code to get a simple result. And you might say, “You need to use lua.org to learn the BASICS.”, I already know the basics.
Also I am correct when I said that online is a better resource than a book. Most of learning online is free, unlike a book. Also a book NEVER updates, internet does.
Although I do agree with you that youtube can’t teach everything, and that its good to begin coding.
Also if you know the answer of this question, please answer it: Why did roblox choose Lua, which not a lot people know about, and not choose something like Python or c++?
I’m not sure of the exact reason why but lua syntax is very easy to learn and is not as strict as other programming languages.
What do you mean, there are barely as many lua tutorials out their compared to python. And by looking at python, it looks a lot more fun and easier than lua.
Python is more difficult to learn , and syntax means the rules of the programming language not how easy it is to find a tutorial.
The likely reason we don’t use c++ is because its not memory safe, plus it’s not the easiest language to grasp. imo Lua is the easiest to learn out of the two you listed.
Roblox likely picked Lua because it can run almost any device (making it easy to work across multi-platform) and it has a low of power for the small size of the software. I would suggest reading over the Lua: About page to learn more about the benefits Lua has. But by far I think it’s because Lua can easily run across diffrent devices.
While I agree with you about the satisfaction of “bringing stuff to life” in Roblox (this is something that Roblox allows more easily than some engines), that doesn’t make Roblox Lua much different from any other language. Before you start using Roblox-specific functions such as Instance.new, you should know something about what it is and what it’s doing. You should know how to structure the program you are writing, and as you write it you should understand what each line is doing. If you already know the basics, then you should be starting to understand how to use the Developer Hub, as it just documents some of the Roblox-implemented standard libraries and the Roblox API. Lua is Lua. The Roblox API was created to allow making games far easier for developers. Other game engines are the same way: you don’t just write a game mechanic from just a programming language, you are provided an API to help you.
To summarize: Lua.org serves people who want to learn the Lua language and the Developer Hub serves folks who want to learn Roblox’s API. I highly recommend both, because on Roblox you use Lua to both access the API and write the logical structure of a program.
As I mentioned, my Programming in Lua book is for Lua version similar to that of Roblox, meaning that at the current time, it’s contents are completely relevant to Roblox programming.
I think Roblox probably chose Lua because it is an easy-to-learn, flexible, interpreted language that operates well on top of the C++ based Roblox core. I guarantee if they let folks program in C++, this forum would be filled with a lot more programming support questions.
What would you say are the basics of the language? There are different opinions on this.
You realise that Roblox Studio had to be coded too without a game engine like itself n order to actually exist? You dont get a “simple result”. How do you think game engines existed?
I’m sorry, I realize I was unclear. I was referring to a basic understanding Lua as a language, not the Roblox API.
For instance, in Programming in Lua, the first section is entitled “The Language” and gives the reader everything they need to write simple programs. Types (such as nil and boolean), Expressions (such arithmetic, relational and logical operators; as well as concatenation, table constructors, and the length operator), Statements (control structures such as loops and if statements) , Functions (including variadic) , Iterators, and Coroutines are some of the topics discussed in this section. The second section is labeled “Tables and Objects” and the content contains some information on table-based Data Structures, Metatables and Metamethods as well as an introduction to Object-Oriented Programming in Lua. The third section is “The Standard Libraries” section and explains some of the functions in some of Lua’s standard libraries, such as the Math library, Table library and String library.
I don’t think you need to master anything to know the “basics” of Lua, but you should know something about most of topics I mentioned here on this post, even if you don’t know exactly how to use them. Then I would say you know the basics of the language. But this is just my opinion.
Literally that has nothing to do with what I said.
When I first started programming on roblox, I came across the lua book, and thought that the it looked pretty complicated. But now after I know some basics, it’s less intimidating and becomes a resource. I’d also just like to know, what is not included in the lua book that is there in roblox studio or vice versa?
I guess most big programming books can seem pretty intimidating. I felt the same way when I started reading my “C++ Plus Data Structures”. But after a while it starts to come together in your mind.
Well Roblox has implemented their own version of Lua, now called Luau. It is based off of Lua 5.1, with some facilities of 5.2 included. The Roblox engineers added their own set of functions (some of which are probably written in C++ for performance, but can be called by Lua) known as the Roblox API.
One thing to watch out for is Roblox’s custom globals (documentation here), which, even though colored blue in Roblox studio as important words, are not found in other Lua implementations because they are technically part of the Roblox API. That is one of the benefits of an open-sourced programming language - you can change it to your needs (or wants).
There are several parts of Lua that Roblox either intentionally left out, or has yet to implement. One example would be “goto” statements (read the feature request here). Another example would be the Lua I/O Library. This would be pretty pointless and insecure to add because it just has to do with reading from and writing to files, something that is not really necessary in Roblox.
I hope this answers some of your questions.
I was quoting something you just said. Stop trying to steer the discussion away.
Stop being aggressive, everyone knows that Roblox studio had to be programmed. That doesn’t mean that I HAVE to use lua.org, when their is an easier and better engine created to help a lot of people.
You should if you want to properly learn Lua reliably. Also Lua is not a game engine