15. A computer-readable memory storage device having stored thereon: a data structure that comprises at least some data defined according to an extensible markup language (XML) schema, comprising: a first set of data that associates the data structure with a software component programmed in a dynamically-typed programming language; a second set of data comprising descriptive information with respect to the software component; a third set of data comprising an explicit data type identification for the software component;  and a programming environment configured to: provide a design surface comprising icons representing other software components also programmed in a dynamically-typed programming language; access the data structure upon selection of an icon representing the software component based on the first set of data and connection of the icon to at least one other icon of the design surface, uses the second set of data to provide descriptive information, and validate usage of the software component based on the data type identification in the third set of data to provide a type system for the software component that does not rely upon inference by enforcing at least one constraint setting a default value and validating at least one type corresponding to at least one date value of the software component at runtime during execution of the software component and a runtime environment configured to validate execution of the software component at runtime by performing enhanced type matching during execution, including inserting executable code into the selected programming language component that converts one date type to an appropriate type for input or output.
15. A computer-readable memory storage device having stored thereon: a data structure that comprises at least some data defined according to an extensible markup language (XML) schema, comprising: a first set of data that associates the data structure with a software component programmed in a dynamically-typed programming language; a second set of data comprising descriptive information with respect to the software component; a third set of data comprising an explicit data type identification for the software component;  and a programming environment configured to: provide a design surface comprising icons representing other software components also programmed in a dynamically-typed programming language; access the data structure upon selection of an icon representing the software component based on the first set of data and connection of the icon to at least one other icon of the design surface, uses the second set of data to provide descriptive information, and validate usage of the software component based on the data type identification in the third set of data to provide a type system for the software component that does not rely upon inference by enforcing at least one constraint setting a default value and validating at least one type corresponding to at least one date value of the software component at runtime during execution of the software component and a runtime environment configured to validate execution of the software component at runtime by performing enhanced type matching during execution, including inserting executable code into the selected programming language component that converts one date type to an appropriate type for input or output. 16. The one or more computer-readable memory storage device of claim 15 wherein the second set of data comprises text, or a reference to text, graphical data that may be rendered via a user interface, or a reference to graphical data that may be rendered via a user interface, or any combination of text, a reference to text, graphical data or a reference to graphical data.