Just like the language is the OS, every operating system is a kind of programming language. It's a layer between you and the hardware, it has functions and semantics, it allows you to communicate with others, and there are ways to extend it.
The catch is at the point where you are thinking of what you want, and trying to express that in terms of the system's functionality. Then you wind up in a situation where the system's concepts affect how you think of solutions (after all, we're all lazy to some extent; that's what the system is there for). Sometimes you don't think of solutions because the system either makes it trivial or impossible.