1. A method for validating programs, the method comprising steps implemented by one or more computers of: receiving a meta-language description of a computer program, the meta-language description comprising a meta-language definition module and a meta-language implementation module, the meta-language implementation module defining a first class to be implemented by the computer program and the meta-language definition module defining a first interface associated with the class; validating the meta-language description by validating syntax of the meta-language definition module and syntax of the meta-language implementation module; generating a language-dependent program from the meta-language description, the language-dependent program comprising the first interface, the first class, and a script code section written in a scripting language; performing usage and semantic checks on the computer program by compiling the generated first interface and the generated first class; and performing usage checks on the generated script code section by extracting language elements from the generated script code section and comparing the extracted language elements with the meta-language definition module used to generate the language-dependent program.