- 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.