1. An application development system, comprising: a referencing component configured to reference an external component in an external development environment and to read type information for the referenced external component, the external component having objects that are managed by an external runtime environment upon external compilation, the external component and the external development environment being associated with a first programming language, and wherein the external development environment is an external managed code development environment; an authoring component configured to aid a user in authoring an application in a second programming language, the authoring component using the type information read from the referenced external component and using a language extension that allows external objects corresponding to the external component to be created by an external runtime environment and which allows methods to be invoked on the external objects and object declarations, wherein the second programming language is an unmanaged code; a compiler configured to generate, from the application, application components managed by an application runtime environment, and to verify type information of the external objects created by the external runtime environment; and wherein the authoring component is further configured to provide auto-completion of commands for the user when the user is authoring code, the auto-completion of commands being facilitated by providing a list box to the user, the list box being positioned on a graphical user interface proximate to where the user is authoring the code.