6. An article of manufacture comprising: a computer storage medium; computer program instructions stored on the computer storage medium which, when processed by a processing device, instruct the processing device to perform a process comprising: receiving metadata into memory describing application programming interfaces of an operating system; receiving an indication of a named element in a program in a target programming language referring to an element of one of the application programming interfaces; and using the metadata, creating a projection element in the program in the target programming language, the projection element being a projection of the element of the application programming interface of the operating system to the named element in the program, such that at runtime, the projection element in the program allows the program to access the application program interface of the operating system; wherein projecting the projection element marshals data between an operating system representation and an application representation according to type; wherein the metadata is stored in a metadata file, wherein the metadata file describes elements of the application programming interface in a machine readable programming language independent format and is stored in a standard file format in a known location as part of the operating system.
8. The article of manufacture of claim 6 , wherein creating the projection element comprises, when the program is interpreted, creating code that defines one or more projection elements.