GUI - Triggers made by blizzard, which have less options but are more playable with for people that do not know scripting.
Jass - Also called custom text, you can revert GUI to jass, but not always the other way around, jass is the langauge used by blizzard, but as soon as you know scripting you should easily learn jass as well, jass has more functions that GUI and is mainly memory leak free on the contrary to GUI.
Script - Also called Custom script code, it might be the same as jass, but here is were the actual coding goes, like how anitarf and Infrane built their cinematic system, you can only do this in one place of the triggers, on the contrary to jass.
so you could say there are 3 types of programming, but GUI and jass are not really programming languages, they are more blizzard langauge to make things happening within the editor.