die Objektorientierung – object-orientation
Object-orientation, frequently referred to as OO for short, is a way that programs are structured. Following this paradigm, programs consist of objects.
The traditional way of thinking about computer programs is as a logical sequence of steps. It is something that you input data, which is processed, and you get some output.
In OO, instead, is to model the parts that are going to interact with one another as objects.
What is an object?
It usually first helps to understand objects using something concrete from the real world.
One example is a Car, as shown in the cover image for this post. Both the Hatchback and VintageCar are Car objects, with their own maxSpeed, capacity and age.
You could also have a WaterBottle object, with the variables amountOfWater and maxCapacity. For interaction, I could have the methods drink and refill. Whenever I drink from the bottle, its amountOfWater is reduced. I can always refill it to maxCapacity.
Objects have a concept of self and interact with other objects.
But objects don’t always have to be concrete, real-world objects. They can as easily be more abstract things, like a LoginForm.
As for the etymology, the German term clearly comes from English.
But what of the individual words, Objekt and Orientierung?
I didn’t find anything particularly interesting about Objekt, but it is said to come from Latin.
Duden had this to say about the etymology of orientieren (the verb):
französisch (s’)orienter, zu: orient = Orient, ursprünglich = die Himmelsrichtung nach der aufgehenden Sonne bestimmen.
From French, to orientate oneself, to get one’s bearings. It comes from orient (= Orient, which I take to mean “east”). Originally used to mean determining the cardinal directions – north, south, east, west – from the rising sun.
The Online Etymology Dictionary notes that the word “orient” literally means to face the east. It’s the past participle of the Latin oriri. The English word “origin” has the same Latin stem.