The good thing about JASS is that it lets you go directly to them, avoiding most of the BJ's madness GUI represents
That's actually a good point, maybe I can go into further detail here (though it'll probably be more about BJ's than natives
).
When going from GUI to JASS, you're probably going to convert a lot of GUI-triggers to JASS (this is normal, you want to know how stuff is done after all).
The problem is that GUI isn't really good with stuff like that. Almost all actions in GUI are BJ's.
The difference between a native and a BJ is that a native directly runs some code, while a BJ is a compilation of natives (and sometimes other BJ's).
Directly running code is always faster than taking a detour, that's why many people (rightfully) claim that BJ's are bad (note that not all of them are).
So the advantage of natives is that they're fast (compared to the other option, BJ's).
There is no real disadvantage to natives. Well, sometimes it does take a lot of natives to do something, but that's pretty much how programming works sometimes
.
You can also create your own function with natives if it does something repeatedly, so you can at least shorten it.
DeathChef said:
I can't give anymore rep out to you as it appears that I need to spread more. :|
Don't worry about that, I've got plenty already and you have given me quite a bit of rep in the past