Book Review (Preliminary) -- Object Oriented Design Heuristics by Arthur Riel
Riel addresses, in the preface, an issue I have had with Object Oriented Programming from the start.
Back when I programmed in Forth, we organized our swap-dups as elegantly as possible, and prayed the algorithm would fit on a 256 k EPROM. Then functional programming in C came along, and Walls and Mirrors (how often was reflection in C used anyway?) had to be mastered. Error returns were compromised all over the place, and we programmers tried not to complain about pointer hell because, after Forth, how could we ever give up access to actual memory addresses?
OOP is the design paradigm of the day, replacing Structured Programming, and claiming to solve all its irritants, which were previously unmentioned, or waved away with 'but you can do that in C'.
Now I struggle to embrace a paradigm whose own irritants will be brought to light when they are removed by another fashion.
That is the gyst of my grumbling to myself when I am stymied by OOP jargon, and struggling to come up with a workable design. Riel's analysis is more charitable, and, what's better, highly sensible:
"My perspective on object-oriented programming is that it is a natural progression or evolution from action-oriented development. As software has become more complex, we are required to remove ourselves one more level away from the machine in order to maintiain the same grasp we have on the software deveelopment process. Just as structured methodologies removed one level from bottom-up programming, object-oriented technology removes one level from structured methodologies."
He goes on to pinpoint the ultimate source of the complexity to memory size, at the same time explaining and justifying the necessity of evolving design paradigms.
I look forward to seeing what Riel has to say about heuristics in OOP. If the rest of the book is as well-thought out I will learn a lot. Maybe I will even learn how to design.

0 Comments:
Post a Comment
<< Home