Object-Oriented Programming Requires Good Epistemology

Posted by Scott Hughes Wed, 19 Apr 2006 02:29:00 GMT

When I first started reading about the Objectivist theory of concept-formation, I got really interested in the possible crossover between people who actively practice good mental integration and the folks who enjoy designing a polished object-oriented (OO) API. Building a new concept by finding the commonalities between a couple of referrents and omitting the specific measurements is exactly the kind of exercise an object-oriented programmer is very familiar with. The measurement-omission step of concept-formation is identical to the process used by an OO programmer to identify the necessary “instance variables” of a given class. A good OO programmer is going to practice the same principles of unit-economy that makes real-world concepts useful, so that we can integrate an unlimited amount of data using a finite amount of symbols.

Any actual OO compiler is going to limit your expressiveness to only very simple forms of composition and inheritance, which is unfortunate in that you’ll hit roadblocks often when trying to model real-world relationships… But also very fortunate in that it saves me a lot of typing. So I wouldn’t say that an OO programmer could breeze through an epistemology book, though he would have a good head start.

It does seem to me that it would be easy to get an Objectivist doing OO design. If they were missing a background in math and algorithms, it might be tough to get them writing real code but they could still likely handle a high-level OO Architect position. This idea has held up pretty well given the high number of computer scientists you meet at Objectivist gatherings. Most of my close friends who are Objectivists (including my wife) are also programmers. I suppose that ratio is weighted since I will tend toward making friends who are smart and work in a similar field.

As a corollary, I found out (thanks to Harry Binswanger’s wonderful mailing list) that Grady Booch, chief scientist at Rational Software and co-creator of the Unified Modeling Language (UML), actually cites Ayn Rand’s Introduction to Objectivist Epistemology in his book Object-Oriented Analysis and Design. I don’t know to what extent Rand was an influence (I’d assume it’s possible that both Rand and Booch were equally influenced by Aristotle, et al, on the theories of categories/classification), but it’s interesting to see another computer scientist (a well-known one even) credit the Objectivist theory of epistemology.

Posted in  | Tags , , ,  | no comments

Just Desserts

Posted by shughes Wed, 29 Jun 2005 18:09:16 GMT

Presumably, you are as saddened as I am by the recent ruling of the supreme court which upholds the state’s right to seize property from individuals to give to other individuals (if the state government will generate greater tax revenue as a result of the property “reassignment”). If so, you may be consoled a little by the fact that someone is trying to use the new ruling to seize the home of Supreme Court Justice David H. Souter. His idea for building a hotel on the property of the Justice’s current home will, most likely, generate greater tax revenue for the area, but it’s unlikely to succeed for obvious reasons… Clearly, the Supreme Court meant the state has a right to seize your homes, not theirs. My favorite bit from the press release:

The proposed development, called “The Lost Liberty Hotel” will feature the “Just Desserts Café” and include a museum, open to the public, featuring a permanent exhibit on the loss of freedom in America. Instead of a Gideon’s Bible each guest will receive a free copy of Ayn Rand’s novel “Atlas Shrugged.”

Technorati Tags:

Posted in ,  | no comments