ActionScript as a first language

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.

chuckstar

10 Comments

Peter Elst

I think you hit the nail on the head there Charles, I’m seeing exactly that same trend.

Wanted to comment on the following:

“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”

While I agree that there is a need to provide beginning ActionScript 3.0 developers with solid information — Adobe is largely filling this need with their documentation, livedocs and devnet articles and frameworks like ARP and Cairngorm frameworks provide a good starting point for best practices development.

I’ve personally always taken a pragmatic approach to ActionScript development and even though the syntax has gotten much stricter in its latest form I don’t believe in one institution evangelizing some unified programming practice.

Aside from basic common sense OOP concepts its just a matter of time and experimentation for developers to find their way around the language and how things work best. I don’t believe in any one ‘right way’ to do ActionScript development, its often the false believe that they might not be implemented their code according to the rules of the game that holds developers back from actually going ahead and innovating.

Just some thoughts I wanted to share, thanks for your insightful post.

matrock

thank you for the write

Gerald Yeo

A thought provoking post. I started off with C/C++ during my studies, didn’t like it a lot but it built my foundation in programming. I then continued on to Lingo, PHP and then Actionscript in my university.

I’m a flash developer working in an advertising agency in Singapore, and I’ve been developing exclusively in AS2, OOP and procedural, for the past 2 years. I guess I can say that Actionscript has become my first language.

The transition to AS3 will not happen as quickly for my region, unfortunately, as clients aren’t as adventurous.

Jensa

Peter, I think what Chuck means is more structured education than just books, blogs, docs and devnet. With the current lack of ActionScript developers, it would certainly help if more universities and schools offered a way to learn ActionScript.

I know quite a few that did formal education in universities that decided to drop out to learn AS and make money instead. Learning AS on your spare time can take you way further (career wise) than 5-7 years in some formal institution. Quite a few are starting to understand this now, but they still have to learn ActionScript after school.

J

Joel

AS3 is my first language to delve into on more than a superficial level. There is a huge volume of materials available already. The docs are excellent, and the available books all have merit.

I do think that approaching AS3 without the Flex framework helps in learning.

Josh Tynjala

If we’re talking formal university training, AS just doesn’t stack up to Java, in my opinion. In fact, there are just too many languages out there to offer courses on everything. At my university, they only taught Java, C++, and Assembly (which covers the range of language types). In my last two years, I could code in any language I chose, as long as I learned it on my own. I generally worked with C#.

I didn’t start using ActionScript until after I graduated. University is all about theory. You can learn theory with any programming language, and once you pick up a language, you can
generally transfer your knowledge to another very easily. ActionScript is my language of choice these days, but I gotta say that I’m much better off starting elsewhere and picking it up once my skills had matured.

Shadowfiend

And yet, it feels like perhaps university should be somewhat about language theory, too. Show Java as statically typed OO. Show C++ as a mashup of paradigms. Show C for procedural, assembly for… Well… Assembly. Show Smalltalk/Ruby for real OO, something for functional (Haskell, ML, Scheme, what have you) and JS/AS/ECMAScript for prototype-based languages (naturally difficult given the recent annoying switch to class-based OO in ECMAScript/AS, with JS to follow). There are so many paradigms, and it seems like too many are left by the wayside because for whatever reason Java is the top of the game right this second in the coding world.

Doug Sharp

I am just about to start teaching my daughter ActionScript using Flex (which I’ve been programming in for over a year). Since there is not a central teaching body, can anyone recommend a solid book or website to supplement my tutoring? Something that has a good overview of the language, sample code…

OJ

Unfortunately I find that there are still a few gaps in the language that make it difficult to write a totally well-rounded solution to certain problems.

One example: class constructors must be public. Why?

mark vernon

We have some online video courses for Flex etc, and we plan on making a lot more available on actionscript. Feel free to play the free content at http://www.vtc.com

Comments are closed.