• Listen to a special audio message from Bill Roper to the Hive Workshop community (Bill is a former Vice President of Blizzard Entertainment, Producer, Designer, Musician, Voice Actor) 🔗Click here to hear his message!
  • Read Evilhog's interview with Gregory Alper, the original composer of the music for WarCraft: Orcs & Humans 🔗Click here to read the full interview.

What coding language to use

Status
Not open for further replies.
Level 5
Joined
Aug 9, 2019
Messages
58
Hi everyone!
I am currently working on creating my own ORPG map and as I am slowly finishing terrain and planning other things, I would soon need to decide whether I use GUI or something else. I have some minor experience with GUI (still practising), but I saw on the forums that people recommend to JASS,vJass, LUA, Wurst for example. I do not have a lot of experience in coding, and my map would involve lots of bosses and characters with different mechanics. What would be your recommendation as to which language to use for beginner like me and for that type of map?
 

Uncle

Warcraft Moderator
Level 70
Joined
Aug 10, 2018
Messages
7,380
For starters Jass and vJass are basically the same thing. Jass has been around since day 1 and is the default programming language for Warcraft 3.

Lua was introduced in patch 1.31 and is the most recent programming language made available to us by Blizzard. It's a much better alternative to Jass, aside from maybe some annoying desync issues (which can be avoided).

I don't know much about Wurst but I know it's been around for a while. It's definitely a better alternative to Jass and seems to have some great documentation which would help get you started.

Then there's TypeScript and C#, which are both made available due to the introduction of Lua:

My personal favorite is C#. I think this programming language is the most beginner friendly of them all BUT keep in mind I've never tried TypeScript or Wurst. One reason I like it so much is that the free game engine Unity uses C# as well. This means that your code could be transferred over to an incredibly popular game engine. For example, the Steam game Legion TD 2 was created in Unity.

The issue with C#/TypeScript/Lua is that they haven't been around in the Warcraft scene as long as the others so resources and documentation for these can be scarce. Lua has received some love from creators like Bribe and Tasyen so that's a big plus.

I suppose a good strategy would be to start out with Lua and learn Jass alongside it (that sort of happened naturally for me). Then maybe make the jump to either TypeScript or C# if you want to work with languages that I think are easier to digest/use than Lua.
 
Last edited:
Level 7
Joined
Dec 9, 2014
Messages
91
As someone that learned how to code through Warcraft 3, I think simply learning jass is the best starting point. If C#/TypeScript/Lua had been around for a long time then it would be a different story, but they haven't and there isn't enough documentation especially for people totally new to coding. Reading threads about these languages for Warcraft 3 will confuse the hell out of you as they will assume some level of general language knowledge. On the other hand there is a lot more for noobs about getting started with Jass so the syntax will be easier to learn and your code will be easier to debug by searching up questions on Hive.

Once you got the basics of Jass down you could consider switching to one of the other languages as they will make your code more flexible and easier in the long run. But you can't even really unlock the potential of these languages if you don't know basic coding principles anyway.
 
Level 5
Joined
Aug 9, 2019
Messages
58
For starters Jass and vJass are basically the same thing. Jass has been around since day 1 and is the default programming language for Warcraft 3.

Lua was introduced in patch 1.31 and is the most recent programming language made available to us by Blizzard. It's a much better alternative to Jass, aside from maybe some annoying desync issues (which can be avoided).

I don't know much about Wurst but I know it's been around for a while. It's definitely a better alternative to Jass and seems to have some great documentation which would help get you started.

Then there's TypeScript and C#, which are both made available due to the introduction of Lua:

My personal favorite is C#. I think this programming language is the most beginner friendly of them all BUT keep in mind I've never tried TypeScript or Wurst. One reason I like it so much is that the free game engine Unity uses C# as well. This means that your code could be transferred over to an incredibly popular game engine. For example, the Steam game Legion TD 2 was created in Unity.

The issue with C#/TypeScript/Lua is that they haven't been around in the Warcraft scene as long as the others so resources and documentation for these can be scarce. Lua has received some love from creators like Bribe and Tasyen so that's a big plus.

I suppose a good strategy would be to start out with Lua and learn Jass alongside it (that sort of happened naturally for me). Then maybe make the jump to either TypeScript or C# if you want to work with languages that I think are easier to digest/use than Lua.
Thank you so much for your reply,Uncle. I will definetly look into resources you provided and you did echoed some sentiments that I was worried about picking up Lua for example,since it hasn't been around that long. I was looking at resources and tutorials on JASS and Lua, and Jass wins overwhelmingly in that department, so I guess I will start with Jass and research other options.
 
Level 5
Joined
Aug 9, 2019
Messages
58
As someone that learned how to code through Warcraft 3, I think simply learning jass is the best starting point. If C#/TypeScript/Lua had been around for a long time then it would be a different story, but they haven't and there isn't enough documentation especially for people totally new to coding. Reading threads about these languages for Warcraft 3 will confuse the hell out of you as they will assume some level of general language knowledge. On the other hand there is a lot more for noobs about getting started with Jass so the syntax will be easier to learn and your code will be easier to debug by searching up questions on Hive.

Once you got the basics of Jass down you could consider switching to one of the other languages as they will make your code more flexible and easier in the long run. But you can't even really unlock the potential of these languages if you don't know basic coding principles anyway.
Thanks for sharing your experience, it seems to me based on your and Uncle's reply in this tread, and based on my research, starting from Jass seems like the most optimal way to start.
 
Status
Not open for further replies.
Top