Version 1 of Aspect Oriented Programming

Updated 2004-07-22 14:07:27

The advent of OO programming has realized a new set of problems, whereby object code is essentially static and duplicative in its functionality. The following article uses logging as a common starting point for aspect oriented abstraction. http://www-106.ibm.com/developerworks/java/library/j-aspectj/

From the above, Aspect-oriented programming (AOP) is a new programming technique that allows programmers to modularize crosscutting concerns (behavior that cuts across the typical divisions of responsibility, such as logging). AOP introduces aspects, which encapsulate behaviors that affect multiple classes into reusable modules.

Q: Wait a sec, Tcl isn't OO, so why do we care? A: The problems attempting be solved by AOP are ones encountered in TCL, and being an interpreted language, could benefit from its practices.

While the OO paradigm seems to have been the birthplace of AOP, procedural programming could benefit as well. Tcl's introspective abilities could be put to active use to help realize this exciting technique even in the absence of a core-level object system.

Discuss!