i spent way, way too many days trying to learn opengl shaders with sfml and what not. only to find out that i was doing:
m_shader.setparam()
//many lines of blah
m_shader.load
m_shader.setsomeotherparam()
needless to say, as you'd expect, there's no way that could work
it'd be nice if sfml would just assert on that scenario, since that's 110% lib user fault that should yell at the programmer asap.
even if only for this scenario, and not for if you load a shader, set a param then load another shader into it..since that's not possible to check of course.