Some things in Lua can be unconventional or awkward, especially with gLua. The Lua in Garry's Mod differs from regular Lua in that it is technically "gLua", where several changes have been made and a lot of enhancements have been made to try to make it more of a modern language.
Your main hurdle with learning gLua will be that some things aren't super well documented, or some more advanced methods or ideas aren't overly public. Because of this, you have to learn a lot more through experience than you normally would. For example, if you encounter an error in Java or C#, you can almost always find a similar enough issue someone else has had. However, with gLua, I find often times the solution isn't available or the issue hasn't ever been publicly documented with a solution. The Garry's Mod forums used to have some help for these issues, which luckily was archived before it was shutdown.