Haxe. Who's using it, and what do you think?



  • So due to some spectacularly poor management decisions, I, alongside the entire staff of the small company for who I work (for one more month) have been retrenched.

    Now aside from the obvious WTF of dismissing all staff, leaving only the owners...

    One job prospect I have is a cool, interesting and fun-looking place that uses Haxe to cross-compile to iOS and Android.

    The last time I investigated Haxe (in approx 2008 maybe?), it was cross-compiling to JS, AS Bytecode and PHP. Now apparently it can do:

    Flash byte code
    Neko byte code
    Javascript source
    Actionscript 3 source
    PHP source
    C++
    Java
    C#
    Python

    That is an impressive list! So is anyone actually using it? Is it any good?

    It is a strict typed ECMA script language; my personal favourite is C# and I really like Actionscript (R.I.P), so it will feel very familiar. But I have serious doubts about cross-compilation across such diverse code bases.

    And it doesn't seem to have a huge take-up - I do not want to sentence myself to a job where most of the time is spent trying to catch/avoid/work-around obscure bugs in the cross-compiler without a decent user community support.

    So - any thoughts?



  • Is ActionScript dead? What is Flash using now?



  • Flash still uses Actionscript but Steve Jobs effectively killed flash when he decided that the ease of dev in AS was such that every designer who wanted to code, could, and did. Hence memory leaks which the iPad/iPhone v1 was ill-equipped to deal with. Sure, its pretty shit when the banner ad with that 'rad' animation crashes your entire device, so he has a point. But killing a platform because your hardware can't deal with it is a little cynical.

    I don't really agree with him, and it is a little irritating that a fun language has been killed for basically commercial reasons.. but Adobe brought it upon themselves in many ways.

    AS still has a couple of roles - interactive touch screens and some mobile apps, via AIR, but it is pretty much dead.



  • Well to be fair, Flash was a stagnant cesspool during the ActionScript 2 era. But when Microsoft kicked them in the butt with Silverlight, ActionScript 3 was actually quite good.



  • The real casualty was Silverlight. Flash Is Bad™ was followed by Silverlight Is Kinda Sorta Like Flash So It Must Be Bad Too™.

    Then there was that couple years of Microsoft saying "Silverlight's not going anywhere, we're fully committed to it" suddenly followed by "Silverlight 5 is the last release and the team is getting re-assigned to other work." :facepalm:

    Of course, I may be biased since I have several years worth of Silverlight experience.



  • Silverlight was a brilliant product released 5 years too late.



  • A product @blakeyrat likes? It must be fucking terrible then.



  • Really?

    I only ever heard of it as a shit Flash wanna-be. I've not worked with it ever.



  • @scudsucker said:

    Really?

    I only ever heard of it as a shit Flash wanna-be. I've not worked with it ever.

    Silverlight is just a slightly-stripped-down version of WPF and hosted within a web browser. It was really ideal for internal applications because you didn't have to deal with installation and distribution, didn't have to deal with differences between sucky web browser implementations, and best of all you get to use C# and a large portion of the .NET Framework.



  • When it came out I'd been working with Flash 8 and ActionScript 2 to create an analytics package that you could "plug in" to any Flash media.

    It was impossible. We had to customize it for every product. It was a huge PITA. There was just no way to automatically spelunk in the code and find stuff to install handlers on, you had to manually do it with everything.

    Then Silverlight 1.0 came out and I was assigned to make the same thing for Silverlight. Not only did Silverlight have a consistent DOM allowing us to attach all the right event handlers in the right spots, but Silverlight could dive into the DOM of the webpage it was running on. So we could just call the tracking JS already on the page!

    But wait, then it gets better, because with Silverlight you can do it the other way around also! Meaning, we didn't even NEED to write a Silverlight plugin, because we could just have our existing JS dive inside the Silverlight's DOM and install the event handlers it needed there. You can't do that shit with Flash.

    Anyway, I've never used Haxe.



  • Ja, Flash has serious limitations (the VM being one major one).

    I did like it though, it was my first language (Flash 4) so I have a certain amount of nostalgia.



  • Never even heard of Haxe. Considering the impressive list of features, I suspect there are dragons lurking underneath.
    If you want cross-platform mobile development, the safe bet these days is Xamarin. Miguel de Icaza rocks.



  • I've never heard of Haxe either, Xamarin is mostly a safe bet, but at the same time, there be dragons there too.



  • I've been searching around - the community does not seem huge or active, and even the Haxe official site points to Stack Overflow as a potential source of help... and most questions there are unanswered, or only have one answer. Not a thriving Q&A.

    As soon as I saw the numerous output possibilities I started to get nervous - nothing like debugging a cross-compiled app to a language you know little of, with zero help from the internet...


  • 🚽 Regular

    I briefly flirted with Haxe a while ago but I ended up not really spending more than a couple of days on it for lack of time and later drop of interest. So I don't feel entitled to give an informed opinion on it.

    @scudsucker said:

    It is a strict typed ECMA script language
    Not really. Like the thread I linked to shows, there are some incompatibilities:

    • there's no implicit conversion of truthy/falsy values to Bool (not necessarily a bad thing);
    • there is no unary plus (never mind that it doesn't add* anything to the language);
    • whitespace isn't accepted between a property name and the dot that precedes it.
    • possibly other stuff I don't remember.

    * Pun intended


  • 🚽 Regular

    Before pedantic dickweeds attack, unary plus does add something: a dirty one-character coercion to number type.



  • @Zecc said:

    Before pedantic dickweeds attack

    TDWTF did that radio drama a while ago; next up, a movie:

    Attack of the Pedantic Dickweeds!



  • Then in the series, "When Pedantic Dickweeds Attack".

    In fact, the series...

    The Phantom Pedantic Dickweed
    Attack of the Pedantic Dickweeds
    Revenge of the Pedantic Dickweeds
    A New Pedantic Dickweed
    The Pedantic Dickweeds Strike Back
    Return of the Pedantic Dickweeds



  • The series got a bit "same-y" and stale, so they completely rebooted it with:

    Well, Actually...



  • I must point out that those titles should be italicized1,2,3,4 and many others. The AP style guide uses quotation marks for movie titles4, so your first line is acceptable by that standard. However, whichever style you chose, you should be consistent.



  • I'm trying to work out if this is "Return of the Pedantic Dickweeds" or "Attack of the Pedantic Dickweeds".



  • How about Flag offor the Pedantic Dickweeds? I'm still trying to get my badger.


  • ♿ (Parody)

    @HardwareGeek said:

    I'm still trying to get my badger.

    Be more careful what you wish for, then.



  • More dickweedery and/or pedantry required.


  • Discourse touched me in a no-no place

    There's also Pedantic Dickweeds on a Web Forum.

    Tagline: “Get these mthrblgmng Pedantic Dickweeds off this mthrblgmng Web Forum!”



  • Pulp Dickweeds?


  • ♿ (Parody)

    Evil Pedants: Dickweed by Dawn
    Army of Dickweeds


  • Discourse touched me in a no-no place

    The Good, the Bad and the Pedantic Dickweed.


Log in to reply