That's not really true. CS students program, and a lot of them are very good at it. But it's a means to and end, not an end in and of itself. You can do a lot of things on paper in CSâ"and you shouldâ"but there's a practical value to the actual hands on work. Every doctor of chemistry has physically done the lab work themselves at some point, even if most of the work they do as a researcher is simulated.
The programming that you do in the industry teaches you that good enough is sometimes the best. Algorithmic purity is secondary. And if you have to sit and contemplate algorithmic complexity, you've probably done it wrong (barring some highly mathematical work, like high-frequency trading; I'm just a video game programmer).