Abstraction in Action

by on May 9, 2007 · 8 comments

Via PJ, here’s a great joke about programmers by Nathaniel Borenstein:

It should be noted that no ethically-trained software engineer would ever consent to write a DestroyBaghdad procedure. Basic professional ethics would instead require him to write a DestroyCity procedure, to which Baghdad could be given as a parameter.

While this is a whimsical example, I think it actually explains why geeks have such strong views on certain issues. For example, on software patents: one of the most common tricks in a programmer’s toolkit is to solve a specific problem by finding a way to solve a more general problem and then treat the particular problem as a special case. For example, VoIP just applies the general data-transmission capabilities of the Internet to one type of data, namely sound. It therefore strikes many programmers as perverse to grant a patent to the first person who happens to file for a patent on applying a widely-understood technology (such as TCP/IP) to a particular application (like voice).

Similarly, geeks tend to be strong support of network neutrality (the concept, if not the regulatory policy) because fundamentally, network neutrality is the principle of abstraction applied to network architecture.

Comments on this entry are closed.

Previous post:

Next post: