Conforme la programación de computadoras fue utilizándose para resolver nuevos tipos de problemas, se requirió la creación de nuevos modelos o paradigmas para el desarrollo de las aplicaciones.