I wrote my first line of code in ActionScript 2.0 it was 13 years ago and it was streamlined with the style of web. Big boom of flash animations, letters flying around and flash menus. In addition I’m putting myself as the worst person on the World in terms of color matching. At the moment of doing it I didn’t know that I become a programmer, I liked PC though.
A couple of years later I was doing more and more programming, some in Pascal, some in C. Neither of them attracted me for more time (before college) so that I was experimenting in Flash, and I enjoy a lot the simplicity of putting a movement to MovieClips, Timeline manipulation or doing mouse actions. During college, I’ve switched focus to C++98, Verilog and SystemC. Probably by accident I started to work in game industry at GameFactory, where I co-developed around 7 titles in Flash and 2 in Unity 4, then at King I’ve started to work as an AS3/C++ Engine developer. All of it doesn’t make me guru neither of language nor of the best practices. I achieved level where I felt comfortable with API and tech and I could utilize well that Flash offers,
Bright sides of Flash
I didn’t notice this aspect before, but after working as an engine developer I understood how hard is to provide clean API what is future-proof. As a noob I was able to deduce what some API call will do. For 8 year of working with Flash Player I don’t remember any problem with breaking changes. API was flexible enough to add new functionality, it was smartly designed around passing an extra configuration objects like LoaderContext. For the instance, when they added an asynchronous image decoding, it wasn’t done by an extra argument for function call, it was an extra property of context. KISS in practice.
I love in place XML:
var xml:XML = <foo><bar/></foo>;
I love Dictionary with weak keys, and Object where you can put other objects as a key.
I love typed Vectors, (And hate a little bit for weak performance even with fixed size, and conversion between them).
I love for each..in loop.
undefined, no confusion with
this, and static variables / functions.