"Real Object Programming": A New Programming Paradigm

“Real Object Programming”: A New Programming Paradigm
Imagine, how easy life would become for you as a developer if the “symbols” you manipulate in your program were real world entities containing real world data.Let me give you an example.

In such a system, “Washington, DC” might be provided as a “symbol” in your language API, which you can manipulate to get data about the US capital Washington, DC.

So,

>> “Washington, DC”.area 

would give the area of Washington, DC.

This is something different, right?

Now, consider a Cloud Computing Service which provides API for “Real Object programming”.

So one would be able to write

max [for all state.capital.area in “United States”]

to get the state capital of The United States with the highest area.

This would increase productivity of Software Developers by several orders of magnitude.

Welcome to a new kind of programming – “Real Object Programming”!

Real Object Programming is
A form of symbolic programming where
“symbols” in your program represent real world objects and processes
with “data” extracted from the real world.

Programmers write code that attempt to simulate some part of the world we live in or create an imaginary world (e.g., in Games or Virtual Reality).
So in essence, programmers try to approach “Real Object Programming”.

But no systematic way of study or no distinctions has been made thus far.

Some areas where we see glimpses of “Real Object Programming”

  • AI
  • Semantic Web (Graph Database, RDF, OWL)

But the only real work thus far: Wolfram Language.

 

A few Features of “Real Object Programming”:

  1. Real Object Programming requires integrated Ontology for interoperability between different symbols (Objects, Processes).
    • Use of Knowledge Ontology ensures that objects and functions from different domains work together. Each object representing real world entities is declared in the Knowledge Ontology.
    • Consider, your symbol of “Washington DC” and someone else’s (from France) symbol “Paris”. If you want to make sure that a third person is able to able to write code with both “Washington DC” and “Paris”, you need a general Ontology.
  2. The programming model for Real Object Programming (ROP) would be different from OOP because in OOP, the class declares methods that manipulate states of the object. ROP requires that, function from one domain can work with object from another domain (the function is not declared in the class from which the object is formed).

Leave a Reply

Please log in using one of these methods to post your comment:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Google photo

You are commenting using your Google account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s