Python Reach

I was wondering… can python be used to program any and everything in blender? For example, if I wanted to program a shader would I have to use c++ or could I use python? Does python cover every possible corner case of what one would want to accomplish in blender? Thanks!

The OpenGL wrapper bgl is quite limited, but there’s OSL which might be interesting for you