• 🏆 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!
  • It's time for the first HD Modeling Contest of 2024. Join the theme discussion for Hive's HD Modeling Contest #6! Click here to post your idea!

What is JASS?

Status
Not open for further replies.
Level 7
Joined
Jan 23, 2011
Messages
350
What is JASS? JASS is a scripting language for the WorldEdit
I mean.. there is no much answer to the question "what is?"
Is GUI, but, not friendly for the noobie, is really no superpower to the WorldEdit (except for the Memory library xD )
 
Last edited:
Level 21
Joined
Dec 4, 2007
Messages
1,478
I'm currently trying to learn JASS, after years of GUI usage.
It's giving me a hard time, mainly because i have to be very careful with syntax and finding the right function for the job.

Also: JASS - Wikipedia
 
No I dont use newgen nor WEX I just use the normal editor

Coding JASS is hard in the normal editor. Syntax errors can make the editor crash, and the JASS editor is essentially a notepad.

I would suggest using WEX or JNGP and you will instantly see the improvements it makes to the JASS editor (with TESH).
 

Dr Super Good

Spell Reviewer
Level 64
Joined
Jan 18, 2005
Messages
27,198
JASS is the scripting language Blizzard invented for StarCraft 1. They kept the same scripting engine for Warcraft III and upgraded it into JASS2.

JASS is technically a programming language of sorts, however people usually call it a scripting language due to its high level nature. JASS scripts are compiled into JASS bytecode on map load which is then executed by a JASS virtual machine for improved execution speed. The language syntax seems to take ideas from BASIC, in that it uses keyword block terminators (eg endfunction, endif, endloop) rather than indentation (eg Python) or bracers (JAVA/C). JASS was not reused in StarCraft II, with Blizzard making a new C like language called Galaxy for its scripting purposes. The GUI of StarCraft I and Warcraft III compiles into JASS on map save.

JASS has a few major pitfalls. The language allows the declaration of only 1 globals block per script, making declaration of global variables cumbersome. Although the code is compiled to JASS bytecode, it still has to resolve every named element at execution time greatly limiting performance. The on load JASS compiler lacks optimization features resulting in extremely verbose and inefficient JASS bytecode. The JASS virtual machine lacks JIT compilation to native code also reducing performance. JASS lacks many basic operators that are often taken for granted in other programing languages such as all bitwise operators.
 
  • Like
Reactions: pyf
Status
Not open for further replies.
Top