Consider this analogy:
-
A pure chemist discovers a compound with certain novel catalytic
properties and publishes the results.
-
A chemical engineer is working on the problem of storing hydrogen for
onboard fuel cells then uses these results to come up with a way to
store hydrogen in a non-volatile way.
-
A computer scientist working in theoretical computer science comes up
with a data structure and associated algorithms for sharing files in a
network.
-
A software engineer uses the algorithms to solve a problem in mobile
computing.
-
Just as the pure chemist is not doing chemical engineering, the
theoretical computer science is not doing software engineering.