I’ve been realizing a rising trend of late that indicates more new developers, by learning ActionScript as their first object-oriented programming language, are also being introduced to many advanced development topics like database development, MVC architecture and computer science disciplines beyond just conditionals and looping statements. ActionScript has grown to so much more than just a language to control and manipulate a UI. With every new generation of framework Adobe announces, the threshold of capability of the principle language of Flash, Flex and arguably Apollo seems to extend further past the reach of what a beginning developer, unfamiliar with most development concepts, needs to master.
Two separate conversations this past week got me thinking about the abilities and complexities of the current state of ActionScript. A rather well established coder that works with me was commenting on his frustration with the, as he sort of put it, ‘weird and stubborn asynchronous nature of the language. His remark was in the context of fairly common challenge; How to query two different web services, store it collectively and then signal the rest of the code that the data is available. With his deep programming background, we got into it a bit about how other languages accomplish this in a more logical fashion. I never saw ActionScript as quarky and ‘stubborn’.
Just a few hours later, I was talking with another developer (designer), who has yet to begin working with Flex 2 (actually Flex at all) and ActionScript 3.0. Certainly nothing to be ashamed off, if you are still making a great trade servicing your clients with Flash 8 and AS 2. Knowing what most of us know about the dramatic improvements with AS 3, it still vexes me as to why one wouldn’t make the investment towards adding the new framework to their skill set.
Truth is, ActionScript has been the staple language throughout much of my development career. Sure I spent much time in the trenches with Java, as well as a language that I still cringe when mentioning: Python. Add to it an exceptional amount of time building databases, coding with ASP and recently, over the past 4 years, PHP, and I consider myself as well rounded a developer as any.
I recall the feeling about 4 years ago, when I really started building applications with ActionScript (then Flash MX). As much coding as I had done, the translation to a more complex usage of the language wasn’t easy. All that I wanted to accomplish, mostly creating dynamic apps by getting data in and out, were not easy feats. And it wasn’t like today where you (thankfully) have about a dozen samples from livedocs to blogs to books so readily available. For me, it actually took a weeklong course in PERL (I attended in January of 2003 at Sun HQ in Burlington, MA) for me to really breakthrough and grasp all that ActionScript was.
ActionScript can do so much. The growth of the language and capabilities are incredible. Fairly recently, a new AS3 to MySQL library was developed, adding straight database access to ActionScript’s abilities. With open sourcing around the corner, I’m sure we are going to see even more envelope-pushing techniques.
What ActionScript really needs is an institution; Some central teaching body that offers a structured an unified approach for developers learning ActionScript. After all, if ActionScript is your first language, there’s more to learn now than ever.