Recs.
Updated
Haxe is an open-source strictly typed programming language, that transpiles into multiple programming languages. You can use Haxe to target many different platforms, like Java, Javascript, PHP, Python, Actionscript 3 or Flash SWF. It also supports transpilation to C++, C# or Lua.
SpecsUpdate
Pros
Pro Create without needing to be limited to a language, target, or commercial ecosystem
Pro Large library support, from servers to games
Haxelib (common library repo) and other sources contain large codebases for anything from cryptography to communications. A lot of these are fully cross platform and work with the JavaScript target.
The JavaScript target can be used for everything from node.js server applications (with code completion) to games using either the Flash-like OpenFL library or direct canvas or WebGL programming.
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.