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!

http://www.blender.org/documentation/blender_python_api_2_69_7/info_quickstart.html#preface

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