What are the benefits of JASS over the GUI? And GUI Vs JASS

Reaction score
333
Jass is the worst language I have ever encountered.... Learning Jass is like learning how to bang your head against a wall :banghead: ;
would be fun for a while (for some people) but almost totally useless in the long run.

Jass may be very ugly and limited as a programming language, but compared to the GUI it is immeasurably superior.

GUI comes with a enforced programming style which means its easier for others to read, especially when there are comments litter across.

GUI enforces awful programming and an awful programming style. Large GUI systems are often comprised of multiple triggers, and will contain kludgey workarounds to make up for the general lack of features and/or expressive power. The restrictive commenting system discourages people from documenting their code and the generally verbose nature of the GUI makes GUI triggers an absolute pain to read and decipher. This is especially true for larger triggers and systems.

Jass/vJass on the other hand, when the codes get long, you need to decipher the programmer's style first... not a bad thing... though sometimes you have to complain about function/struct lovers who put those in even when no needed. (Who need a function to calculate 1+1)

Jass allows for very little deviation in programming style and I am not familiar with the unneeded structs or functions that you seem to be having a problem with. I can see how you might apply a GUI mindset to some piece of Jass code and come to the conclusion that it contains all sorts of unneeded things.

GUI is also user friendly for those who are not so programming incline, changing your methodology into codes becomes simpler when the text are mostly English.

You still have to translate your ideas into a suitable format for War3 whether you are using Jass or GUI. The only difference in this regard is that the GUI forces you to construct statements and expressions from drop down list selections in a very tedious fashion. It is so much easier to simply type out your code.

Also you don't have to worry about many things... For a beginner, its best not to even know about GetLocalPlayer(), Trackables or LocalHandles.

How are they meant to stop being beginners, then?

Lastly, GUI can easily be enhanced via custom script, its troublesome, but its not impossible. Like I always say, anything that can be done via Jass/vJass can be done by GUI... I meant results, not process.

Obviously your definition of results does not account for differences in speed, efficiency, flexibility and development time.
 

MoonSlinger

I Love using Cheap Tricks... only Results matters
Reaction score
74
MoonSlinger said:
Jass is the worst language I have ever encountered.... Learning Jass is like learning how to bang your head against a wall ;
would be fun for a while (for some people) but almost totally useless in the long run.
Jass may be very ugly and limited as a programming language, but compared to the GUI it is immeasurably superior.
I agree to that Jass is superior to GUI... there is no doubts about it.
But the comparison is: Jass to vJass.
When given a choice, pick vJass, at least its not as ugly.

For those who says "you need to learn Jass before learning vJass",
I have to disagree... although when you have mastered vJass, you most likely can debug Jass scripts.


Jass allows for very little deviation in programming style and I am not familiar with the unneeded structs or functions that you seem to be having a problem with. I can see how you might apply a GUI mindset to some piece of Jass code and come to the conclusion that it contains all sorts of unneeded things.
Damien, I guess you have been around people who can program, and seeing codes which are "good enough" to appear on this site. you do need to think of those people who code horribly, and those who struggle with syntax errors... Most don't even dare post their gibberish here... There are lots of them around.


You still have to translate your ideas into a suitable format for War3 whether you are using Jass or GUI. The only difference in this regard is that the GUI forces you to construct statements and expressions from drop down list selections in a very tedious fashion. It is so much easier to simply type out your code.

How are they meant to stop being beginners, then?

Steps of writing programs is:
Idea -> Methodology -> Syntax

Beginners struggle with getting Ideas into Methodology. No point burdening them with more problems. :p
When they feel confident enough, its easy to learn the actual syntax for better programming.
Some learn to fly easily, while others need to learn how to crawl first. :D


Obviously your definition of results does not account for differences in speed, efficiency, flexibility and development time.
Of course, my definition doesn't take into account all those above.

I also didn't account for the fact that WC3 was meant for P4 500, while recently most computers are running at twice... trice... quad... quint... of that speed.

I have also not mention that not all map makers want to make a name for themselves on bnet being a "flawless" or "highly efficient" mapmaker/programmer. Most only want to display what they have done themselves, turning their ideas into game.



I understand your view of Jass is MUCH Better then GUI,
but that doesn't meant GUI is totally useless and not worth attention.

Just sit back, relax, have a cookie, and watch the people struggle with GUI. When it is time, those with the calling will move forward.
 

DrEvil

FCRI Associate!
Reaction score
111
You can make many things in GUI that you can in Jass.
Thing is, Jass is much more efficient, faster, and cleaner.

For example, if you wanted to make a knockback spell in Jass, you would use a timer, and call a function periodically. Simple.
In GUI, you'd need to make another trigger, and turn it on/off.

Honestly, I couldn't agree more with TheDamien

Another thing is making things MUI. In Jass, it's very easy. In GUI, it's a pain.

I agree with that 100 %

GUI was fun at the start - but gets hard trying to make some complex triggers
JASS was hard but once i learned it just become easy to do "mostly" anything
 

Larcenist

REP: Respect, Envy, Prosperity?
Reaction score
211
> I agree to that Jass is superior to GUI... there is no doubts about it.
But the comparison is: Jass to vJass.
When given a choice, pick vJass, at least its not as ugly.


vJASS is JASS. If you know vJASS you know JASS, it's not a matter of "picking vJASS instead of JASS".

> I understand your view of Jass is MUCH Better then GUI,
but that doesn't meant GUI is totally useless and not worth attention.


Making a fairly decent triggered map that lasts for an hour or more in GUI is close to impossible. GUI triggered maps are made to crash sooner or later.

> Just sit back, relax, have a cookie, and watch the people struggle with GUI. When it is time, those with the calling will move forward.

Mastering JASS takes about half the energy it takes to constantly debug your GUI codes, so the brightest thing to do it jump to JASS the moment your GUI codes start to malfunction (if not even before that).
 

Darthfett

Aerospace/Cybersecurity Software Engineer
Reaction score
615
Some functions that will run a little slower, will take less time to code, and wont be noticed by the players.

Not necessarily only a GUI option. BJ functions can be used in JASS as well. Another point to note about JASS/vJASS is that systems and spells are much more easily imported, modified, and used.

GUI:
-If a trigger goes wrong, you dont know how/where to fix it!
-Hard to spot leaks if you have a 50-line trigger( i know, i've tried..)

There are both relative. In JASS, a long trigger can be confusing as well. Plus, you have to clean up local leaks, in order to make a spell MUI.

JASS:
1 Can make a great map with
2 Simple spell making
3 Syntax Checker!
4 structs
-scopes
-libraries
5-EASY TO SPOT LEAKS IN GIANT CODES

1. It all depends on how the code is, the same with GUI. JASS just gives you all the options and potential for anything you want to do. GUI gives you some, though a few things are a bit annoying to do, and you have less flexibility.

2. It all depends on if you want it MUI. ;) Most people who make a spell in GUI don't do this. Most people who do in JASS do. That is one part that is easier in JASS. As far as the actual creation, I wouldn't call it "simple.

3. Even the syntax checker has its flaws. If you mix up GetEnumUnit() with GetFilterUnit() it won't complain. Even if you do an obvious mistake like Player(-1), it won't correct it for you. GUI doesn't need a syntax checker, because it doesn't give you the option to make mistakes.

4. These are not needed in GUI, because GUI does not have functions. However, this does mean that in GUI you can't reuse code very well, which is an important part of making larger maps.

5. I find it about equal. GUI doesn't tell you exactly what it's doing, and just asks for information. JASS tells you the code, if it is using locations/groups, etc, if you have a function looking up addon (like Newgen or JASSCraft). However, local variables do require nulling. Once you understand what the editor is doing, you can understand both of them easily.

One of the most important advantages of JASS is functions! You can make them do just about ANYTHING, and you can change it to work with all kinds of things. Want a system that slides a unit for a changeable distance, creates a changeable special effect at the end, and damages units of a changeable type for a changeable amount of damage? It can be done with only a few functions. In GUI you have to create two triggers, and you can't reuse that for other systems or spells, without putting hours of effort into making it work.
 

chobibo

Level 1 Crypt Lord
Reaction score
48
but that doesn't meant GUI is totally useless and not worth attention.
I started in GUI so I can honestly say that I experienced the uselessness of GUI, making a very simple spell is a pain in the ass to debug, once I tried making a holy light spell on GUI, It was finished fast, yes, but It's hard to edit, too many clicking around, too much wasted effort on clicking things.

I know it's really tedious to learn jass, but if you exert effort, you won't just learn jass, you learn math, algorithms, data structures, more things that make coding easier. When I started jassing, I also started appreciating math, maybe because I really wanted to understand those things vex and the other coders wrote.

If you want to make really complex maps, then jass is what you need, but if you're just playing around with some triggers, then GUI should be more than enough for you.
 

Igor_Z

You can change this now in User CP.
Reaction score
61
There are leak detecting programs for detecting leaks thats not the problem... The thing is if u don't want to learn JASS just use some custom scripts and combine it with your GUI. It is not hard to detect a problem in GUI. U will check every single Event, condition and action very carrefully and u'll spot it
 

rover2341

Is riding a roller coaster...Wee!
Reaction score
113
Are There Any Benefits for using GUI besides easier to learn, and faster to code (depending), I hear very few. But thnx for all the feed back.

For any game i have made, or currently working on i haven't had a problem with the speed, of gui, or the code getting to complex. I have kept most of the logic under 50 lines of code. Meaning one trigger runs 7 other triggers and they all have about 7 lines of code in them. Its very readable, and the speed is unnoticeable in the game.

I Have learned a great deal about jass. And if that's how you all, feel then i guess i will stop right here unless i take the time to learn it... But i am considering waiting for the star craft 2...... knowing that currently i can get by with out it, in the games i will be finishing before star craft gets out. And i don't feel that they will take me any longer expect that they will make my hand go numb lol. if i allow the lines of code in my game to exceed 200 (Currently around 70 for roller coaster game).

I know a bit of c++ and C#. So i figure ill pick it up fairly fast... But eh.. I just not sure if i gonna learn it consider the time left before i move on...
 
General chit-chat
Help Users
  • No one is chatting at the moment.

      The Helper Discord

      Members online

      No members online now.

      Affiliates

      Hive Workshop NUON Dome World Editor Tutorials

      Network Sponsors

      Apex Steel Pipe - Buys and sells Steel Pipe.
      Top