Haxe as a language takes a bit more work to develop with than Lua, for the simple fact that, as you guys have seen, it is a bit of a hassle to set it up. It is focused on performant code, with far more strict syntax - but still not as strict as C or Java. Yes, it does compile to C++ and other languages and that is great - but I like how Lua is so easy to modify because it is focused on being a great scripting language.
I adore the flow of coding in Lua - as a language it feels incredibly malleable in that I can find a way that better fits my own style. While some like classes, I preffer closures. While some type their functions with sugar, I type mine without. The ability to monkey patch the language is BEAUTIFUL. It feels like a tool that will be what I make of it, it is empowering - It just is superbly engineered.
Syntax wise, Haxe is symbol minded and reading compreehension is, in my opinion, not that great with all the noise.
Then again, if I could, I would prefer a programming language with syntax very close to english (which is one thing I really like about Lua).
Code: Select all
--Feels very natural, I would love to have a "is not" instead of ~= though.
If x ~= 10 then print "X ain't 10 maaaan" end
Code: Select all
//This is haxe, it doesn't look too bad but it is not beautiful either.
if (x != 10) print("X ain't 10 maaaaan");
For fun, same example in AppleScript
Code: Select all
if x is not equal to 10 then
say "X ain't 10 maaaaan"
end if
HaxeFlixel is, like LÖVE, a framework. By default it does include more things so in that sense, it might be better if you don't want to mess with libraries - or if they don't exist. Then again, adding libraries to a LÖVE project is so incredibly easy (and monkey patching is a fine practice imho), so there is little to lose in starting small and adding up what you need.
Would I mind if LÖVE had pathfinding, camera management and whatnot by default? Nope, I probably would like it, simplifies a few things. But I also like being able to easily add and remove what I like and what I don't. This freedom has a cost but is one I'm glad to pay. I also know that the bigger that LÖVE gets, the harder it can get to maintain and improve it. I'd rather have an extremely solid, well documented framework than a very broad yet poorly documented engine.
PS: Maybe someday I'll do like Leafo and create a language that compiles to Lua.
PPS: If you have the time and the will, learn both languages. You will be a better programmer for it