"A scientist builds in order to learn; an engineer learns in order to build."
What scientists do and what engineers do is different. Scientists are concerned with extending knowledge, engineers with applying it. When a scientist builds something, its purpose is fulfilled when the desired knowledge is gained – at that point, the useful life of the object is over. When an engineer builds something, a long useful lifetime is the purpose of applying the knowledge.
Much scientific software is written by scientists for scientific purposes. It is no surprise that it is often considered expendable once the knowledge it was written to produce has been extracted. While this approach produces immediate results, other ...