What the general idea of HL target? I know, that it is a VM and compiles fast and can be compiled as C.
But hxcpp already had a CPPIA, which is sometihng like VM and compiles fast. AFAIK it can access to native things thru host app. Also, hxcpp can use C libs as well.
So, I know it’s a general question, but why HL?
Isn’t it will be better to improve hxcpp and cppia?
The problem I see is that only Hugh works on cpp target (in general). And only @ncannasse works on HL (in general). Isn’t it better to work together on something one?
Also, from the user side, it’s not easy to support externs for both native targets.
And as a user I’m worrying about future of HL, because it is started as Neko which is pretty dead now. What will happend, when HL will stops active development? How many developers will support it? Will it die as a Neko?
While I don’t know the specific differences between HashLink and hxcpp/cppia, I’m delighted that Haxe has HashLink. I think it’s very good for a language to have its own flagship implementation, and though I’m new here, it appears to me that HashLink is (or is headed to be) precisely that (in Haxe’s case, back-end) for Haxe (superceding Neko, I presume).
It’s, of course, pretty common for popular languages to have one standard implementation by the core team, and then also have other 3rd-party community -provided/-supported implementations (for example, Python has the official CPython, but there’s also PyPy, MicroPython, Jython, etc. D has its DMD-front-end, and the standard DMD back-end, but also has the GDC and LDC back-ends. There’s lots more examples).
I imagine it must be a lot of work for the Haxe core team to maintain so many target implementations. And targets may come and go (heh, literally “moving targets”
:)). For sustainability, I’d expect that each target platform would have key contributors who are invested in that particular platform and thus help keep that Haxe target implementation current. Whereas, the core team would focus primarily on the Haxe front-end plus the flagship back-end (HashLink). (That said, I’m not familiar with Haxe development history here.)