Could be. I'm using GLSL 1.2 and things have certainly evolved since then. The trend is toward more programmability. I'm sure that on newer hardware, the shader compilers generate even more explicit code for the more generic shader units.
I have to perform a nasty calculation just to _locate_ each of the four texels (thanks to how Model 3 textures are laid out and then referenced on a per-polygon basis) that comprise a single pixel sample.
Does anyone know how modern games manage textures? Are polygons in a mesh sorted by texture? Or is it common to skin an entire model with only a single texture? I imagine rendering happens based on a sorting of the geometry, not textures, but surely it makes sense to minimize texture-related state changes when rendering complex meshes.