1. One or more computer-readable media with computer-executable instructions for implementing a software development architecture comprising: a software development scenario-independent intermediate representation format; one or more exception handling models operable to support a plurality of programming language specific exception handling models; a type system operable to represent the type representations of a plurality of source languages; and a code generator operable to generate code targeted for a plurality of execution architectures.