Jump to content
Objectivism Online Forum

Object oriented programming and Objectivist Epistemology

Rate this topic


Lagroht

Recommended Posts

Yes, but the guys who built Smalltalk specifically sayd they didn't read that stuff, at the time.

John, the threads got merged after Thales's post.

Right, their work was probably done independently, but Plato's world of forms is similar idea. The idea of "universals" has been around for a very long time.

Link to comment
Share on other sites

  • 1 month later...
Just to make it clear, there are also very big differences between the two. Ayn Rand's method refers to how the human mind acquires knowledge via concept formation, from sense data, to perception and then concepts.

Thales while I trust your understanding of Objectivism and Ayn Rand I am guessing you are not well studied in programing or we could just have a different view. Certainly Ayn Rand was talking about how man forms concepts whereas Booche and the creators of Smalltalk were programing computers.

Her idea of "measurement omission" is no where in OO, nor is her idea that the concept "unit" is a bridge between the epistemological and metaphysical "units are things viewed by a consciousness in certain existing relationships." And there are many more fundamental differences, not the least of which is that Ayn Rand's work is far deeper and more revolutionary.

"Measurement omission" in OO is the difference between an object and a class. A class is a code entity that exist without properties. An object is an instance of a class and it can have properties. Actually I misspoke; the class and the object have the same properties but in the class the properties have no values and are said to be empty. That is measurement omission in action.

The fact that units as bridge... actually I don't even know what you are saying right there, but think of the achievements of technology as an attempt. An achievement.

Also, Object Oriented Modeling is more of a top down approach, where you create the object type first, and from the object you generate instances. In a way it's more of a Platonic idea.

One shouldn't confuse the product of a man's work with his method. No object is created in programing without first having many, many, many instances. You don't right a computer program for something you've just encountered for the first time. You write it to automate a process you are familiar with. By the time you get it working you will have written every properties name several times as if you were being punished.

Along these lines one should not quibble over Grady or Booche or the Smalltalk guys. They are just the product of a long lineage of technologists and tradesmen.

I have read part of this paper and just printed the rest and I find it fascinating. Suddenly I see history in a long arc from the Greek philosophers building a world view from the ground up instead of the God-down approach, to John Locke building governments from the ground up, to Charles Babbage supposing he could build a physical manifestation of George Boole's logic. Smalltalk is not a computer programing language, it is the tinkerers approximation of reason.

Much of the languishing in philosophy has been the complaint that you can't know everything. Boolean logic was an attempt at extending logical assertions to anything but it's method could not be applied to everything to prove it. That was then.

Back in Greece two people started a race, the philosopher and the technologist. The philosopher started out great, but met a much fuller interpretation in the 20th century. The technologists path has likewise been troublesome but by the work of thousands of them over thousands of year we now have the cumulative fruits of their labor. The thinking machine. Is it a coincidence that it's structure is objective? How could it be a surprise? It could not have been built otherwise.

Certainly programmers with differing views could put there world views into the product, as they always have, but they will only hinder process. An unstable system will probably also not stand up well as the global internet processing power exceed the capacity of all human minds.

I feel as if you are looking at all the technological efforts from levers and gears to a world-wide light-speed signal web already imbued with semantics and ontology and complaining that it hasn't achieved unit economy yet.

In any case I really like this PDF. It meshes nicely with something I have been noticing about tradesmen over the ages.

Link to comment
Share on other sites

response to xgenx:

class is to object as type is to token. Types as instantiated as Tokens. Sets are one thing, the elements of a set are another, although the second is related to the first by the relation "element of". A set of numbers is not a number. A set of people is not a person. The Type Person is instantiated as an Individual Person, but is not itself an individual person. Confounding the Type with the Token is characteristic of Platonic thinking.

Can you tell me where measure or measurement enters into this? To have a measurement one needs a linearly ordered set and a function that maps a set of objects into a linearly ordered set. In the absence of a linear ordering there is no measurement.

Bob Kolker

Link to comment
Share on other sites

  • 2 months later...
response to xgenx:

Can you tell me where measure or measurement enters into this? To have a measurement one needs a linearly ordered set and a function that maps a set of objects into a linearly ordered set. In the absence of a linear ordering there is no measurement.

Bob Kolker

I can read your examples and counter-examples, but I don't see where they are going. Are you saying that objects don't have measurements? Are you saying classes are not objects without measurements?

But instead of guessing at your point let me clarify mine. You might create a class Table. Your Table class might have properties NumberOfLegs, Height, Width, Length and Color, and a method New(NumberOfLegs integer, Length decimal, Width decimal, Height decimal, Color RGBColorValue). In the class none of these properties are populated. The class exists in code as a template. But it is a template whose properties can be populated only through it's methods. In this simple class the properties are read-only.

When you create an object from this class you must pass in all five parameters of the New method. You cannot create a new Table with Width and Height but without Length. We say that the property values are encapsulated in the object. The object protects it's data. You can only access the properties through methods of the object, and so the object preserves atomicity. The inquiry into some thisTable.Length would be accessed through an accessor or "get" method that is written into the code.

This is all dependent on how, and how well, you construct your code. But each class is useful only insofar as it will be populated with data, with values, when it is instantiated, when it becomes an object.

So a class is an object without values. How is that not value-omission? Why do I need to describe a "linearly ordered set" in order for this to be true? Are you talking about NumberOfLegs? You want me to describe how to count the number of legs? I think it's linearly ordered. Is that what you are talking about?

Edited by xgenx
Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...