SCIRun is the integrated programming environment that has been a core technology of the CIBC since its inception and each major version release is an enormous undertaking. The program now contains hundreds of thousands of lines of C++ code and a new release requires at least a review of all this code, with replacement or updating of larger portions of it. We are nearing the first release of such a major new version, SCIRun 5.
There must be considerable motivation for such a major release, motivation which comes from both our users, collaborators, and DBP partners but also from advances in software engineering and scientific computing, with which we must also keep pace. Our users continue to demand more efficiency, more flexibility in programming the workflows created with SCIRun, more support for big data, and more transparent access to large compute resources when simulations exceed the useful capacity of local resources. The evolution of software engineering has led to changes in computer languages, programming paradigms, visualization hardware and processing, user interface design (and tools to support this critical component), and the third party libraries that form the building blocks of complex scientific software. SCIRun 5 is a response to all these changing conditions and needs and also represents some long awaited refactoring that will provide greater flexibility and freedom as we move into the next generation of scientific computing.