• 🏆 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!

shouldn't vjass be deprecated in favor of wurst?

Status
Not open for further replies.
One of my maps had a dialog displayed at the start of the game. It took around 2 seconds to unlag and show it (after loading screen). This is the initialization trigger. I recoded it and now the dialog is displayed instantly.Optimization should be done after the code is written and working. A bad performance can also be a sign of a bug in the code. Also, code that is ran once per run (initialization, and releasing) doesn't need to be optimized nearly as much as things that are ran multiple times (triggers, timers, etc).However, Muzzel, you are correct here in that the increased coding efficiency outweighs the performance impact purely because that the performance impact is tiny compared to the gain in coding speed.
 
Level 6
Joined
Jul 30, 2013
Messages
282
I remember a few months ago somebody tried to get the FS map to run on the wurst IDE.. and ended making a huge flop of it...

Well... maybe there's something else in the map that breaks stuff.. :(

I'm sorry.
 
Level 8
Joined
Jul 24, 2006
Messages
157
Bump, because I tried to rewrite Wurst Code in vJass.
At first I was suprised because i forgot how similar the languages are, but then it turned out to be disgusting.
Adding tons of unnecessary "takes nothing returns nothing", "set", "call", "then","endif",...
The need to declare locals, no OO .method() calls for standard types like units.
No StandardLib with vectors and math.
You need to save to see syntax errors.
Compiler only showed me "missing endblock" and no line.
Never again.
 

Deleted member 219079

D

Deleted member 219079

Bump, because I tried to rewrite Wurst Code in vJass.
At first I was suprised because i forgot how similar the languages are, but then it turned out to be disgusting.
Adding tons of unnecessary "takes nothing returns nothing", "set", "call", "then","endif",...
The need to declare locals, no OO .method() calls for standard types like units.
No StandardLib with vectors and math.
You need to save to see syntax errors.
Compiler only showed me "missing endblock" and no line.
Never again.

Please don't forget vJass, it's still the mainstream syntax and whenever you contribute to the site, your resource will get better usage rates in case it's in vJass/GUI. Plus most contests won't allow Wurst.
 
Level 13
Joined
Mar 6, 2008
Messages
852
Can you state what your comment added to this topic?

A nice reason for deprecation? :D

Please don't forget vJass, it's still the mainstream syntax and whenever you contribute to the site, your resource will get better usage rates in case it's in vJass/GUI. Plus most contests won't allow Wurst.

I don't get the point, one just have to post the code seperatly so that one can read everything and why won't contests not allow Wurst?
 
Doesn't Wurst basically just make it easier for everyone who uses it? Like you write less code then everyone else right and if that is true then really think about that. . . Not to mention how does it convert into the "real" script? It's just another way to type JASS, why keep making it more difficult? I don't see any reason to have vJass deprecated as well I don't see any real reason to add yet another way to type JASS unless at least 10% of the community uses it.

Considering most of the community uses GUI/JASS/BJ and a low amount uses vJASS....
 
Level 14
Joined
Jun 27, 2008
Messages
1,325
Doesn't Wurst basically just make it easier for everyone who uses it? Like you write less code then everyone else right and if that is true then really think about that. . .
Are you refering to the contests? Because thats imho not a valid reason to ban wurstscript submissions.
- Lets pretend that wurst users are indeed advantaged (this would imply wurst is in a way the "superior" language), then its not a problem since anyone can use wurst
- vJass and GUI are also a simplifications of Jass, so you would have to ban those too...

Not to mention how does it convert into the "real" script? It's just another way to type JASS, why keep making it more difficult?
Why more difficult? Typing wurst is easier and more comfortable than jass and vJass. Knowing how it converts into the "real" script (compiling) isnt important for the average user. Do you know how all the vJass features are compiled? I do, but mostly because because i was curious - not because i needed it.

I don't see any reason to have vJass deprecated as well I don't see any real reason to add yet another way to type JASS unless at least 10% of the community uses it.
Considering most of the community uses GUI/JASS/BJ and a low amount uses vJASS....
Where is that coming from? Im pretty sure there are a lot more vJass users than Jass users on THW.
Im not saying vjass should be deprecated (i disagree with this thread), but that doesnt mean wurst should. Its definitely a great language, the main reason why so few people use it is that they already know vJass and dont want to learn something new + convert their scripts.
 
GUI has no reason to be banned, vJass I wouldn't mind... =P
Anyone can use wurst how so? It's a lot more difficult then vJass.

The thing here is yet another way to type JASS you guys want to add in here. Think about the people who judge, if they all wursted then sure it'd be fine however what about new judges who didn't. I don't see Cjass or zinc or the few others in here.

How can you say typing wurst is easier and more comfortable? You can't possibly know this for everyone, only you can know this for yourself and the people who said so.

I am just searching for a real reason to try to understand why one language should replace another when they're both well-done while one is mostly used and the other isn't. I think the contests could allow wurst and the other languages, but you'll be facing judging problems.

Though one problem that concerns me is how wurst converts into JASS, is it efficient natives? Just because it is faster and "easier" to type doesn't mean it is better especially when its scripting and not programming.

Not against you in any way, just bad at asking questions.
 
Level 23
Joined
Apr 16, 2012
Messages
4,041
Im not fun of depracating vJass, but from judge point of view(I never judged anything personally :D), I dont think your point is valid, because Wurst is not soo much different, and most things imo can be find in the standard.

I pretty much agree on other questions/reasons
 
Level 14
Joined
Jun 27, 2008
Messages
1,325
Anyone can use wurst how so? It's a lot more difficult then vJass.
Yea, its not. Why would you assume its harder to learn? Did you try to learn both?

How can you say typing wurst is easier and more comfortable? You can't possibly know this for everyone, only you can know this for yourself and the people who said so.
You get more functionality for less code you type. Also you have a better IDE (I wont argue about this, Eclipse is simply better for programming than jNGP). The syntax is different, but the basic programming elements are the same (wurst probably has more built-in special functionality, so that might be a bit complicated, but you dont have to use it).
Some people complain about the indention based syntax, if you ask me they should stop whining and grow some balls. Its always difficult to learn something new and at first the old crap you used for years always feels better. To be able to decide that you need to give it some time...

Though one problem that concerns me is how wurst converts into JASS, is it efficient natives? Just because it is faster and "easier" to type doesn't mean it is better especially when its scripting and not programming.

What else would it be instead of efficient natives? Combined with the wurst optimizer it gets opimized even further, probably more than with vJass and the usual trash optimizer tools. The code wurst produces is pretty damn fast, its so fast that you wont ever be able to tell a difference when used in a normal map.
What do you mean with "especially when its scripting and not programming"? I really dont get your point...
 
Yeah I did try to learn both.

It isn't programming, it's scripting. Couldn't the same be said to every other wanna-be-awesome scripting syntax?

Even if combined, it'll only go as far as well JASS can go... Your saying wurst auto-optimizes better then optimizers? Since it converts into basic JASS no matter what because it has too, how could the speed/code be any faster then already vjass? Not to mention I doubt it does it better then those "usual trash" optimizer tools, maybe on par.

It's suppose to be fast, if you can tell the speed difference of code in a map then that basically tells anyone that bad code here and good code there. Not the syntax itself.

We're limited as long as we stay modding here because we are using a scripting language and not a real programming one. Sure we can get far which is the point of it and the fun.

Remember I am not against Wurst, I just don't see the point of why it should be made an official scripting syntax yet.
 
Level 11
Joined
Oct 11, 2012
Messages
711
Alright, I would like to learn Wurst, but here are my problems:
1. my map contains triggers written in vJass, Jass and GUI, do I need to rewrite all of them (alomost 1000 triggers) if I move to Wurst? I think Jass and GUI should be fine, but not sure about vJass.
2. I have installed Eclipse, Java and downloaded Wurst package, then I don't know what to do. I even failed at the first step and kept getting this error message when I tried to put a library into a new map through Eclipse. Moreover, the script in Eclipse is also not highlighted. What did I do wrong? I have spent two hours but still cannot fix it. :( Maybe I am not smart enough to use Wurst....
 

Attachments

  • error.jpg
    error.jpg
    69.6 KB · Views: 74
  • wurstError.jpg
    wurstError.jpg
    61.7 KB · Views: 74
Level 15
Joined
Aug 7, 2013
Messages
1,337
muzzel said:
Also you have a better IDE (I wont argue about this, Eclipse is simply better for programming than jNGP).

This isn't necessarily true. As I mentioned in previous posts, Nestharus has files which can make it possible to use vJASS in Eclipse or Notepad++.

And also I am one of the few who does everything except terrain outside of the editor. I use Notepad++ which hooks right into jasshelper and compiles / updates the map script without ever having to open it.

The only downside of this approach is that in order to generate objects or do imports, you need to go into the map and save it. jasshelper for some reason doesn't work with import or object manager. Though 90% I don't need to update the map objects (usually those have few bugs), since unlike SC2, WC3 has more emphasis on doing everything inside the map script rather than using the data/object editor.
 
Level 23
Joined
Jan 1, 2009
Messages
1,610
Alright, I would like to learn Wurst, but here are my problems:
1. my map contains triggers written in vJass, Jass and GUI, do I need to rewrite all of them (alomost 1000 triggers) if I move to Wurst? I think Jass and GUI should be fine, but not sure about vJass.
2. I have installed Eclipse, Java and downloaded Wurst package, then I don't know what to do. I even failed at the first step and kept getting this error message when I tried to put a library into a new map through Eclipse. Moreover, the script in Eclipse is also not highlighted. What did I do wrong? I have spent two hours but still cannot fix it. :( Maybe I am not smart enough to use Wurst....

Sumbit an automatic error report and post contest of logs/test.log.0 to the issue tracker.
This isn't the right thread to ask for help!
And yes, GUI and vJass can be used alongside Wurst if you're using Wurstpack with Jasshelper enabled.

ALSO RTFM!!! It is there for a purpose and there are installation instructions + videos + whatnot.


This isn't necessarily true. As I mentioned in previous posts, Nestharus has files which can make it possible to use vJASS in Eclipse or Notepad++.

It is true.
You refer to previous posts, but don't seem to read mine.
Eclipse and notepad++ don#t fucking COMPARE to eclipse.
And if you think otherwise you just have no idea.
And that's all that has to be said about the IDE, really.
I already repeated myself like 10 times on this.

----

Honestly, I don't really care about deprecating anything.
The only thing bringing my piss to a boil is people bringing false/bad/wrong arguments without having tried it out

e:

Even if combined, it'll only go as far as well JASS can go... Your saying wurst auto-optimizes better then optimizers? Since it converts into basic JASS no matter what because it has too, how could the speed/code be any faster then already vjass? Not to mention I doubt it does it better then those "usual trash" optimizer tools, maybe on par.

1. Wurst supports optimization that other tools don't provide, like inlining of functions with more than 1 line, automatic dead code elimination, constant folding % propagation which makes
static ifs useless because normal ifs with constants are simply removed.

2. Muzzel was also referring to how crappy these tools actually do their work and such complex optimizations weren't possible. Static ifs are just one of the examples where JH implemented a shitty feature because it couldn't handle it any other way. (e.g. ors don't work in them)
 
Level 23
Joined
Apr 16, 2012
Messages
4,041
there is a reason why noone inlines >1 line functions. It is called, code bloat. You know you have 8 mb size limit for multiplayer, and you can only inline functions so many times before it takes more space than the original function + calls
 
Level 8
Joined
Jul 24, 2006
Messages
157
there is a reason why noone inlines >1 line functions. It is called, code bloat. You know you have 8 mb size limit for multiplayer, and you can only inline functions so many times before it takes more space than the original function + calls

And thats why Wurst has a clever inliner.
As far as I remember the condition to inline a function was (FunctionSize-1)*(Number Calls -1) < 50
 
Last edited:
Level 11
Joined
Oct 11, 2012
Messages
711
Sumbit an automatic error report and post contest of logs/test.log.0 to the issue tracker.
This isn't the right thread to ask for help!
And yes, GUI and vJass can be used alongside Wurst if you're using Wurstpack with Jasshelper enabled.

ALSO RTFM!!! It is there for a purpose and there are installation instructions + videos + whatnot.




It is true.
You refer to previous posts, but don't seem to read mine.
Eclipse and notepad++ don#t fucking COMPARE to eclipse.
And if you think otherwise you just have no idea.
And that's all that has to be said about the IDE, really.
I already repeated myself like 10 times on this.

----

Honestly, I don't really care about deprecating anything.
The only thing bringing my piss to a boil is people bringing false/bad/wrong arguments without having tried it out

e:



1. Wurst supports optimization that other tools don't provide, like inlining of functions with more than 1 line, automatic dead code elimination, constant folding % propagation which makes
static ifs useless because normal ifs with constants are simply removed.

2. Muzzel was also referring to how crappy these tools actually do their work and such complex optimizations weren't possible. Static ifs are just one of the examples where JH implemented a shitty feature because it couldn't handle it any other way. (e.g. ors don't work in them)

I did try the automatic report thing and it tells me that "report cannot be sent".

Edit: I think this thread is meaningless. Ruke himself has bias against vJass, and in his first post he just ignores others' opinion about the advantage of using vJass and only list what is good about Wurst. That's narrow minded and pretty funny. His signature says it all.
 
there is a reason why noone inlines >1 line functions. It is called, code bloat. You know you have 8 mb size limit for multiplayer, and you can only inline functions so many times before it takes more space than the original function + calls


If edo494 is correct then that's reason enough to not use Wurst. That wouldn't really be optimization then if it was code bloating.

Otherwise cool scripting syntax. Nothing else I feel like bringing up or asking. Thanks for replying to my questions guys.

Edit: Oh wow lots of posts, will quote original post I replied too.
 
Level 23
Joined
Jan 1, 2009
Messages
1,610
If edo494 is correct then that's reason enough to not use Wurst. That wouldn't really be optimization then if it was code bloating.

Otherwise cool scripting syntax. Nothing else I feel like bringing up or asking. Thanks for replying to my questions guys.

Edit: Oh wow lots of posts, will quote original post I replied too.


Oger-Lord already responded before you posted.
Obviously it's not the case, like seriously.............
 
Level 14
Joined
Dec 12, 2012
Messages
1,007
If edo494 is correct then that's reason enough to not use Wurst. That wouldn't really be optimization then if it was code bloating.

Actually vJass is much more code bloating than Wurst. Especially because unused stuff isn't removed from the map script and things inside static ifs are replaced with empty lines. Best negative example is table, which creates a vast amount of code although 99% of those functions are never ever used.

Your saying wurst auto-optimizes better then optimizers? Since it converts into basic JASS no matter what because it has too, how could the speed/code be any faster then already vjass?

Optimization is an art itself.

Of course is everything converted to Jass in the end, but there are huge differences in how this conversion is done. Saying that every new scripting language for Jass is the same in terms of performance is just wrong. One good example are functions that mutually recursive call each other, which are much better realized in Wurst.

updated first post with resume of the thread so far (let me know if a missed something).

That "resume" is quite worthless if you only list the pro arguments and ignore the contra arguments ;)

In the end its a matter of taste. Each language has its own advantages. I use both because I like both.
 
Level 23
Joined
Apr 16, 2012
Messages
4,041
"Wurstpack supports vJass" that is more con than pro if you want to depracate vJass. Why support something that is depracated? I dont say it is bad thing, it is good thing, until you depracate the language, at which point, it will switch to be bad thing
 
Level 11
Joined
Oct 11, 2012
Messages
711
That "resume" is quite worthless if you only list the pro arguments and ignore the contra arguments ;)

Totally agree with this. It gives me the feeling that this is not a fair "trial" for vJass, :D and I also mentioned this in my earlier post.
Anyway, as you said it's a matter of taste and just use whatever you think is best for your map development.
 
Level 14
Joined
Dec 12, 2012
Messages
1,007
i read through the hole thread... didn't find any "why it shouldn't" (if i miss something, let me know)

The question was " shouldn't vjass be deprecated in favor of wurst?" and there were already several arguments made against that question.

Most important is, that vJass is still the most popular scripting language and most available systems are made in vJass. Most tutorials, documentations and forum discussions in the internet are about vJass.

Another point is that you need an external program to work with it (Eclipse). This can be of course also considered as a pro (because Eclipse is much more powerful than the WE), however many people that use vJass are beginners and new to programming/scripting and prefer a more "inbuilt" solution that feels more "natural".


So in the end, both have their advantages and disadvantages. I see a high potential in Wurst, because as a project it is much better organized than vJass. But I don't think it makes sense to deprecate vJass.
 
Last edited:
Level 6
Joined
Aug 26, 2009
Messages
192
"Wurstpack supports vJass" that is more con than pro if you want to depracate vJass. Why support something that is depracated? I dont say it is bad thing, it is good thing, until you depracate the language, at which point, it will switch to be bad thing

Maybe because the people working at Wurst (Frotty and peq) never said that vJass should be deprecated?
 
Level 14
Joined
Dec 12, 2012
Messages
1,007
send me please via pm the points that i'm missing.

I already mentioned them all in my last post?

Furthermore you should correct your first "pro":

  • Wurst is an active project

vJass is also still getting improved by people like moyackx. Its easier to update and advance Wurst than vJass, because vJass is already very old, but its not a dead project yet.
 

Deleted member 219079

D

Deleted member 219079

vJass is also still getting improved by people like moyackx. Its easier to update and advance Wurst than vJass, because vJass is already very old, but its not a dead project yet.
Maybe the Newgen WE is getting improved, but I haven't seen any major syntax improvements
 
Level 14
Joined
Jun 27, 2008
Messages
1,325
It isn't programming, it's scripting. Couldn't the same be said to every other wanna-be-awesome scripting syntax?

We're limited as long as we stay modding here because we are using a scripting language and not a real programming one. Sure we can get far which is the point of it and the fun.
What difference does it make if its programming or scripting? We are not limited because jass is a scripting language, actually lots of game engines are written in C++ and accessed via some scripting language. The problem with wc3 and jass is simply that jass is limited because its 12 years old and intended as a language to script a real time stratey game, not to write huge mmorpgs.

I just don't see the point of why it should be made an official scripting syntax yet.
What is an "official" scripting language? Is there some international department for scripting languages where you can get ur scripting language officialized?
 
What difference does it make if its programming or scripting? We are not limited because jass is a scripting language, actually lots of game engines are written in C++ and accessed via some scripting language. The problem with wc3 and jass is simply that jass is limited because its 12 years old and intended as a language to script a real time stratey game, not to write huge mmorpgs.

What is an "official" scripting language? Is there some international department for scripting languages where you can get ur scripting language officialized?

http://www.killersites.com/blog/2005/scripting-vs-programming-is-there-a-difference/ Since it is WC3... We are indeed limited because jass is a scripting language. How aren't we limited, you said so yourself that we are limited. Yeah nowadays there is no difference because scripting has been programmed to be so powerful. You stated the difference yourself by telling me it has been 12 years.

That isn't a funny joke, rather saddening really. Last I checked we were typing about WC3's scripting so official would mean here and not some "international department".
 
Level 23
Joined
Apr 16, 2012
Messages
4,041
lets take a look at how he treats Java. Java can and usually is compiled down to assembly when required for code that runs frequently(it is compiled using JIT compilation).

Lets see the points he has:

Scripting languages today are used to build complex software.
name one, and no, complex website != complex software

Computers are so fast these days, and scripting languages are so efficient, that for most business operations, there is no practical speed advantage (that there once was,) with a compiled programming language.
http://benchmarksgame.alioth.debian.org/u64q/benchmark.php?test=all&lang=gpp&lang2=php&data=u64q
yes, 80 times slower code is really no speed disadvantage, totally

but lets get back on topic, this is meant to be vJass vs Wurst, not Scripting languages vs programming languages topic, go open one in programming subsection(if there is none, go to offtopic)


I will add my few cents(again :D): I have nothing against Wurst and it is in many ways better than vJass, but I dont think you can depracate something that still many people use and many resources are written in(not necessarily any new, but very high quality resources are in vJass[not all])
 
lets take a look at how he treats Java. Java can and usually is compiled down to assembly when required for code that runs frequently(it is compiled using JIT compilation).

Lets see the points he has:


name one, and no, complex website != complex software


http://benchmarksgame.alioth.debian.org/u64q/benchmark.php?test=all&lang=gpp&lang2=php&data=u64q
yes, 80 times slower code is really no speed disadvantage, totally

but lets get back on topic, this is meant to be vJass vs Wurst, not Scripting languages vs programming languages topic, go open one in programming subsection(if there is none, go to offtopic)


I will add my few cents(again :D): I have nothing against Wurst and it is in many ways better than vJass, but I dont think you can depracate something that still many people use and many resources are written in(not necessarily any new, but very high quality resources are in vJass[not all])

What difference does it make if its programming or scripting? We are not limited because jass is a scripting language, actually lots of game engines are written in C++ and accessed via some scripting language. The problem with wc3 and jass is simply that jass is limited because its 12 years old and intended as a language to script a real time stratey game, not to write huge mmorpgs.

What is an "official" scripting language? Is there some international department for scripting languages where you can get ur scripting language officialized?


You came in from no where edo494 so yeah lets get back on topic instead of derailing it. JASS is a scripting language and my reply was to muzzle I am pretty sure I quoted it too. I don't think you can open up a question about JASS in a programming subsection...

I think wurst should be welcomed, but shouldn't be allowed in contests unless the judges agree for that certain contest.

An article stating how it is scripting and not programming yeah Frotty.
 
Level 23
Joined
Apr 16, 2012
Messages
4,041
I see no point why Wurst shouldn't be used in contests. You basically rule out people that love and write in Wurst from any programming contest.

Not that it is too hard to rate the code, it has understandable syntax, and nothing that you couldn't find on internet/ask someone for description anyways
 
Level 22
Joined
Sep 24, 2005
Messages
4,821
If the picked judges doesn't want to read wurst then it's better to get one who is willing. The choice to include wurst lies on the facilitator of the contest, not the judges.
 
Status
Not open for further replies.
Top