I've read about various "gateway languages" but my personal gateway language was ActionScript. I jumped into several "Java in 30 minutes books" and honestly years later my Java is not tha potent but my AS is bananas. I started off with the
ActionScript Bible (the MX version) but it was too much for me. My skillset was limited and the rate of progression was frustrating because I wanted to do some cool stuff in ActionScript -yes 3 weeks into it I wanted to do advanced crap that took the veterans a year to do.
Eventually I came across the
ASTFS which honestly was the point at which pieces started to fall into place...I started to understand. I had other books and at the time I was particularly attached to my
Foundation Actionscript from
Friends of Ed. I remember reading how one day I would wonder how I lived without functions...err i didn't get it they just seemed to complicate things-- my code was green as heck then. I also remember wondering why in the heck someone would want to complicate their life with class files when it makes so much more sense to be able to look at something-click it- F9 and see it's code right there!
I read through
EAS 2 the very day it came out...useless!!! at least then it was. Come one ... I wasn't ready for that!!! I read through that and wondered why on earth people swear by Moock cuz I wasn't learning sh!t. This goes back to my "pearls before swine" statement a few posts back. It also reminds me of an article that I can't find now where someone was complaining and doubting Moock's skill set because there were no cool animations or flashy shows of ActionScript prowess. I can't help but to chuckle to myself about that. One of my first books that I attempted to read when learning to program as Thinking in Java. That was about as pleasant as a
subarachnoid hemorrhage(see *). I picked up a version four copy of the same book a few weeks ago and suddenly understood why people criticize it for beginners. I have to say the same thing for EAS. If you are a beginner to OOP or java both of these books are painful. If you are knee deep in a project and something simple is causing you to lose a whole morning I bet you're scrambling for that book to see what it has to say and how the problem is not rare.
In the last three years since I worked through the Treo Motors tutorial and since I cracked my first ActionScript book I have dabbled in several languages. I've been able to survive and hold my own in projects using multiple technologies and able to read through several books about Java,PHP and even Python and nod in understanding because ActionSCript introduced me to arrays, functions, classes, packages, import statements, reverse domain naming style, camelCase, passing by reference...I could go on for hours but the point is that while my dog and cat moved across the stage making their respective sounds(ASTFS) I was learning about inheritance and polymorphism. To fast-forward a few years -I learned my command pattern while making stop,pause and play buttons work on multiple sources. I learned about remote method invocation and some uses of the Proxy pattern while getting my list of friends to show up from the database.
There are many-many things that I have learned in actionscript that I later found parralleled other language practices and as I was learning more and more Java I found that I was able to make the cognitive leap with substantially less effort in large part because the abstract part of it had already been made when I learned the concept without it's name.
So to come full circle I'll say. My gateway drug into this programming addiction was ActionScript. I was fortunate enough to jump in when the language was in its infancy. I came in at a time when the phrasing was kind to "deselopers"(homage to
Jen deHaan ) and people were arguing that they didn't need or see the benefit of the "new" ActionScript 2 way of developing. I could see the change in climate in some of the books released later in the MX2004 season and looking at the books on the horizon for ActionScript 3- Thankfully, I got my first dose of this when my first projects were changing the color of the clown's nose by using the color object and the functions tutorial taught me to change TV channels. Now I'm settled in and buckled up for what's next.
____________________
*Subarachnoid hemorrage is charactarized by the thunderclap headache- for you pre-meds out there "Doc I had the worst headache of my life"...that would be because nothing says pain like bleeding into your brain- Ahem- sorry -Quick med joke for my "other" visitors.