• 🏆 Texturing Contest #33 is OPEN! Contestants must re-texture a SD unit model found in-game (Warcraft 3 Classic), recreating the unit into a peaceful NPC version. 🔗Click here to enter!
  • It's time for the first HD Modeling Contest of 2024. Join the theme discussion for Hive's HD Modeling Contest #6! Click here to post your idea!

Difference between GUI and Jass, specific parts please...

Status
Not open for further replies.
Level 6
Joined
Apr 29, 2008
Messages
94
Nevermind where I searched or who Iv'e asked, anyone says that JASS is way better for your map than GUI, but whats all the difference?
afterall, GUI is JASS but just translated in the WE no?
Someone told me GUI acts awfuly in long trigger-pages and it may screw up some things inside the game without you even notice but wtf is that means? if you clear leaks and clearly adding adding new actions to your GUI trigger then whats that bad in that? what already can be $&#@ed up?
Anyone can tell me specific difference and not somthing like "Its just better."


Sorry for da worng spelling
 
Level 18
Joined
Aug 23, 2008
Messages
2,319
GUI is the triggers you basically make in the World Editor.
  • Events
    • You ask a question
  • Conditions
    • Question asked is equal to (Your question)
  • Actions
    • Avator tries to help you out
GUI is actually made out of JASS. the triggers you make in GUI are all just JASS codes, but translated to microwave-meals, so everyone can understand them without too much trouble. This means there are limits to GUI. Not all possibilities of JASS are translated into GUI. GUI allows you to do a lot, but if you want to get the best out of the World Editor, you'll have to make triggers from the basics: JASS.
 
Level 18
Joined
Aug 23, 2008
Messages
2,319
Check out all threads in this section with
JASS:
 tag in front of it. They choose JASS because they need to make a trigger that can't be made in GUI. I'm not a JASSer, so I can't give any examples, but you can try checking out those thread, or you can read the JASS tutorial. That might give you a good picture too :smile:
 
Level 6
Joined
Feb 21, 2008
Messages
205
Check out all threads in this section with
JASS:
 tag in front of it. They choose JASS because they need to make a trigger that can't be made in GUI. I'm not a JASSer, so I can't give any examples, but you can try checking out those thread, or you can read the JASS tutorial. That might give you a good picture too :smile:[/QUOTE]

I've tried to read those jass triggers, but it really is that complicated as it looks like.
 
Level 40
Joined
Dec 14, 2005
Messages
10,532
Avator, a lot of people use Jass over GUI simply because it's better, even if they could accomplish what they're doing in GUI.

As for things you can do in Jass that you can't in GUI:

  • A whole bunch of extra types, such as unitpool ,itempool, trackable, region, etc
  • Write systems
  • Read your code
  • Loop properly
  • Use if statements well
  • Write efficient code
  • Use good syntax
  • Not spend an age in drop-down menus
  • Clean up leaks if you make them
  • Avoid even having to touch leaky types much
  • Local variables
  • and so on
 
Level 6
Joined
Apr 29, 2008
Messages
94
Avator, a lot of people use Jass over GUI simply because it's better, even if they could accomplish what they're doing in GUI.

As for things you can do in Jass that you can't in GUI:

  • A whole bunch of extra types, such as unitpool ,itempool, trackable, region, etc
  • Write systems
  • Read your code
  • Loop properly
  • Use if statements well
  • Write efficient code
  • Use good syntax
  • Not spend an age in drop-down menus
  • Clean up leaks if you make them
  • Avoid even having to touch leaky types much
  • Local variables
  • and so on


Thats more or less clear but the only better thing of JASS is it's unlimits?
Why people say then that "Jass is bad for you but good for your map" and "GUI is good for you but bad for your map"?, its sounds like GUI is retarded and maps using GUI triggers will be bad.
 
Level 18
Joined
Aug 23, 2008
Messages
2,319
JASS is not unlimited, but it's limits are much further then the limits of GUI.

That expression means that JASS is pretty tough because just 1 misspell can cause the entire trigger to fail. It's completely manual made, so mistake are too. Due to the fact that it has less limitations, it's good for your map. You can make triggers that GUI users can never (properly) make, giving you a map of much higher quality.
Same for the other way around. GUI commands are just correct JASS commands, so mistakes are only made by combining the wrong info. That makes the trigger fail, but the commands are always correct. GUI is good for you, but because of it's great limits compared to JASS, it gives you less freedom in your map creation, so it's (compared to JASS) 'bad for your map'.

Don't be fooled by that second line. GUI maps are still well build maps and you can just make quality games with it. But if you want 1 step further in quality and originality, you need JASS.
 

Cokemonkey11

Spell Reviewer
Level 29
Joined
May 9, 2006
Messages
3,534
It's not that jass does a whole lot more than triggers, it's more that it does them better.

For example although a simple jass trigger can seem like a similar amount of lines to a GUI trigger, that gui trigger will be converted to jass and used during the game and is generally going to be a lot longer than it needs to be. To see what I mean copy a trigger of yours and go to edit - convert to custom text.

Jass allows functions which make calling common tasks much more reliable, faster, and cleaner.

Jass allows extensions (vJass) which make coding easier and faster, for example the

JASS:
globals
endglobals

statement which allows you to save data without going to the slow and very boring variable editor or libraries which allow you to call functions from other triggers without placing their functions in the map header.

Jass allows you to type, which is much much faster than clicking through GUI.

Hope this helps.
 
Level 40
Joined
Dec 14, 2005
Messages
10,532
Thats more or less clear but the only better thing of JASS is it's unlimits?
Why people say then that "Jass is bad for you but good for your map" and "GUI is good for you but bad for your map"?, its sounds like GUI is retarded and maps using GUI triggers will be bad.
Jass is less limited. As for those people, they have no idea what they're talking about. If you ever truly understand Jass (which some people can't, admittedly), it's far easier than GUI.

JASS is not unlimited, but it's limits are much further then the limits of GUI.

That expression means that JASS is pretty tough because just 1 misspell can cause the entire trigger to fail. It's completely manual made, so mistake are too. Due to the fact that it has less limitations, it's good for your map. You can make triggers that GUI users can never (properly) make, giving you a map of much higher quality.
Same for the other way around. GUI commands are just correct JASS commands, so mistakes are only made by combining the wrong info. That makes the trigger fail, but the commands are always correct. GUI is good for you, but because of it's great limits compared to JASS, it gives you less freedom in your map creation, so it's (compared to JASS) 'bad for your map'.
Syntax errors aren't bad once you get used to them.

Don't be fooled by that second line. GUI maps are still well build maps and you can just make quality games with it. But if you want 1 step further in quality and originality, you need JASS.
Truth.
 
Level 18
Joined
Aug 23, 2008
Messages
2,319
If you need to open over 10000 windows to color a text, then I probably color my text wrong :gg:
And it's quite a legendary moment that PurplePoot actually said I made a good post (just something I couldn't help to go unnoticed :razz:)

Anyway, back to the point of this post: You guys make GUI sound like it's harder then JASS. I don't know about you, but I rather use a few menu's that give me plenty of options to still be able to create triggers like I have them in my head, then that I learn a complete computer language where the mistake isn't only possible in the entered data, but in every single letter I type. Too much trouble in my opinion.

I think the opinions of the people posted here gives quite a nice picture of the good and bad sides of both GUI and JASS. So I guess this thread can take a rest until somebody has additional info or if Nisim has more questions.
 

Cokemonkey11

Spell Reviewer
Level 29
Joined
May 9, 2006
Messages
3,534
jass gets much easier to read and decode of an error with the help of syntax checker, vjass(tesh coloring), and a trigger/scripts section here at the hive.

Jass isn't necessarily easier to code as you say, but the fact that it lets you script instead of click, makes it a lot faster. Especially when you know what you want it to do. Hope that makes sense :)
 
Level 40
Joined
Dec 14, 2005
Messages
10,532
If you need to open over 10000 windows to color a text, then I probably color my text wrong :gg:
And it's quite a legendary moment that PurplePoot actually said I made a good post (just something I couldn't help to go unnoticed :razz:)

Anyway, back to the point of this post: You guys make GUI sound like it's harder then JASS. I don't know about you, but I rather use a few menu's that give me plenty of options to still be able to create triggers like I have them in my head, then that I learn a complete computer language where the mistake isn't only possible in the entered data, but in every single letter I type. Too much trouble in my opinion.

I think the opinions of the people posted here gives quite a nice picture of the good and bad sides of both GUI and JASS. So I guess this thread can take a rest until somebody has additional info or if Nisim has more questions.
No, it doesn't give a good view of both sides, since the majority of the people posting know little/no Jass, and thus shouldn't talk about it.
 
Level 29
Joined
Jul 29, 2007
Messages
5,174
I don't know about you, but I rather use a few menu's that give me plenty of options to still be able to create triggers like I have them in my head, then that I learn a complete computer language where the mistake isn't only possible in the entered data, but in every single letter I type. Too much trouble in my opinion.

Totally agreed. Jass is as hard to learn as C++ and Java after all.

Now to end the irony - you can "learn" Jass in a few days at the worst, and if you know GUI pretty well it can probably decrease that few days into a day.
If you have the most general knowledge in programming it can take it down to a few hours I'd say.

And I know that from experience. I "learned" Jass before I started programming and it took me one day to make my first cool MUI working code.

So... yea... if you want to make maps for warcraft don't learn Jass, it takes too much time and it aint worth it.
 

Dr Super Good

Spell Reviewer
Level 64
Joined
Jan 18, 2005
Messages
27,198
The shortest possiable answer:
GUI is a preprocessor* of JASS (it converts to JASS when you save the map) and as such is restricted to do atmost what JASS is capable of doing. GUI however restricts a large number of features (like locals and functions) as well as organising the code in a unefficent way (BJs, the wierd if statment trees)). As such GUI can not do tasks as well as programming straight into JASS can.

On the other hand Vjass is also a preprocessor* like GUI but does not restrict it as much. However its additional support is purly to save time as logically everything it does can be done with just plain JASS (not taking into account the actual WE restrictions but just the restrictions of JASS as a language).

*Not to sure about this being the right word to use.
 
Status
Not open for further replies.
Top