Recently, I’ve been using a new programming language; that programming language is known as Haxe. 

Now I know a majority of people use languages like JavaScript, Typescript, C#, and so on. I use those languages too. But, today I’m here to mention why Haxe may be an option as well for game development and beyond, with some features you don’t usually find anywhere else. So, let’s start with the syntax.

 

 

Syntax

For anyone used to Java, JavaScript, or Typescript, Haxe will have you feeling right at home. It’s very similar to those languages in the way it is read and written,  except we have static type analysis. That is very powerful and allows us to deal with many issues before the code is compiled and used in the final product. Now that’s one benefit, but there are more including the standard library.

 

 

Standard Library

Haxe has a large standard library, with a variety of features that you wouldn’t find in say out of the box JavaScript. A couple of them are Lists, Maps, a comprehensive Math library, string utilities, macros, support for metaprogramming, and more.  You can even extend the basic types in the language with your own code with ease if you find something you want not supported.

The process is definitely a bit cleaner than JavaScript in that regard. But a standard library is not enough to get anyone to switch over to a new language.

I have used a lot of languages and very often I don’t need a lot of fancy tools, but Haxe has something great in its compilation targets.

 

Multiple Compilation Targets

Unlike other languages, Haxe compiles to multiple languages. Some of these targets include Java, C++, JavaScript, Python, PHP, and more. Having multiple compile targets allows you to write your code once and bring it with you to multiple platforms wherever you need it. 

Additionally, depending on which platform you choose, you can get a performance boost by compiling to native code. 

Awesome right? But there’s more.

 

Externals

Haxe allows you to interface with those target languages and use the code within by using an FFI(Foreign Function Interface) Essentially, it’s a way to use the target language code within your Haxe code before compiling.

The above features are some of the extremely powerful tools available to you when writing programs in Haxe. There are a lot more which we will mention in another blog post.

 

Until then, hope this helps and good luck game making!

%d bloggers like this: