haXe (pronounced as hex) is an open source programming language.
While most of the other languages are bound to their own platform (Java to the JVM, C# to .Net, ActionScript to the Flash Player), haXe is a multiplatform language.
It means that you can use haXe to target the following platforms :
Flash : You can compile a haXe program to a .swf file. haXe can compile for Flash Players 6 to 10, with either “old” Flash<8 API or newest AS3/Flash9+ API. haXe offers very good performance and language features to develop Flash content.
PHP : You can compile a haXe program to .php files. This enable you to use a high level strictly-typed language such as haXe while keeping full compatibility with your existing server platform and libraries.
NekoVM : You can compile a haXe program to NekoVM bytecode. This can be used for server-side programming such as dynamic webpages (using mod_neko for Apache) and also for commandline or desktop applications, since the NekoVM can be embedded and extended with some other DLL.
C++ : Currently in testing, with the right build of haXe from Hugh Sanderson, you can now output your haXe applications to pure C++ source code, complete with makefiles.
The idea behind haXe is to let the developer choose the best platform to do a given job. In general, this is not easy to do because every new platform comes with its own programming language.