- Joined
- Jul 26, 2006
- Messages
- 49
I haven't introduced Andromeda here yet, but since I see people being annoyed by GUI I'll catch up on it now.
So, what is Andromeda? Short answer: An object oriented extension language to galaxy.
Why should you use it? If you used vJASS or something similar for WC3 you will like it, because it is compareable to it, but even now in its beta stadium more sophisticated (does typechecking, finds dead code and unused stuff, does optimizations,...).
We are some map makers from germany and already did much stuff for Warcraft 3. I made Castle Fight, YouTD and GMSI, a script language to alter Warcraft 3 maps procedurally ("makefiles for maps") and I specialize in compiler construction at my studies. My mate tolleder has experience in mpq handling and blizzard's file formats. So we have some pretty good starting point for creating a hopefully good extension language.
Let me shortly introduce our main goals to you:
The language is totally written in JAVA so it is (hopefully) platform independent. Even the mpq handling code (not yet included, but already working, more or less) is completely written in java without any storm.dll or sfmpq.dll that would break the platform independance.
We are also cooperating to create an IDE for it, which has all the cool stuff you want (code completion, parsing at realtime (i.e. see an error after you did it, not only when you press the compile button, as known from eclipse).
Roadmap that shows an overview of all features and how far they are implemented. Also download is available here (scroll down to the bottom).
Specification: Detailed description of all features, their syntax and their semantics. Every feature that is described here is already working in the current release.
Any comments welcome, I'll try to answer all question that you might have
.
So, what is Andromeda? Short answer: An object oriented extension language to galaxy.
Why should you use it? If you used vJASS or something similar for WC3 you will like it, because it is compareable to it, but even now in its beta stadium more sophisticated (does typechecking, finds dead code and unused stuff, does optimizations,...).
We are some map makers from germany and already did much stuff for Warcraft 3. I made Castle Fight, YouTD and GMSI, a script language to alter Warcraft 3 maps procedurally ("makefiles for maps") and I specialize in compiler construction at my studies. My mate tolleder has experience in mpq handling and blizzard's file formats. So we have some pretty good starting point for creating a hopefully good extension language.
Let me shortly introduce our main goals to you:
- Being totally compatible to galaxy, allowing for the use of 'legacy' galaxy code (all galaxy code also compiles with the Andromeda compiler, but might get optimized)
- Providing object oriented paradigmns (Classes, Interfaces, "Enrichments", Inheritance, Generics and even reflection (partly, as much as possible with galaxy code), ...)
- Deep syntax analysis for finding possible errors (dead code, unused variables / functions, ...)
- Comprehensive Code optimization (function inlining, removing comments and whitespace, resolving constant expressions, ...)
- Convenient constructs that are found in most languages but missing in galaxy (++/--, for loop, for each loop, casts, block comments, overloading ...)
- Help for debugging, by allowing to override native (and thus track) function calls and other debugging stuff (we are even working on a debugger for it).
- Preprocessing for adding some code in debug mode for example (#ifdef, #define, ...)
- Speed. Andromeda was coded to be fast. Even if it is written in Java, it can parse, check and compile the native libraries (around 3000 lines of code) in only 0.3 seconds on my machine.
- We sticked to the JAVA specification wherever possible. So the language syntax (especially the object oriented one) is copied from java, so if you can write a java class, it is probably also correct Andromeda code. However, we added some non-java stuff like accessor methods and some syntax to stay compatible to galaxy (structs, typedef,...).
The language is totally written in JAVA so it is (hopefully) platform independent. Even the mpq handling code (not yet included, but already working, more or less) is completely written in java without any storm.dll or sfmpq.dll that would break the platform independance.
We are also cooperating to create an IDE for it, which has all the cool stuff you want (code completion, parsing at realtime (i.e. see an error after you did it, not only when you press the compile button, as known from eclipse).
Roadmap that shows an overview of all features and how far they are implemented. Also download is available here (scroll down to the bottom).
Specification: Detailed description of all features, their syntax and their semantics. Every feature that is described here is already working in the current release.
Any comments welcome, I'll try to answer all question that you might have