I started learning to code so that I could add interactivity to Flash animations. Later I applied some of the things I learned from Actionscript 1 and 2 to a MS Access project I started at work. In order to extend the basic fuctionality of Access I learned how to manipulate forms, tables, and reports with Visual Basic for Applications. These two programming environments(MS Access with VBA and Flash with AS1/AS2) were acutally quite similar.

The limitations of Access quickly got to be frustrating so I decided to learn to use a more robust database. As the major open source alternative, MySQL was the easy choice. Coupled with some simple procedural code written PHP I was able make my first data-driven websites. This of course led to wanting better client side interfaces, which was accomplshed with javascript, CSS, and AJAX techniques.

As I formulated ideas for more complex websites and applications it became apparent that I needed a better model for programming. My PHP code was a ciruitous mess of database calls, logic, and HTML snippets. I had of course come across the notion of Object Oriented Programming, but I never really understood all the ins and outs of this style of programming, until I read a C# book cover to cover. Although I haven’t really done much work in the .NET world, I finally got OOP. From static methods to interfaces and inheritance, the power of the OOP paradigm clicked.

Today my code is informed by the Model View Control devlopment pattern. I use various PHP frameworks to keep my code organized and easy to update. In addition to using PHP and javascript, I also have had the opportunity to work with a variety of other languages including: Java, Python, Perl, and Actionscript 3.