Hey, guy.
GLSL is OpenGL Shading Language; Cg is C for Graphics. Cg is nVidia's version of a 'high-level shading language'; GLSL is the OpenGL-sanctioned 'hlsl', and then there's Microsoft's HLSL (iirc - who knows. it's alphabet soup.).
If you have a background in programming but are new to 3d graphics, I'd repeat my suggestion of Alan Watt's book '3D Computer Graphics'. Trying to dive in to a shading language raw would be very tough. I started with Watt's book (which you can cherry-pick and rip right through), then moved on to OpenGL. If you're working on Windows, at some point you'll end up choosing to concentrate (at least initially) on either OpenGL or DirectX. OpenGL is (iirc) a conceptually cleaner system and easier to learn.
These are the low-level (well, mid-level) systems a lot of 3D apps are built on. I think you'd be better off approaching the whole of the subject (3d graphics) by studying one of these (GL or DirectX). You'd pick up all the general stuff (texturing, lighting, etc) along the way as well as picking up an understanding of the mathematical underpinnings, something which ALWAYS serves one well, no matter what science is involved.