The best way to learn is do do as much as possible with it. Start with a tutorial or a book about it and then just try everything out what comes in your mind, then u see, what is possible and what not and u learn to use the language.

How i personaly learned that: a friend wrote me a little tutorial about shaders( there were also some mistakes i had to correct) and so i learned it ( i know the alngauge and how it works..i dont say that i am a shader-guru like some other bods in that forum)