That's true, C++ is a very complex language that lets the programmer to involve different aspects for the program.
What does that even mean?
Another thing I find boggling is, since when was complexity a good trait in a programming language?
EDIT: To actually answer your question OpenGL ES is an off-shoot of OpenGL based off OpenGL 2.0. The programming models are almost identical, so if you are familiar with one, you can use the other with ease. You can see most of the details here.
I didn't expressed well, sorry.
I never said complexity is a good thing in a language. On the contrary, I was trying to say that C++ is too "heavy". You need to care about memory.
Basically complex things are made with complex languages.
...
So, OpenGL ES has a fixed function pipeline... It is a bad thing, isn't it?
No, OpenGL ES 2 *doesnt* have a fixed pipeline. The fixed pipeline was removed from normal OpenGL, then added back.
I wouldn't call it a bad thing, just a thing. Fixed pipeline graphics libraries ( GL 1.1, DX9 ) were certainly a heck of a lot easier to learn, but less flexible and more importantly, less well suited towards modern GPUs.
In a way silicon design changed from optimizing video cards to perform a lot of functions fast, to performing many many many many many more simpler tasks much much faster. So, on modern hardware, it should perform a heck of a lot faster. I am butchering that in my over simplification, but thats the gist of it.
Frankly, the world has moved on and fixed pipeline SDKs are a dying breed. This is one of the big flaws to XNA, it was built around DX9 and a fixed pipeline. Part of this is a shame though, as it really was a lot easier to comprehend fixed function pieplines. They were basically just a huge library of functions burned onto silicon. Now you use smaller building blocks to perform the same action... often adding a great deal of complexity, but also a great deal of flexibility.
As to C++, I wouldn't consider it's ability to directly allocate memory complex, that speaks more to being a low level language. I mean C has the same functionality and it's one of the simplest production languages out there.
What makes C++ complex is the cruft. It's basically 4 programming languages smushed together with 20 years of cruft added on. Hell, C++ templating is itself a turing complete language. On top, some parts of the language are just (needlessly?) complicated, the inheritance system is certainly one such beast, the linker is another, while the preprocessor is arguably another.