FANDOM


Paradigmas de ProgramacionPlantilla:Paradigmas de programacionEditar

Lenguajes de cuarta generaciónEditar
No existe consenso sobre lo que es un lenguaje de cuarta generación (4GL). Lo que en un lenguaje de tercera generación (3GL) como COBOL requiere cientos de líneas de código, tan solo necesita diez o veinte líneas en un 4GL. Comparado con un 3GL, que es procedural, un 4GL es un lenguaje no procedural: el usuario define qué se debe hacer, no cómo debe hacerse. Los 4GL se apoyan en unas herramientas de mucho más alto nivel denominadas herramientas de cuarta generación. El usuario no debe definir los pasos a seguir en un programa para realizar una determinada tarea, tan sólo debe definir una serie de parámetros que estas herramientas utilizarán para generar un programa de aplicación. Se dice que los 4GL pueden mejorar la productividad de los programadores en un factor de 10, aunque se limita el tipo de problemas que pueden resolver. Los 4GL abarcan:Editar
  • =====Lenguajes de presentación, como lenguajes de consultas y generadores de informes.=====
  • =====Lenguajes especializados, como hojas de cálculo y lenguajes de bases de datos.=====
  • =====Generadores de aplicaciones que definen, insertan, actualizan y obtienen datos de la base de datos.=====
  • =====Lenguajes de muy alto nivel que se utilizan para generar el código de la aplicación.=====
Los lenguajes SQL y QBE son ejemplos de 4GL. Hay otros tipos de 4GL:Editar
  • =====Un generador de formularios es una herramienta interactiva que permite crear rápidamente formularios de pantalla para introducir o visualizar datos. Los generadores de formularios permiten que el usuario defina el aspecto de la pantalla, qué información se debe visualizar y en qué lugar de la pantalla debe visualizarse. Algunos generadores de formularios permiten la creación de atributos derivados utilizando operadores aritméticos y también permiten especificar controles para la validación de los datos de entrada.=====
  • =====Un generador de informes es una herramienta para crear informes a partir de los datos almacenados en la base de datos. Se parece a un lenguaje de consultas en que permite al usuario hacer preguntas sobre la base de datos y obtener información de ella para un informe. Sin embargo, en el generador de informes se tiene un mayor control sobre el aspecto de la salida. Se puede dejar que el generador determine automáticamente el aspecto de la salida o se puede diseñar ésta para que tenga el aspecto que desee el usuario final.=====
  • =====Un generador de gráficos es una herramienta para obtener datos de la base de datos y visualizarlos en un gráfico mostrando tendencias y relaciones entre datos. Normalmente se pueden diseñar distintos tipos de gráficos: barras, líneas, etc.=====
  • =====Un generador de aplicaciones es una herramienta para crear programas que hagan de interface entre el usuario y la base de datos. El uso de un generador de aplicaciones puede reducir el tiempo que se necesita para diseñar un programa de aplicación. Los generadores de aplicaciones constan de procedimientos que realizan las funciones fundamentales que se utilizan en la mayoría de los programas. Estos procedimientos están escritos en un lenguaje de programación de alto nivel y forman una librería de funciones entre las que escoger. El usuario especifica qué debe hacer el programa y el generador de aplicaciones es quien determina cómo realizar la tarea.=====

==Editar

Paradigmas de programaciónEditar
La Web ha sido la cumbre de las redes, desde los puntos de vista del software y social. Las redes de software llevadas al extremo han convertido la Web en una plataforma de redes sociales, de colaboración, de publicación de contenido como en los medios de comunicación y en plataforma de programación. De todas formas, la Web fue originalmente diseñada para documentos, como una forma de compartir información. Para ser capaces de hacer lo que queramos con la Web, hemos de hacerla programable.Editar
Programando la WebEditar
La Web es programable hoy en día. Puede ser programada para varios propósitos, algunos de los cuales han sido mencionados en el comienzo del artículo. Esta programabilidad deriva de los maduros principios genéricos del software. Se necesita una arquitectura, un diseño y una implementación. El software genérico de programación ha pasado por muchos cambios, algunos de los cuales pueden ser calificados como mejoras. Desde los estilos de programación como la programación estructurada la atención se ha desplazado hacia la arquitectura y el diseño, produciendo técnicas como POO y las nuevas arquitecturas Ágil y “Model Driven“. En líneas similares, hoy en día la Web está llena de incipientes arquitecturas y aproximaciones. Reflexionemos sobre algunas de ellas.Editar

==Editar

Que es un paradigma de programaciónEditar
El termino paradigma de programación representa un enfoque particular o filosofía para la construcción del software. No es mejor uno que otro sino que cada uno tiene ventajas y desventajas. También hay situaciones donde un paradigma resulta más apropiado que otro.Editar
Tipos de paradigmas de ProgramaciónEditar
  • =====El paradigma imperativo o por procedimientos :es considerado el más común y está representado, por ejemplo, por el C o por BASIC.=====
  • =====Este paradigma viene bien representado por la arquitectura Von Neuman (1903-1957), ya que utiliza este modelo de máquina para conceptualizar las soluciones: "Existe un programa en memoria que se va ejecutando secuencialmente, y que toma unos datos de la memoria, efectúa unos cálculos y el resultado se almacena en alguna celda de memoria".=====
  • =====La memoria del computador permite tener almacenado, en celdas numeradas consecutivamente, tanto las operaciones como los datos a manipular.=====
  • =====Los datos se almacenan en variables.=====
  • =====Las operaciones a ejecutar se llaman instrucciones, cuya realización se llama ejecución.=====
  • =====La instrucción principal es la asignación, la cual tiene el siguiente formato:=====
< Variable > ß< expresión >Editar
  • =====La forma básica de expresar un algoritmo consiste en declarar variables, diseñar una secuencia de asignaciones que transformen los valores almacenados.=====
  • =====El paradigma funcional está representado por la familia de lenguajes (en particular Scheme), ML o Haskell.=====
CaracterísticasEditar
  • =====Tiene su base en el concepto de función matemática:=====
f: dominio ®rangoEditar
  • =====Para programar:=====
    • =====Se construyen funciones sencillas=====
    • =====Se construyen funciones más complejas a partir de las sencillas=====
    • =====Se evalúan las funciones sobre los datos de entrada=====
Ejemplo: APL, ML, Lisp.Editar
Ejemplo de un paradigma funcionalEditar
Mayor de tres números en funcionalEditar
Definición de funciones max y max1:Editar
max(x,y) := if x > y then x else y Editar
max1(x,y,z) := max(max(x,y),z) Editar
NOTA: “:=“ en este caso significa “se define comoEditar

==Editar

  • =====El paradigma lógico,un ejemplo es PROLOG.=====
  • =====Tiene su base en el concepto de predicado o relación=====
  • =====Un programa lógico está formado por hechos y reglas =====
  • =====Se definen hechos (o predicados básicos)=====
  • =====Se diseñan implicaciones para definir predicados complejos=====
  • =====Se determina la veracidad de los predicados para individuos concretos=====
  • =====El paradigma orientado a objetos.Un lenguaje completamente orientado a objetos es Smalltalk.=====
CaracterísticasEditar
  • =====Es muy abstracto=====
  • =====Ya no se ve las variables como celdas de memorias sino como objetos=====
  • =====Un objeto pertenece a cierta clase, que define el conjunto de operaciones utilizables=====
  • =====Ejemplos: Smalltalk, C++, Object Pascal=====
Paradigma de ensamblajeEditar
CaracterísticasEditar
  • =====Los valores manipulados no son abstractos, sino que se maneja su representación binaria en memoria=====
  • =====No se usan expresiones funcionales sino zonas de almacenamiento intermedio, llamados registros=====
  • =====Se hace operación tras operación=====

==Editar

PARADIGMA DE TÉCNICAS DE CUARTA GENERACIONEditar
El termino de técnicas de cuarta generación (T4G) abarca un amplio espectro de herramientas de software ha especificar algunas características de alto nivel. Luego la herramienta genera automáticamente el código fuente basándose en la especificación del técnico. Existe cierto debate sobre cuanto ha de elevarse el nivel en el que se especifique el software para una maquina. El paradigma de T4G para la ingeniería de software se orienta hacia la habilidad de especificar software a un nivel que sea más próximo al lenguaje natural o a una notación que proporcione funciones significativas.Editar
Actualmente un entorno para el desarrollo del software que soporte el paradigma de T4G incluye algunas o todas las siguientes herramientas: lenguajes no procedimentales para consulta a base de datos, generación de informes, manipulación de datos, interacción y definición de pantallas y generación de códigos, capacidades gráficas de alto nivel y capacidad de hojas de calculo. Cada una de estas herramientas existen, pero solo son para dominios de aplicación muy específicos. No existe hoy disponible un entorno deT4G que pueda aplicarse con igual facilidad a todas las categorías de aplicaciones de software.Editar
El paradigma T4G para la ingeniería de software se describe en la siguiente figura:Editar

==Editar

==Editar

Como otros paradigmas, T4G comienza con el paso de recolección de requerimientos. Idealmente el cliente debe describir los requerimientos y estos debe traducirse directamente en un prototipo operacional pero este no funciona. El cliente puede no estar seguro de lo que necesita, puede ser ambiguo en la especificación de hechos que son conocidos y puede ser incapaz o no desear especificar la información en la forma que una herramienta T4G puede construirla además las herramientas actuales T4G no son lo suficientemente sofisticadas para acomodar realmente lenguaje natural y no lo serán por algún tiempo en este momento el dialogo cliente técnico descrito por los otros paradigmas permanecen como una pequeña parte esencial del enfoque T4G. Para aplicaciones pequeñas puede ser posible ir directamente desde el paso de establecimiento de requerimientos a la implementación, usando un lenguaje de cuarta generación no procedimental (L4G) sin embargo es necesario un mayor esfuerzo para desarrollar una estrategia del diseño para el sistema incluso si se utiliza un L4G. El uso de T4G sin diseño para el sistema incluso si se utiliza un L4G. El uso de T4G sin diseño para grandes proyectos causará las mismas dificultades (poca calidad, pobre mantenimiento, mala aceptación por el cliente) que se encuentran cuando se desarrolla software usando los métodos convencionales.Editar
La implementación usando L4G facilita el que desarrolla al software la descripción de los resultados deseados, los cuales se traducen automáticamente en código fuente para producir dichos resultados. Obviamente debe existir una estructura de datos con información relevante y debe estar rápidamente accesible al L4G.Editar
El ultimo paso de la figura anterior contiene la palabra producto par transformar una implementación T4G en un producto, el que lo desarrollo debe dirigir una prueba completa, desarrollar una documentación con sentido y ejecutar todas las otras actividades de transición requeridas en los otros paradigmas de la ingeniería de software. Además del software desarrollado con T4g, debe ser construido de forma que facilite que el mantenimiento y pueda ser ejecutado de una forma experitiva. Los defensores aducen reducciones dramáticas en el tiempo de desarrollo en el software y una mejora significativa en la productividad de la gente que construye el software. Los retractores de este paradigma aducen que los lenguajes de programación, que el código fuente producido por tales herramientas es ineficiente y que el mantenimiento de grandes sistema de software desarrollado usando T4g esta abierta a discusión.Editar
Hay algunos méritos en las razones de cada parte. Aunque es algo difícil separar los hechos de las suposiciones es posible resumir el estado actual de los métodos T4G:Editar
  1. =====Con muy pocas excepciones el dominio de aplicación actual de las T4G esta limitada a las aplicaciones de sistema de información comerciales, específicamente del análisis de información comerciales, específicamente del análisis de información y de la obtención de informes en las grandes bases de datos. Hasta la fecha T4G se han usado muy poco en productos de ingeniería y áreas de aplicación de sistemas.=====
  2. =====La recolección de datos preliminares que acompañan al uso de T4G parece indicar que el tiempo requerido para producir software se reduce mucho para aplicaciones pequeñas de trabajo medio así como también la cantidad e análisis y diseño.=====
  3. =====Sin embargo el uso de T4G para grandes trabajos de desarrollo de software exige el mismo o más tiempo de análisis, diseño y prueba perdiéndose así un tiempo sustancial que se ahorra mediante la eliminación de la codificación.=====
Para resumir las técnicas de cuarta generación se convertirán en una parte importante en el desarrollo del software durante la siguiente década. Como muestra la siguiente figura la demanda del software continuara creciendo durante el resto del siglo, pero los métodos y paradigmas convencionales contribuirán cada vez menos al desarrollo del mismo.Editar
Las T4G rellenan el hueco que existe hasta que sean practicables los métodos de la IA de la quinta generación.Editar

==Editar

==Editar

==Editar