OpenGL 2.0

I’ve read the OpenGL 2.0 proposals regarding shader programs. I think the way programs are created and invoked must be similar to the way other opengl objects work. For example, why not using something like:

glGenPrograms(progname)
glBindProgram(target, progname)
glProgParameter(target, pname, param)
glEnable/Disable(target)

target can be GL_VERTEX_PROGRAM, GL_TEXTURE_PROGRAM or GL_PIXEL_PROGRAM

when pname is GL_PROGRAM, param is set to point to a program null terminated string buffer.

This will guarantee consistency in OpenGL.