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.
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.