You might use the word "abstract" when someone's
making ambiguous statements, or to refer to
groups of things that you lump together, or
to talk about things that you can't pin down
to a single object in space and time.
Research papers have abstracts, art can be
abstract, and we can engage in abstract thinking.
But what is it about something that makes
it abstract?
Give me a pattern.
Here's one: orange, basketball, wheel.
What's the pattern here?
When you compare them side by side, you get
the idea of "round" just by focusing on this
shape.
We abstract this shape from these 3 objects
in the world around us.
Of course, if you're more of a top-down guy
like Plato was, you can go the other way around:
you start with the idea of "round" and you
can go out and find instances of round things
- wheels, balls and oranges.
It was comparing things in our world that
made us stop and think about the abstract
concept "round".
That kind of comparison is a huge step, one
that gets us humans really far.
But that's not quite enough.
Let's look a little closer at the steps we
took to get to that abstract notion "round".
I mean, looking at this object alone, we could
have easily ended up abstracting "wheel",
or "spokes", or "tire" or something else.
When we place it next to the other objects,
we compare them to see their common features.
But that's still not enough.
Think about it.
We now have a list of the specific features
each object has, and one of them on each list
happens to be shared.
But if we take away the details of each object,
we get to the abstraction.
In the 1960s, two Norwegian computer scientists,
Dahl and Nygaard, recognized the technological
power of abstractions.
They introduced classes, which allowed programmers
to define abstract concepts (like say a "sphere"),
and objects, which let programmers create
specific instances of the class (like a golf
ball or a globe).
They used abstraction to give birth to object-oriented
programming!
But abstract thinking isn't just the stuff
of new technology.
It's something we do everyday with language
and thought.
Even though every cat is different, we can
have just a word for the abstract "cat".
Same for "person".
We can set up conceptual hierarchies.
We can even abstract numbers away to a single
variable that can take on any value we need
it to.
This kind of thing is extremely convenient.
What's even better is that if we just go one
step further, abstractions become even more
powerful.
And we'll take that step next time.
