Difference: ProgrammingNotes (21 vs. 22)

Revision 2203 Jun 2005 - TobyCabot

Line: 1 to 1
 
META TOPICPARENT name="TechNotes"
Line: 63 to 63
 

Other People are Smart, too

Changed:
<
<
I've noticed the same antipattern on several projects that I've worked on. It manifests itself in code that's intended to simplify standard mechanisms, usually by wrapping the standard mechanism (e.g. HTML, JDBC, JMS) in something that's "easier to use". These wrappers are built with good intentions, but they're based on a fallacy that's very similar to the "noblesse oblige" from the previous centuries. In those times, people of a higher station were required by nobless oblige to care for those who they believed were inferior to them. Now, people who write these libraries try to care for others who they believe aren't as smart as they are. In most cases they're doing themselves a disservice by hiding the mechanism from other users. A better alternative is to write code that simplifies the use of the mechanism while exposing its operation. This allows everyone to learn how it works.
>
>
I've noticed the same antipattern on several projects that I've worked on. It manifests itself in code that's intended to "simplify" standard mechanisms, usually by wrapping the standard mechanism (e.g. HTML, JDBC, JMS) in something that's "easier to use". These wrappers are built with good intentions, but they're based on a fallacy that's very similar to the "noblesse oblige" from the previous centuries. In those times, people of a higher station were required by noblesse oblige to care for those who they believed were inferior to them. Now, people who write these libraries try to care for others who they believe aren't as smart as they are. In most cases they're doing themselves a disservice by hiding the mechanism from other users. A better alternative is to write code that simplifies the use of the mechanism while exposing its operation. This allows everyone to learn how it works.
  The benefits of this approach are many, but the primary benefit is simplicity. The wrapper code, like all code, will have bugs, and even after they've been found and fixed, it's another layer of code that needs to be learned and executed, and these wrappers can be grossly inefficient at run-time especially if they use mechanisms like reflection to do their work.
View topic | History: r25 < r24 < r23 < r22 | More topic actions...
Copyright © 2008-2024 by the contributing authors. All material on this collaboration platform is the property of the contributing authors.
Ideas, requests, problems regarding The Caboteria? Send feedback