Recs.
Updated
Haxe is an open source toolkit based on a modern, high level, strictly typed programming language, a cross-compiler, a complete cross-platform standard library and ways to access each platform's native capabilities.
SpecsUpdate
Pros
Pro Very fast compiler
The Haxe Compiler is very efficient and can compile thousands of classes in seconds. It allows you to experiment a lot without wasting your time.
Pro Compiles to multiple platforms and languages
Haxe allows you to develop for Web, iOS, Android, Blackberry, Windows, OSX, Linux and others, all at once, without the need to switch languages and maintain separate code bases.
This is possible because Haxe can compile to JavaScript, ActionScript, Flash AVM bytecode, C++, Neko, PHP, C# (.NET) and Java.
Support for even more platforms and languages is under development.
Pro Pick up errors at compile time
One big advantage over pure javascript, (or some other languages listed here) is that Haxe will pick up a whole range of errors when you compile, saving you the pain of having to try and debug them later. This includes everything from syntax errors ("Unexpected ;") to type errors ("Class user has no field username. Suggestion: username").
Pro Stencyl has Haxe inside
Stencyl is the tool to make games and write logic using blocks (similar to Scratch). But also, when users need more flexibility, they can use Haxe to create and share their own blocks, extend the engine through code, import libraries and write their own custom classes that interact seamlessly with block-based Behaviors. It allows transition from block model to code more easy and natural.
Pro Powerfully expressive but easy to learn
The language was designed to be very expressive with the smallest possible amount of syntactic sugar. There are actually fewer keywords than other languages with similar power.
Cons
Recommendations
Comments
Flagged Pros + Cons
Pro One language to rule them all
It has cross-compiler allowing to compile one codebase to many different target platforms. Here is the list.