Unified Object Model

WikiStub

A revamping of ObjectOriented. This page is for the discussion of concrete details of a UnifiedDataModel (which is otherwise a synonym) and ObjectOrientedRefactored.

The basic idea, since we starting from (off-the-shelf) hardware and not some abstraction (see ComputerScienceVersionTwo), is to build Objects from the ground up using simpler objects to make a DataEcosystem. A unified object model will make threading and async computing much more straightforward. Computing will be able to be delegated to individual objects and message-passing will be uniform.

Since we have multiple uses for many different generic classes, PrototypeBasedProgramming is the way because we can rename our generic prototype objects more descriptively for our DataEcosystem with very little overhead. (See a ClassesPrototypesComparison).

ReFactor all your smallest objects (like strings of chars) into the highest object for which you have the highest "category" for as a compound object. In other words, ClotheYourData. But this must be balanced with: DontContainTheUnknown.

With a DataEcosystem, built in type/class inspection will become paramount. Python's help() built-in provides a good example, it lists the classes documentation string, all of its data members and methods.

Now what kind of objects shall we build to form the basic modular components upon which most everything will be created? What are the fundamental forces?

And look there, the same types suggested in UnifiedDataModel!

Okay, now what will be some common object types to create from this from the get-go?

Now:

 >>> f=TextFile?("test.txt")
 >>> help(TextFile?)
Need to define a standard versioning scheme so it's clear what DataObjects? implement what functionality and behaviors.


WikiStub:

Okay, I know I must be reinventing the wheel here somewhat. Can someone tell me what similar attempts to all this: CPAN? CORBA? are two things that are similar.

CPAN is an archive of software, so probably not directly relevant. Your ideas appear to be closer to CORBA, a standard (with various implementations) for creating distributed software by allowing objects written in various programming languages to be exchanged between nodes. However, software agents may be even closer to what you have in mind. See http://en.wikipedia.org/wiki/Software_agent

Thank you. I think, however, that with a DataEcosystem, the programmers become the agents, working in the interpreter environment and querying/manipulating objects directly making more and more interesting objects in a MashUp form.

Sounds like an interactive CORBA, which could be quite interesting.


PythonThreeThousand


EditText of this page (last edited October 11, 2014) or FindPage with title or text search