I used haxe a lot in the past, but with the newer enhancements to JavaScript I found that I ended up using JavaScript. Destructuring assignment arrow functions and more concise object literals, ... operator enable much more concise and readable code. Haxe seems to be much more conservative in development. Haze is aquiring arrow functions but I think there was quite a degree of initial resistance to the notion. I prop…
Sucks to hear about your experience. Like you said yes arrow functions are slated for the next major release. As for the process, I think it has become a little more stringent for sure. To submit a request for consideration you’d need to submit a proposal on GitHub with attention paid to impact to existing code and impact on future Haxe features- perhaps your feature request wasn’t deemed to be thought out enough? It…
The Joy of Haxe
71–80 of 91 posts
Re: The Joy of Haxe
#72I used haxe a lot in the past, but with the newer enhancements to JavaScript I found that I ended up using JavaScript. Destructuring assignment arrow functions and more concise object literals, ... operator enable much more concise and readable code. Haxe seems to be much more conservative in development. Haze is aquiring arrow functions but I think there was quite a degree of initial resistance to the notion. I prop…
Sucks to hear about your experience. Like you said yes arrow functions are slated for the next major release. As for the process, I think it has become a little more stringent for sure. To submit a request for consideration you’d need to submit a proposal on GitHub with attention paid to impact to existing code and impact on future Haxe features- perhaps your feature request wasn’t deemed to be thought out enough? It…
Why the automatic defense of the Haxe team? Frankly, small communities like this sometimes come across as cult-like in their response to criticism, and it isn't a good look.
Here's the proposal in question: https://github.com/HaxeFoundation/haxe-evolution/pull/51
Here's the process which wasn't followed: https://github.com/HaxeFoundation/haxe-evolution. Very little discussion, no public vote, even though the proposer put in the effort and clearly wanted to engage.
When someone puts in the effort to make a proposal like this, this bait and switch is not a way to keep them around, and insulting them in HN comments isn't any better.
Re: The Joy of Haxe
#73Earlier quoted context omitted.
Well TypeScript also had a huge corporation with infinite budget and a large full time team of contributors and evangelists which probably helped adoption.
Counter-example: Dart. If corporate support is a definite factor, Dart would have taken off way earlier than now. A bigger factor in TypeScript's success would be the ability to gradually migrate the projects as it's a superset of JavaScript. How do you start migrating? Flip the file extensions from .js to .ts with loose compiler options, then gradually add typing as the options are tightened. It's factors like these…
Disclaimer: have never used Typescript.
Re: The Joy of Haxe
#74Earlier quoted context omitted.
You were probably thinking of GWT and/or Closure-Compiler
Side note: it really pisses me off that Google picks language and tool names that have really poor SEO and are often names for existing CS concepts. Go and Dart have terrible SEO, and Chrome and Closure already mean something in their fields. Drives me nuts.
I find that searching on "golang" generally does the trick.
Re: The Joy of Haxe
#75Earlier quoted context omitted.
Sucks to hear about your experience. Like you said yes arrow functions are slated for the next major release. As for the process, I think it has become a little more stringent for sure. To submit a request for consideration you’d need to submit a proposal on GitHub with attention paid to impact to existing code and impact on future Haxe features- perhaps your feature request wasn’t deemed to be thought out enough? It…
>perhaps your feature request wasn’t deemed to be thought out enough? Why the automatic defense of the Haxe team? Frankly, small communities like this sometimes come across as cult-like in their response to criticism, and it isn't a good look. Here's the proposal in question: https://github.com/HaxeFoundation/haxe-evolution/pull/51 Here's the process which wasn't followed: https://github.com/HaxeFoundation/haxe-evolu…
Re: The Joy of Haxe
#76Like the author, I too have the same opinion after having used Haxe for over 5 years. Five years on from starting with Haxe at FontStruct, I’m genuinely surprised to find that I feel no regret whatsoever regarding our decision to go with the technology. I absolutely adore the language. Not only is it awesome at transpiling/compiling to native across this whole spectrum of targets, the language itself keeps surprising…
hmm, there are #if js/#elseif flash blocks in the drawing example using canvas - does that mean the basic drawing is not cross-platform?
Some libraries that work on top of Haxe can give you a standard API that’ll let you not have to conditional compile (OpenFL, NME), but in general there’s a lot of trade offs that need to be considered at a platform level for drawing that conditional paths for drawing aren’t too uncommon.
Re: The Joy of Haxe
#77Earlier quoted context omitted.
Counter-example: Dart. If corporate support is a definite factor, Dart would have taken off way earlier than now. A bigger factor in TypeScript's success would be the ability to gradually migrate the projects as it's a superset of JavaScript. How do you start migrating? Flip the file extensions from .js to .ts with loose compiler options, then gradually add typing as the options are tightened. It's factors like these…
Dart suffered from corporate politics, Chrome team wasn't really into it, got rescued by Ad Words team, and now are trying to become relevant outside Google with help Flutter. If Chrome team actually cared about Dart and went ahead with Dartium's integration, Dart's future would have been much different. Then the Angular team decided to dump Dart and go with Typescript. So politics as usual.
I think it was smart of Google of giving it a fair trial and cut its loss when it was time before it got embarrassing or "coffeescript costly" for many developers.
The problem is that all of those new "beautiful" languages is that they trade pragmatism for purity, but at the end, we all have stuff to build, and at the end of the day, a well known, well tested, and good enough language with some modern construct (a la TypeScript and ES2016+) can become a very powerful tool to build small to big code base, whereas a beautiful near perfect languages would have brought us lot of development frictions or little exhilaration.
There is a reason why the Chrome team was not really into it, and they might have been right, but regardless, they should not be blamed for Dart's fall. As developers, I do not think we want another GWT or Google Gear kind of experience.
TypeScript is successful because it solves the right problem the right way, i.e., adding type without changing everything else around it.
Re: The Joy of Haxe
#78Earlier quoted context omitted.
I’ve only had the opposite experience. I worked on a team that inherited a large Haxe codebase for an online education tool, and we found Haxe to be exceedingly bad, even apart fron the nature of the code we inherited. We spent a lot of time porting most of it to a mix of Scala and Javascript. I still remember the daily emotional stress of working in Haxe. ... shudders
I'm shuddering over the thought of porting and maintaining the scala and js code. Are you using Scala.js?
Re: The Joy of Haxe
#79Earlier quoted context omitted.
>perhaps your feature request wasn’t deemed to be thought out enough? Why the automatic defense of the Haxe team? Frankly, small communities like this sometimes come across as cult-like in their response to criticism, and it isn't a good look. Here's the proposal in question: https://github.com/HaxeFoundation/haxe-evolution/pull/51 Here's the process which wasn't followed: https://github.com/HaxeFoundation/haxe-evolu…
Where’s the insult? I can’t speak for the community or who did what. If anything I’m looking to see what can be done going forward.
>perhaps your feature request wasn’t deemed to be thought out enough?
Why jump to finding fault with the OP, rather than accepting feedback about the process? AFAICT you didn't actually check OP's proposal before assuming it was lacking. And OP's experience isn't unique.
You're evangelizing Haxe in this thread, but here you just paper over valid criticism:
- "arrow functions are slated for the next major release": sure, it only took four years!
- "I also think most languages’ directions are decided by committee in a similar way": I'm not aware of any other language that has a proposal process inviting community participation, but doesn't follow it and discusses those proposals in private. Point me to one. Surely you can understand that this can be frustrating when someone tries to participate and is shut out.
- "I’m sure the Haxe community would love to see examples..."
I would be pleasantly surprised if I saw the Haxe Foundation engage in some introspection and actually take steps to change or at least be more transparent. So far I don't see any introspection, only defensiveness.
And FWIW, I used to be part of that internal Slack channel for team members and was a Haxe contributor. I tried to make progress on these issues for years before giving up.
Re: The Joy of Haxe
#80Earlier quoted context omitted.
> perhaps your feature request wasn’t deemed to be thought out enough? In which case surely it should be discussed, rather than shut down with "no"? This thread had me interested in Haxe, but reading these comments about the unfriendly, negative responses to proposals has put me right off.
To play devils advocate: if every feature request had to be thoroughly discussed you’d never get anywhere.. the onus should be on the proposer. That said, you can always file an issue in github and have a discussion there. For Haxe it’s a very active location for discussion there.
I'll bite: what should @Lerc have done differently in his proposal (https://github.com/HaxeFoundation/haxe-evolution/pull/51)?