Closed Simn closed 4 years ago
I think it's a bit misleading and does not directly translate to the quality of the target itself. For instance the Neko target, while almost deprecated, works very well with almost no known bugs (apart from missing Unicode support). Whereas there's much more known issues in C# target for example.
So I think a better way would be to have a single line of "current status" for each target, which does not exactly translate into tiers, but gives a more precise information regarding the target status and future evolution.
For instance, for my own targets, that would be:
HashLink : stable, ongoing development Neko : stable, lacks Unicode support, will be deprecated in medium term in favor of HashLink and Eval
My motivation here is to steer people towards using higher tier targets given a choice, which we can achieve nicely this way.
Not sure if we really have to go into much more detail here. I like the idea of being able to say "Look, this target is only tier 3 support, so fixes may take a long time". I find that much more tangible than some notion of "stable".
Stable and bug-free is dependent on the amount of use the target has, less used ones will have less bug report.
And we can assume that all the targets have a least one bug, and that one bug will bother at least one user. A good information is: will it be fixed and how soon?
Like the c# and java target have a whole class of potential or reported bugs with type parameters and casting, but nobody really want to touch that can of worms.
Tier of support can inform target choice imo.
C++ needs to be a Tier 1 priority ?
I would like to document a target tier list which indicates how much focus we put on individual targets. My suggestion:
Tier 1
Actively maintained by the core compiler team with a strong focus from the Haxe Foundation
Tier 2
Maintained mostly by individuals in their free time
Tier 3
Kept up-to-date, but not much active development
Tier 4
Essentially deprecated