Quote from: Karune (Source)
StarCraft II Q&A Batch 52 : Map Maker Series
1. Does it still use the JASS language, or perhaps an upgraded version of JASS?
StarCraft II uses an entirely new scripting language, which we’ve
called Galaxy. This language is very similar to C, and anyone familiar
with programming in C will have no trouble picking it up.
2. Is the language event-driven or object-oriented?
The language itself is not object-oriented, although most of the native functionality is based around operating on game objects.
3. In comparison to the Warcraft III Editor, how much more, if
any, can the GUI of the game be edited (it was extremely limited in
Warcraft III)?
The in-game UI layout is externalized in data files to a large
extent, however there is no editor support for working with these
files. So it will be possible to customize the game UI, it just won't
be a user-friendly process.
4. Are there new noteworthy functionalities in the Starcraft II Editor, or will the new editor just have general improvements?
I can’t think of a single editor feature from WarCraft III, large
or small, which has not been improved in at least some way for
StarCraft II.
5. Will the ability to communicate among triggers, for instance via actions or conditions, be improved in the new language?
One significant new feature of the Trigger Editor is support for
custom function definitions, including actions and conditions. This
means you can create your own actions that are built up from other
actions (or custom script code), then use those in triggers just as you
would any other action.
6. How does "Hero" support differ from the Warcraft III Editor? Or is it practically identical?
We’ve been working hard to create a hero system that is even more
flexible than WarCraft III’s. For example, map makers will have the
ability to define any number of custom attributes that modify a hero
based on its level.
7. Will there be a public API for the programming language?
As with WarCraft III, there is a large set of “native” functions
representing game functionality that can be accessed through scripts.
If this is what you mean by “public API”, then yes.
8. Will there be improvements on the "Garbage Collector" for the
new language? For example, in JASS all local variables need to be set
to null at the end of their use, and certain data-types need to be
removed from the game (such as Locations) at the end of their use to
avoid memory leaks.
Galaxy features a robust garbage collection system for all native
types, which is a huge improvement over WarCraft III (which technically
did not have a garbage collection system at all). The script memory
leak issues from WarCraft III will be a thing of the past.
---End of Transmission---