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.
  • Ghan Ghan:
    Still lurking
    +3
  • The Helper The Helper:
    I am great and it is fantastic to see you my friend!
    +1
  • The Helper The Helper:
    If you are new to the site please check out the Recipe and Food Forum https://www.thehelper.net/forums/recipes-and-food.220/
  • Monovertex Monovertex:
    How come you're so into recipes lately? Never saw this much interest in this topic in the old days of TH.net
  • Monovertex Monovertex:
    Hmm, how do I change my signature?
  • tom_mai78101 tom_mai78101:
    Signatures can be edit in your account profile. As for the old stuffs, I'm thinking it's because Blizzard is now under Microsoft, and because of Microsoft Xbox going the way it is, it's dreadful.
  • The Helper The Helper:
    I am not big on the recipes I am just promoting them - I use the site as a practice place promoting stuff
    +2
  • Monovertex Monovertex:
    @tom_mai78101 I must be blind. If I go on my profile I don't see any area to edit the signature; If I go to account details (settings) I don't see any signature area either.
  • The Helper The Helper:
    You can get there if you click the bell icon (alerts) and choose preferences from the bottom, signature will be in the menu on the left there https://www.thehelper.net/account/preferences
  • The Helper The Helper:
    I think I need to split the Sci/Tech news forum into 2 one for Science and one for Tech but I am hating all the moving of posts I would have to do
  • The Helper The Helper:
    What is up Old Mountain Shadow?
  • The Helper The Helper:
    Happy Thursday!
    +1
  • Varine Varine:
    Crazy how much 3d printing has come in the last few years. Sad that it's not as easily modifiable though
  • Varine Varine:
    I bought an Ender 3 during the pandemic and tinkered with it all the time. Just bought a Sovol, not as easy. I'm trying to make it use a different nozzle because I have a fuck ton of Volcanos, and they use what is basically a modified volcano that is just a smidge longer, and almost every part on this thing needs to be redone to make it work
  • Varine Varine:
    Luckily I have a 3d printer for that, I guess. But it's ridiculous. The regular volcanos are 21mm, these Sovol versions are about 23.5mm
  • Varine Varine:
    So, 2.5mm longer. But the thing that measures the bed is about 1.5mm above the nozzle, so if I swap it with a volcano then I'm 1mm behind it. So cool, new bracket to swap that, but THEN the fan shroud to direct air at the part is ALSO going to be .5mm to low, and so I need to redo that, but by doing that it is a little bit off where it should be blowing and it's throwing it at the heating block instead of the part, and fuck man
  • Varine Varine:
    I didn't realize they designed this entire thing to NOT be modded. I would have just got a fucking Bambu if I knew that, the whole point was I could fuck with this. And no one else makes shit for Sovol so I have to go through them, and they have... interesting pricing models. So I have a new extruder altogether that I'm taking apart and going to just design a whole new one to use my nozzles. Dumb design.
  • Varine Varine:
    Can't just buy a new heatblock, you need to get a whole hotend - so block, heater cartridge, thermistor, heatbreak, and nozzle. And they put this fucking paste in there so I can't take the thermistor or cartridge out with any ease, that's 30 dollars. Or you can get the whole extrudor with the direct driver AND that heatblock for like 50, but you still can't get any of it to come apart
  • Varine Varine:
    Partsbuilt has individual parts I found but they're expensive. I think I can get bits swapped around and make this work with generic shit though
  • Ghan Ghan:
    Heard Houston got hit pretty bad by storms last night. Hope all is well with TH.
  • The Helper The Helper:
    Power back on finally - all is good here no damage
    +2
  • V-SNES V-SNES:
    Happy Friday!
    +1
  • The Helper The Helper:
    New recipe is another summer dessert Berry and Peach Cheesecake - https://www.thehelper.net/threads/recipe-berry-and-peach-cheesecake.194169/

      The Helper Discord

      Members online

      Affiliates

      Hive Workshop NUON Dome World Editor Tutorials

      Network Sponsors

      Apex Steel Pipe - Buys and sells Steel Pipe.
      Top