I'm not talking about OOL (whatever that is), |
Object
Oriented
Language. It's what you're talking about. Saying that you're not talking about it doesn't change the fact that it is, actually, what you're talking about.
It's what the Stroustrup quote you provided is talking about. it's written right there:
A language or technique is object-oriented if and only if it directly supports: |
You are making the mistake that I talked about. You're looking at programming languages and thinking they are what programming is.
It's like thinking a novel writer is a typewriter operator. A novel writer's magic happens inside their head. The typewriter is a tool they use to help them express their ideas.
A programming language is a
tool, a written notation, that programmers use to express themselves and to communicate ideas and intentions.
Object Oriented Programming is one way we can
think; an Object Oriented Language is a tool we can use to help us express how we thought - a tool deliberately designed to make it easier for us to express ourselves if we used Object Oriented Programming in our
thinking. But we don't
have to use an OOL to express our thinking.
You are not the first person to make this mistake. It's a very common mistake; especially amongst beginners. I am sure I made this mistake myself.
When you have a number of different styles of programming language in your toolkit - object oriented, functional, declarative, imperative, and so on - the difference becomes clearer. Especially when you sit down to write your design and realise after ten minutes that you're using entirely the wrong programming language to express your thinking.