1. Updated Resource Submission Rules: All model & skin resource submissions must now include an in-game screenshot. This is to help speed up the moderation process and to show how the model and/or texture looks like from the in-game camera.
    Dismiss Notice
  2. DID YOU KNOW - That you can unlock new rank icons by posting on the forums or winning contests? Click here to customize your rank or read our User Rank Policy to see a list of ranks that you can unlock. Have you won a contest and still haven't received your rank award? Then please contact the administration.
    Dismiss Notice
  3. Weave light to take you to your highest hopes - the 6th Special Effect Contest is here!
    Dismiss Notice
  4. Lead your forces to battle in the 15th Techtree Contest. The call is yours, commander!
    Dismiss Notice
  5. Check out the Staff job openings thread.
    Dismiss Notice
Dismiss Notice
60,000 passwords have been reset on July 8, 2019. If you cannot login, read this.

Making a better compile-to-Jass programming language with editor support

Discussion in 'Warcraft Editing Tools' started by [E]clipse, May 7, 2020.

  1. [E]clipse

    [E]clipse

    Joined:
    Jan 6, 2015
    Messages:
    562
    Resources:
    0
    Resources:
    0
    So one of my projects that I have been working on is this :
    inJuly0/Ave
    It's a compile to JS language with python like syntax and optional strict type checking (yet to be implemented)

    How would you guys feel about me writing a compile-to-Jass language (kinda like wurstscript but with cleaner syntax) with familiar C-like brace syntax and all ? Would anyone be interested in using such a tool ?
     
  2. TheLordOfChaos201

    TheLordOfChaos201

    Joined:
    Jul 2, 2011
    Messages:
    1,736
    Resources:
    0
    Resources:
    0
    Dude don't even try, most of the time the Hive community offers nothing but resistance when you try and make something new

    Look at my map reviewing tool that was able to pinpoint spelling mistakes and fix them, count the number of doodles, determine the percentage of flat terrain, number of tile sets used, custom items and units...etc

    They refused to approve it and I still have no idea why.

    If you do manage to make a compiler, it will likely only be useful to you because no one else will use it.

    Still good luck. I enjoyed using my map reviewer to fix my maps errors, so hopefully you can use it where others don't want to
     
  3. IcemanBo

    IcemanBo

    Joined:
    Sep 6, 2013
    Messages:
    6,488
    Resources:
    22
    Maps:
    3
    Spells:
    11
    Template:
    1
    Tutorials:
    4
    JASS:
    3
    Resources:
    22
    Tendency overall goes to Lua, having functional advantages there over JASS. And then tendency goes to more proper languages like TypeScript. There are several running Transpiler projects, compiling/transpiling to Lua.

    Wurst is a very big project and makes a really great job imo. It's used by some people, after a long fight was required.

    I would personally not need an other language for JASS, last ones from Nestharus, or Ruke for example, could sadly not completly reach a place as established tool. And I think now it's even a bit harder. Not too many coders, and even lass real JASSers now.

    But in general I think such things are cool. It definitely would make fun. :D

    I still for example waned to create a vjass++ addon for notepad. I started it looong time ago, but somehow never finished it. I believe I still will publish it, even probably maybe only the minority would find it useful.

    @TheLordOfChaos201 butthurt as fuck, lol. I don't want any doodles in my map. >_<
     
  4. Chaosy

    Chaosy

    Joined:
    Jun 9, 2011
    Messages:
    10,828
    Resources:
    17
    Maps:
    1
    Spells:
    10
    Tutorials:
    6
    Resources:
    17
    Cleaner syntax than wurst? impossible.
    It has just about removed everything that is not absolutely required.
    Or maybe clean means something else.

    Anyway... there are a lot of alternatives as it is.
    jass, vjass, zinc, lua, c#, typescript, wurst

    I am not saying your addition would make things worse.. more options is always good, I just think the time and effort could be put elsewhere as I feel like the competition is high as it is.
     
  5. [E]clipse

    [E]clipse

    Joined:
    Jan 6, 2015
    Messages:
    562
    Resources:
    0
    Resources:
    0
    Um, yeah.
    By clean I meant easier to maintain and scale.
    Optional type strict type checking , interfaces.

    and the usual syntactic sugar like list comprehensions of course. (and maybe operator overloading though I haven't figured how to do that using JASS as a target language)

    Other than Typescript and Wurst, I don't really like the other languages you mentioned for scripting.
    Lua is great , I love it. It's used in engines like Love2D and Defold for scripting but it is very lacking in terms of ease of use (enums, compound assignment operators come to mind thinking about it right off the bat). Although metatables make overloading operators very easy and comfortable. Most of these problems Lua has have been solved by Moonscript.

    C# is great for Enterprise software but for scripting and getting things done quick and easy, the verbosity is a big overhead.

    I haven't used Zinc as much to form a solid opinion of it , but I guess its a middle ground between low level languages and dynamically typed interpreted behemoths.


    Jass again, is too verbose for my liking.

    But yes, I do think you're right that the tradeoff is too low spending months after a project and only having ease of use that amounts to saving very little effort since Wurst is good enough as is. I'll probably move on and not tinker with this Idea further.
     
  6. Macadamia

    Macadamia

    Joined:
    Jan 30, 2020
    Messages:
    860
    Resources:
    0
    Resources:
    0
    Sorry to digress from this thread's subject...

    Don't assume that because mods didn't have the time or the interest in your tool means nobody is interested.

    Remember wc3 community is still alive, but not as popular as once used to be.

    The other thing that is vital to remember here, is that most Hive members are themselves developing or working hard on their own projects. Very few of them are just end users, that also explains why The Hive is not the place to make a project popular, it is rather a place to get help or exchange ideas.

    The best example is how little return you get on maps posted in the Map Resources. If someone posts a map, they're really unlikely to get reviews unless they grab attention through other means. It's not because people don't care, it's just that people here are not simply Warcraft 3 players, but people working endless hours on difficult projects.

    Hell I am so proud of my own map, but I don't expect any congratulations for it. I just do it because it's the project that keeps me going, like 99% of folks here.
    Sometimes you discover someone else's project, but that is usually by accident, and even if you do, you can't afford hours to review it completely,even if you like it.

    I understand putting a huge amount of work into a project and finally having the impression nobody cares id utterly frustrating, but this is false assumption for the reasons I just described.

    Also your software does not need to be approved to be found useful or become used, it just needs to do something people need.


    So back to you tool, where is it? IS it compatible with Reforged ?
     
  7. TheLordOfChaos201

    TheLordOfChaos201

    Joined:
    Jul 2, 2011
    Messages:
    1,736
    Resources:
    0
    Resources:
    0
    Apparently it was deleted, and the funny thing is... so was my map.

    I'm not to sure why my map was deleted along with my tool, these two are hardly related, but this doesn't mean the mods were responsible. It could have been deleted by accident, by a glitch or some other reason. I'm not really focused on the hive anymore, I guess has moved me along other paths, and time is busy. I still come here to visit because I feel a sense of duty, or rather I want to see this site prosper.

    I guess my comment didn't do much to help, hopefully the author just ignored me :p
     
  8. Macadamia

    Macadamia

    Joined:
    Jan 30, 2020
    Messages:
    860
    Resources:
    0
    Resources:
    0
    Sorry to hear that it's not available, not sure you'd have time to update it anyways, but I fail to see why people would not find such a tool useful.

    As a standalone developer for my project, I would find this really handy.
    This said it is my fault for not being around at the time, nobody forced me to take such a long break from mapmaking :D

    Anyways, sorry it didn't get the deserve attention, and as I said never give up on false impressions.... ever !

    Take care.
     
  9. [E]clipse

    [E]clipse

    Joined:
    Jan 6, 2015
    Messages:
    562
    Resources:
    0
    Resources:
    0
    Oh, sorry. I just didn't know what to say to that. Didn't mean to be rude.
     
  10. Macadamia

    Macadamia

    Joined:
    Jan 30, 2020
    Messages:
    860
    Resources:
    0
    Resources:
    0
    And you weren't.
    I can completely understand how you felt, just wanted to let you know that apparent disinterest can be a false impression :)