I have a few bugs I've encountered over the weekend:
1. The Linux binaries on the new site are a tar.gz.gz, making `tar xf filename` fail, and besides that inconvenience, is probably a packaging error. You might want to fix that.
2. The OpenFL provided Haxe installer is broken, because it tried to download http://haxe.org/file/haxe-3.1.3-linux64.tar.gz, which is gone. Please either fix the OpenFL installer or make sure download links are backwards compatible by adding a redirect. (I'm assuming both projects are run by the same community)
I worked around problem #2 by modifying the installer script to use old.haxe.org, since the binaries on the new site are harder to use because of problem #1. But this could definitely dissuade newcomers to Haxe, despite all of its qualities (which, in my opinion, are many!)
I had a redirect for any 404s that existed on the old wiki to go to "old.haxe.org/$1", but it looks like it didn't work for the "/file/*" downloads. I'll look into it.
One of the developers of the new site here. Simon Krajewski did an amazing job writing the manual - it's a great resource and has all the gory technical detail - I'd encourage you to take a look. A number of other people have contributed to content and design (though we'd still like to give the design some more love).
The website itself is developed in Haxe, and all of the content is hosted on Github so we can encourage contribution but still keep an eye on the quality, unlike the wiki we had previously. There's a "Contribute" link at the bottom of each page that links you to the relevant file on Github.
If you have any questions let me know, I'm happy to answer. I hope you find it a valuable resource.
I don't seem to have the ability to edit, and I forgot to reply to the first part of your comment.
I use Apache/mod_neko on the server, though after the high traffic last night we might switch to nginx/mod_tora. Either way, these basically server ".n" Neko Bytecode files, and provide caching between requests [1].
I stayed away from using a database / ORM for this website, instead using Github for all the content. When we update we pull a repo and it references flat files. The site then transforms the HTML or Markdown, pops it in a template, and serves it up.
I used a library called ufront for the MVC environment on the server. You can have a look at what a controller looks like here [2]. I'm hoping to do a tutorial, ufront was written by Franco Ponitcelli and Andreas Sudderland a few years back, but I've done a lot with it in the last year and hope to release / document soon. I did do a talk at last year's conference if you're interested [3].
I'll have to dig around and find out where the broken links are coming from. They were not part of the old site, nor the new site, but were in the private development repo for a while. Probably my fault they're still around.
Haxe is really an under appreciated language, and I'm happy to see it gain more widespread attention. Though it doesn't bring any fancy new paradigm or language feature, it cherry picked a lot of useful and convenient parts of other languages, and combined it into a familiar, C-syntax statically typed, type-inferred language.
You can literally pick it up without reading any documentation if you're familiar with C/C++, C# or Java, and the cross platform support is really good. They mostly use source-to-source compilation, but their implementations are really robust.
To top that off, they have an excellent cross platform library in OpenFL (previously NME) that is equally easy to pick up.
Plenty of game developers are using Haxe in production [1]. Tivo [2] and Massive Interactive [3] are doing some large scale UI work for embedded systems.
Personally I have built a student management system for 4 schools as a web app in Haxe, using it both on the server and on the client (JS). I have loved the language, but it has been a mixed affair. On the one hand some features (macros, remoting, code sharing between client & server) have sped up development hugely. On the other hand, sometimes libraries or tutorials just don't exist and you end up reinventing tools that would exist in other languages already.
The community is tiny, but really really helpful, friendly and intelligent. I recommend having a look. There is some hype and ridicule over the "run everywhere" claim but the underlying technology is a delight to work with. I hope it gets more popular support and more tutorials / libraries.
Haxe is excellent for cross-platform native UIs. Some big companies use it in production for their core business like TIVo in the US or TF1 and Ebuzzing in europe, all of these for video applications...
I think I was under the impression that Haxe was just an alternative Flash/AS3 runtime, but it appears that it is actually far more than that? Either than, or the association with Flash is obviously less important these days?
EDIT: I think that impression came from reading this [1] article, possibly found here... or possibly some other article... anyway it talked extensively about AS3 and made comparisons against Haxe.
There is a history article [1], but essentially, the founding developer made the MTASC AS2 compiler back in the day before making Haxe, and the SWF target (AVM bytecode) was the first target Haxe supported. To this day it remains popular with the 2D games market (ex-flash). The OpenFL [2] framework promises (with mild success) to give you the Flash API with the Haxe language on native targets. So flash still is part of the Haxe community, though less and less it involves the actual Flash Player runtime.
Personally I do web development in Haxe, using Neko or NodeJS on the server, and JS on the client. I've toyed with the Java and C++ targets, but so far haven't had a single project which compiled to Flash. I find the language on it's own has a lot of features that are appealing outside of the flash environment.
Yes, Nicolas Cannasse is still involved. He helped keep the server alive last night ;)
These days he is no longer the #1 contributor [1], but he maintains the "benevolent dictator for life" role and certainly still commits plenty of great code.
If the curly brackets and semicolons (and lack of short lambdas, which I am still grumpy about) are always going to turn you off, then Haxe might not be promising for you.
But in particular macros [1], abstract types [2], algebraic data types [3] and static extension [4] are enough to keep me happy exploring new programming concepts etc...
I've only used Haxe a couple of times, but I think if you give it a try you'll find that it's a much nicer language than Javascript! FlashDevelop[1] is a great IDE for it if you're using Windows (and apparently Sublime Text has a pretty nice plugin for it as well)
The conference was great as well. It was amazing to hear how fast Tivo was able to port their 1M+ loc library over to Haxe, and how they're able to compile the client to new platforms now.
I can understand e.g. people use CoffeeScript because JavaScript is more verbose. But why target Python from Haxe? Shouldn't it be the other way around?
I think the honest reason was along the lines of "because I/we can". Many people (myself included) use the Sublime Text Haxe bundle[1], and the plugin is written in Python. Someone started a weekend project to create the Python target so they could rewrite it in Haxe, targeting Python. It got a few contributors on board and suddenly all unit tests were passing.
It does seem slightly odd (many would prefer Python for the language, not the platform), but for those of us more familiar with Haxe, or with existing code/projects in Haxe, being able to target Python means having access to a wider array of libraries, which I guess is kind of cool.
Does it mean that it supports only basic common denominator features of every language? I am a fan of attributes in C# - are Haxe annotations as powerful?
Out of the box Haxe's metadata[1] to me doesn't appear as powerful as C#'s attributes. The big difference is that they are not type safe and are not type-checked by the compiler.
You can however use any expression you want in them, and have macros read them and confirm they are correct, and do whatever you want with them. For example I do some validation on my models:
@:validate( _.length>0 && _.indexOf(' ')==-1 )
public var username:String;
As for the bigger question - they are limited in what they can add, but they have many features not in other languages, they just implement them in a syntax-heavy way on the languages that lack such features. Pattern matching is a good example [2].
1. The Linux binaries on the new site are a tar.gz.gz, making `tar xf filename` fail, and besides that inconvenience, is probably a packaging error. You might want to fix that.
2. The OpenFL provided Haxe installer is broken, because it tried to download http://haxe.org/file/haxe-3.1.3-linux64.tar.gz, which is gone. Please either fix the OpenFL installer or make sure download links are backwards compatible by adding a redirect. (I'm assuming both projects are run by the same community)
I worked around problem #2 by modifying the installer script to use old.haxe.org, since the binaries on the new site are harder to use because of problem #1. But this could definitely dissuade newcomers to Haxe, despite all of its qualities (which, in my opinion, are many!)