Developing with Haxe
The only truism I’ve noted over several decades developing scientific software is that whatever language/environment you are using today, it will be different 5-10 years from now. The interval between technology transitions seems to only diminish with time.
There is a certain luxury in supporting developers and development shops that largely use a single technology, however, I can no longer support such a business model. Now, I don’t chase trends; I simply wait until enough developers start bugging me for solutions in a particular technology before investing time. I really don’t care what the fab language of the day is. What I really care about is where people are spending money. Once the newness of something wears off and companies have better experience at setting expectations, they tend to start investing serious money in serious projects. Then, once they start pinging me for solutions using that technology, that’s when I become interested.
It’s interesting to have lived through the transition from assembler to compiled languages to scripting languages and now onto what I might label a meta-language, i.e. something that compiles/builds to multiple targets. Right now, Haxe seems to be the closest to my favorite language, C++, so I’ve recently begun the process of coming up to speed with Haxe development.
In terms of IDE, I’m currently leaning towards the free version of FDT, although I did really like Sublime Text 2.
I’ve also decided to re-enter the open-source realm with a new project called CompGeoJS. This will be a comprehensive library targeting analytic and computational geometry for JS developers. A series of online HTML 5 tutorials will be used to present concepts ranging from parametric curves to curve parameterization to programmatic animation. I have not decided yet, but I may author an accompanying e-Book.
I tried something similar for the Flash/Actionscript community, but it was less organized and pedagogically incomplete. Hopefully, I’ll do a better job this time, and in the mean time I’ve added Haxe category to the blog. The nice thing about developing CompGeoJS with Haxe is that I can leverage the development to multiple targets and isolate myself from most of the frustrating aspects of JS.
Visual display in the demos will most likely be handled with CreateJS. The library itself will be purely computational and not dependent on any particular display environment.