At least with a text-based tool you can revert, diff, etc
Indeed. I certainly wouldn't want to switch to using the Adobe tools, even if I had a free copy of them, because I much prefer all my source files being in easily source-controllable text. At most I might want to track down and fix the bug in swfmill, if it does turn out to be one.
but I assumed that I didn't understand the type system
I suppose it's possible that there's something I don't understand about the type system and MTASC is getting it right, but I doubt it. If I declare a variable as var x : Object and the compiler subsequently rejects a reference to x.foo (having put the foo property in myself) on the grounds that type String doesn't have that property, and if I haven't declared any other variable in the entire program with the same name, then any type system which makes that error message justifiable is one I don't want to understand!
and they all seem to be a horrible mess of workarounds, abandoned, unused blind alleys, etc. So I'm pretty confident it's an artefact of the provided environments
As far as I can easily tell, the end-product Flash format itself is a horrible mess of abandoned or unused blind alleys and multiple non-interchangeable half-overlapping ways to achieve the same thing. It's more confusingly non-orthogonal than a street map of central Cambridge. So I wouldn't have a hard time believing that the awfulness of the available development environments was in turn an artefact of the target platform...
FWIW when I was experimenting with my flash game, I ended up with a swf file which #included a text file with all of the actionscript script, and hence could process the text file in a normal source control way -- I don't know if that's relevant for you.
That'd manage most of the convenience, certainly, but in my current setup I also get to manage the media resources (fonts, sounds, images or movies if I had any) in a text-based (XML-based, in fact) way; it's all diffable. Unless it should turn out that there is really no practical way to sort out my sound issues other than using the Adobe tools, "pay a load of money for software which manages to do nearly as well" doesn't have that indefinable air of a good deal about it for me :-)
Oh, totally, I'd agree with that conclusion. Just that they didn't have the specific (and possibly most glaring) flaw of not letting you source control actionscript.
Indeed. I certainly wouldn't want to switch to using the Adobe tools, even if I had a free copy of them, because I much prefer all my source files being in easily source-controllable text. At most I might want to track down and fix the bug in
swfmill, if it does turn out to be one.but I assumed that I didn't understand the type system
I suppose it's possible that there's something I don't understand about the type system and MTASC is getting it right, but I doubt it. If I declare a variable as
var x : Objectand the compiler subsequently rejects a reference tox.foo(having put thefooproperty in myself) on the grounds that typeStringdoesn't have that property, and if I haven't declared any other variable in the entire program with the same name, then any type system which makes that error message justifiable is one I don't want to understand!and they all seem to be a horrible mess of workarounds, abandoned, unused blind alleys, etc. So I'm pretty confident it's an artefact of the provided environments
As far as I can easily tell, the end-product Flash format itself is a horrible mess of abandoned or unused blind alleys and multiple non-interchangeable half-overlapping ways to achieve the same thing. It's more confusingly non-orthogonal than a street map of central Cambridge. So I wouldn't have a hard time believing that the awfulness of the available development environments was in turn an artefact of the target platform...