Posted by pbrittan
on August 8, 2003 at 7:48 AM PDT
Sometimes you want them, sometimes you need them
Two articles recently got me thinking about the fact that paradigm shifts can be born out of convenience or necessity.
In his post, Another paradigm change is taking place right now... , Michael Nascimento Santos talks about the paradigm shift from Object-Oriented Programming (OOP) to Aspect-Oriented Programming (AOP) that he sees unfolding. AOP has very interesting features that may well advance the way we think about programming.
It got me thinking back to when I was first introduced to C++ and OOP. At the time, my team and I were all hard-core C programmers. We had already stumbled across the need for dynamic data binding and we so we used a lot of void* and function pointers, along with explicit type variables passed around in parallel to the data values, to simulate the effect you get with base classes and dynamic binding. We even implemented our own exception mechanism. That all seems pretty scary looking back on it now, but it actually worked very well in practice (don