Is haxe alive or dead?

I would agree that the TypeScript DX is more stable, even though inferior. The amount of tricks added in vshaxe is impressive, but the moment you start using macros, it starts degrading and it’s hard to stay on top.

But I think it was never about DX in the first place. It’s easy to point at the places where it’s obviously annoying, but if you look at which languages are popular, DX is typically not a factor - to the contrary: once a language becomes popular enough, the community is big enough to put enough energy into DX.

TypeScript won so clearly over Haxe in web development for two reasons:

  1. One thing we could do something about, although I’m not sure it would move the needle: Haxe is built for games and typically just rejects everything outside that domain. On one side there is the open disdain for web development, that leads to sweeping rejection of anything that would be useful there, whether it’s good or not. On the other side is how poor the type system is when it comes to readonly/immutable types. Haxe has so much cool stuff taken from functional languages, but the way it deals with mutability makes it superbly awkward to have meaningful guarantees, at the best of times. Which traces back to the fact that Haxe is so deeply steeped in gamedev culture, where mutation is preferred over allocation, because some runtimes can’t handle it all too well.
  2. One thing that we have to accept as a given: Most web apps are barely working code put together by mediocre developers. To be clear: there’s nothing wrong with either. Clearly, there’s a market for those apps and clearly it doesn’t require skilled programmers to create those. But: Haxe is not particularly aimed at that use case or that crowd and it never will be. In fact it is the diametrical opposite. Most web devs just wanna play it safe. In one of my recent TypeScript projects, the amount of crap I got simply for choosing Preact over React (which is 98% the same thing, but a fraction of the size and much better runtime characteristics) is unimaginable to a thinking person.

Realistically, Haxe never really competed with TypeScript, simply because the audiences are so different. What I think is a bit of a missed opportunity is that Haxe failed to capture a large enough niche in webdev, like for example Gleam, that Franco mentioned. Haxe definitely has the potential for that and it’s truly heart breaking to not see that happen.

5 Likes