I always enjoy reading Patti Digh’s weekly posts on life.
This week’s was no exception. In it she writes about the cultural differences in language teaching between americans and asians:
Studies have shown that in the U.S., children learn nouns much more rapidly than they learn verbs. (Nouns are easier to learn—they belong to categories, they’re unambiguous). Not so in East Asian countries where children learn verbs at a faster rate. Japanese mothers are more likely to ask about feelings, using feeling-related words when their children act up: “The toy is crying because you threw it.” “The wall says ouch,” Nisbett reports. By focusing on feelings, children are taught to anticipate reactions of other people… it’s all about the relationship, not the thing.
Her focus was on the importance of relationship over objects, and while it was meant to get us thinking about the connections between people, it got me thinking about the current state of the programming language world.
The dominant paradigm in programming languages today would be classified as western by the standards Patti writes of. It is heavily noun-oriented, or in tech lingo, object-oriented.
Object-oriented programs consist of descriptions of things. These things contain information (state) and can perform operations (methods). The key idea is that program are composed of many independent parts into something that does what it should. Just like Lego.
Relationships between objects of course exist, but they are peripheral to the central concept of objects.
It makes me wonder how the software we use today would be different if it was written with a relation-oriented paradigm rather than an object-oriented one.
Now before you accuse me of making things up, I’m not the first person to wonder about relation-oriented programming. Timothy A. Budd wrote a paper in 1994 on a relation-oriented programming language named LEDA that he invented.
So far, it has yet to catch on.
Us westerners, we like our objects.