All shading languages share common features and pretty much do the same thing with more or less restrictions/flexibility. Before delving into the details of any one language one should first understand what a shading language does in general and where it fits/what it replaces in the overall graphics pipeline.
This section discusses NVidia's proprietary Cg Shading language.
This section discusses SPIR-V, as it can be used in OpenGL.
This section discusses common mistakes made when using GLSL.
This section looks at each shading language's pros and cons, to help you decide which one is right for your project.
This section looks at how to implement Vertex Texture Fetch.
This section looks at what happens when you sample a texture.
This section makes a few recommendations.
This section looks at nVidia specific features.
This section looks at ATI/AMD specific features.