opengl fragment shaders...

hi everybody,
i am just seeking a little hint.
I have been studing the per vertex and per fragment programs for a month now, and i think i am beginning to understand the whole thing a little more now.
Now that i have a little understanding on the argument i would like to know what kind of shader language should be the most useful to learn.
For what i can see i have 2 choices (and half).
Should I learn assembly like programs used with GL_*_PROGRAM_ARB, or the c like OGSL shaders? The half choice should ne NVidia’s CG, but as for now i’d prefer a cross platform language, so i won’t consider studing a card specific shading method.

Does someone knows what shading language will use OpenGL 2? It would be nice to study something that WON’T get obsolete in the next few months…
thanks for the help,
the Gunslinger…

Moving to shading language forum.