No, it wouldn’t be hard! In fact, the major version number is still 1, so those GLSL versions shouldn’t differ too much. The most noticeable difference is a disappearance of attribute and varying qualifiers[/QUOTE]
That’s just a minor syntax tweak. I’d actually suggest a bigger difference for most folks (going from 1.2 to strict 1.3) is the deprecation of nearly all the built-in gl_* uniforms and attributes, as this requires changes to the C++ code (implementing matrix stacks, flipping to user-defined uniforms, tracking light/material state, etc.). Not hard, just takes time. For instance:
global variable gl_FragData is deprecated after version 120
global variable gl_ModelViewMatrix is deprecated after version 120
global variable gl_MultiTexCoord0 is deprecated after version 120
global variable gl_MultiTexCoord1 is deprecated after version 120
global variable gl_Normal is deprecated after version 120
global variable gl_NormalMatrix is deprecated after version 120
global variable gl_TextureMatrix is deprecated after version 120
global variable gl_Vertex is deprecated after version 120
Keep in mind these are just warnings, so if you don’t mind your compile logs getting filled up with this cruft hiding potential problems (I do mind), then strictly speaking you could ignore these when moving to 1.3, just as you could with the in/out attribute/varying deprecation too though.
Still, to the original question, it’s not like the language is night-and-day different. You’ll find it easier learning with GLSL 1.2 and all the built-in convenience uniforms. Then once you get that knocked out and are comfortable, upgrade your shaders and code to GLSL 1.3 or 1.4.
Make sure that the version of GL and GLSL you’re targetting is supported on all all hardware you must support first though.