GUI isn't a language... It's just a graphical representation/editor of wc3's scripting language, JASS...
He isn't hijacking a thread he was correcting something you and Iceman stated wrong.But hijacking a thread and making two solid answers look wrong by posting one sentence that doesnt help anyone really makes it look like you are just showing off or trying to push your postcounter.
Saying that GUI is some kind of programming language is way off. Then you say others are Jass, vJass, Wurst.
Well considering that GUI is not a programming language at all what you said will only do more harm.
The agument, GUI can't be "run" and needs to get converted first, is bullshit, you can't run ascii chars aswell.
GUI can't be run because when you have a map made by using the GUI the triggers and everything in the GUI is compiled to jass.
I just don't see GUI as being a programming language. I have explained why i do not think it is a programming language.
So you got a problem with the graphic representaion of the language?
The agument, GUI can't be "run" and needs to get converted first, is bullshit, you can't run ascii chars aswell.
At least 32 bit representation would be a programming language in your eyes, but the main problem would it be to represent the 32 bits. If you represent them on your computer they would be converted to ascii, which is some kind of GUI.
Dude Jass can't be run aswell, it get's interpreted. And iam sure the interpreter won't just read you jass code from the war3map.j to run it. There are at least a few compiling processes that helps the interpreter.
Java also get's compiled to bytecode and can't be executed directly, do you think Java isn't a programming language aswell?
In my understanding the Warcraft 3 GUI is just a different way to script events in the game (graphically), than say using JASS or VJASS code. In the end they should semantically be equivalent (whatever trigger, etc. you can write in VJASS can also be done in GUI).
It's probably the case that JASS is (trivially) turing-complete, in which case if the GUI is semantically equivalent (for all valid JASS programs, there is an equivalent GUI)
as the GUI is just a higher level abstraction than say Java, which is just a higher level abstraction of assembly language, and eventually machine code (bunch of 0's and 1's).
OFFTOPIC:
I have really thought of another question... why did we even called it GUI on the first place? it really seems misleading...
It's not compiled to jass because it is indeed already in jass, it just presents the jass code to users in a more friendlier way.GUI can't be run because when you have a map made by using the GUI the triggers and everything in the GUI is compiled to jass
wrong, GUI is run by interpreter, just as Java bytecode is run by interpreter, Python is run by interpreter, Assembly is ran by CPU(possibly translated first to Machine Code)
again wrong, because by this logic Excel is also programming language, because it is then interpreted to XML, which is also programming language
But i think you forget that the interpreter has to be written in a language that is compileable to machinecode. Ofc you can interpret the code of the interpreter but finaly there has to be machinecode.
GUI then would just be a higher level representation of that core scripting language, just as VJASS might be a lower level representation.
Perhaps not, but this will depend on the definition of a programming language, as the GUI is just a higher level abstraction than say Java, which is just a higher level abstraction of assembly language, and eventually machine code (bunch of 0's and 1's).
By transitivity, GUI is whatever kind of language JASS is, albeit the representation is a lot different.
I just don't see GUI as being a programming language. I have explained why i do not think it is a programming language.
I have really thought of another question... why did we even called it GUI on the first place? it really seems misleading...
trigger
is just an abstract datatype, and we use the term GUI to help users not confuse the two. We should probably say "GUI Triggers" but that extra 9 letters is just so evil.Then there is AL (assembly language) which should roughly have a 1-1 correspondence with each instruction/data to actual set of bits.
wrong, GUI is run by interpreter, just as Java bytecode is run by interpreter, Python is run by interpreter, Assembly is ran by CPU(possibly translated first to Machine Code)
again wrong, because by this logic Excel is also programming language, because it is then interpreted to XML, which is also programming language
while quite good post imo, the GUI is exact representation of Jass is not totally right as well, because there are things in Jass that are inaccesable by GUI, and there are things in vJass, that are not accessable by Jass(those are kind of hacks)
if GUI was language, than Excel should also be language
Not quite. Wc3 just translates GUI code to JASS. That's why you can't "un"-convert JASS to GUI.It's not compiled to jass because it is indeed already in jass, it just presents the jass code to users in a more friendlier way.
and the earlier comparision GUI and Java vs Jass and bytecode is lacking one level of abstraction, GUI -> Jass -> Bytecode whereas Java -> Bytecode, so you can maximally compare Java and Jass
No. JASS is interpreted by the wc3 engine which converts native calls to operations defined in some C dialect. So it should be GUI -> JASS -> Interpreted to individual C++ procedures -> Machine code
I cant agree on that, because Jass is JIT interpreted when you call Jass function to bytecode, that is interpreted by Wc3, it is not translated to Machine code
the right order imo should be: GUI -> Jass -> Bytecode -> Interpreter -> Actions on Screen, where Interpreter is wrote in C/C++ and reads the bytecode and depending on what it read it gives you some output
and "No. GUI is run by a translator. JASS is run by an interpreter."
imo, GUI most likely isnt run by anything, because you can translate the GUI trigger to Jass at any time, which means it must be run through translator every time you want to convert it into Jass. It is most likely Jass generated when the GUI action apperas on screen(this is my idea of how it works and I dont claim it being the right way, just how I see it)
so it either gets translated as you press it
I think this is important. If GUI indeed would generate Jass code while you click the buttons, add actions etc. i could understand why you would call it a "Tool" rather than a language.cokemoney said:Not quite. Wc3 just translates GUI code to JASS. That's why you can't "un"-convert JASS to GUI.
What is the difference between gui and mui? Wil gui let me cast in multiplayer games