Musings While Learning AOP Today

I finished an AJAX class today at work.  A lot of it was basic that I already knew, it was nice to see the toolkits and javascript techniques.  The class was scheduled to run for four days, but we finished a day earlier.  I had suggested that we cover in detail the Google Web Kit (GWT) and the dojo toolkit, but the class consensus came to covering the Spring Framework which was fine with me.

For those that are unfamiliar with Spring, it is an open-source framework.  It has many components to it.  The core functionality it offers is Dependency Injection (DI) or Inversion of Control (IOC).  I have used Spring’s IOC and bean wiring before so a lot of this was a refresher.  Then we covered Spring’s Aspect Oriented Programming (AOP) component.

This really got me thinking.  You as a developer, have to keep learning new things all the time.  If you are not improving your skillset, then you are loosing ground.  Modern software development is a rapidly changing industry.  It is up to you as an individual to keep learning.  I recently went to a No Fluff Just Stuff which is a great place to learn a lot.  Ted Neward, one of the speakers, repeated a suggestion that Dave Thomas gives.  The suggestion was to learn a new programming language every year.  I thought this was a very good idea.  It forces you to think outside the box.  A lot of times when you have used one language for several years, you approach problems and solutions the same way.  This approach can make you stagnant in your skills.  If you are a java developer, then you have no excuse for doing this.  The open-source projects are pulling java into many new areas.  It is truly remarkable.  If you learn a new language, then you are learning new concepts and syntax.  It forces you to think differently which can make your primary language skills so much better.

The AOP lesson today really made me think outside the box.  It is an interesting approach to programming.  It is a cool and powerful approach, but dangerous to an extent.  I am going to learn more on the subject.  For my new language, I am going to cheat a little.  I am going to take my intermediate knowledge of javascript, CSS, and HTML to a mastery level, and I am going to learn AOP.

Leave a reply