Lenguajes de programación de cuarta y quinta generación Anngelyne Lazaro PDF

Title Lenguajes de programación de cuarta y quinta generación Anngelyne Lazaro
Author Anngelyne
Course Ingenieria Asistida por Computadora
Institution Universidad Autónoma Juan Misael Saracho
Pages 12
File Size 602.2 KB
File Type PDF
Total Downloads 19
Total Views 133

Summary

Resumen hecho en clases y trabajos de investigación para la asignatura correspondiente con su respectiva bibliografia...


Description

Lenguajes de cuarta y quinta generación Estudiante: Anngelyne Lazaro Davila Docente: Ing. Jhonny Héctor Fernández López Materia: Introducción a la Computación Carrera: Ingeniería en Sistemas

Universidad Autónoma Juan Misael Saracho Facultad de Ciencias Integradas de Bermejo

0

Índice Introducción

2

Generaciones y evolución de lenguajes de programación

3

a) Generaciones de lenguaje b) Evolución de los lenguajes de programación

3 3

Lenguajes de cuarta generación a) Características generales b) Ejemplos de lenguajes de cuarta generación a. Progress 4GL b. SQL (Structured Query Language) c. WinDev d. PowerBuilder e. Informix 4GL f. Mathematica c) Conclusiones Lenguajes de quinta generación a) Características generales b) Ejemplos de lenguajes de quinta generación a. Prolog b. OPS5 c. Mercury d. Haskell c) Conclusiones Bibliografía

5 5 6 6 6 6 7 7 7 8 9 9 9 9 10 10 10 10 11

1

Introducción Si queremos esbozar los tipos de lenguajes de programación, debemos remontarnos a 1843, cuando la primera programadora de la historia, Ada Lovelace, escribió el primer algoritmo para la máquina analítica inventada por Charles Babbage. Aunque el motor de análisis de Babbage y el algoritmo Ada nunca se han utilizado, este esfuerzo ha aparecido como el comienzo de la programación en la historia de la informática.

Con variedad de aplicaciones y computadoras, hemos visto como hoy en día existe una demanda de diferentes tipos de lenguajes de programación que nos permitan programarlos y poder realizar el trabajo creado para ellos. Del mismo modo, la demanda de programadores está aumentando y no parece detenerse, especialmente para el desarrollo de aplicaciones web y móviles. Un lenguaje de programación es un lenguaje formal diseñado para realizar procesos que pueden ser llevados a cabo por máquinas como las computadoras. Pueden usarse para crear programas que controlen el comportamiento físico y lógico de una máquina, para expresar algoritmos con precisión, o como modo de comunicación humana. Está formado por un conjunto de símbolos y reglas sintácticas y semánticas que definen su estructura y el significado de sus elementos y expresiones. Al proceso por el cual se escribe, se prueba, se depura, se compila (de ser necesario) y se mantiene el código fuente de un programa informático se le llama programación. Un lenguaje de programación proporciona los elementos de lenguaje necesarios que son necesarios para traducir los pasos de un pseudocódigo en formato comprensible de la máquina. En otras palabras, el lenguaje de programación proporciona el puente para hacer la transición de pseudocódigo legible por humano instrucciones legibles por máquina. Las dos clasificaciones principales de lenguajes de programación son: bajo nivel de lenguaje de programación y lenguaje de programación de alto nivel. 2

Generaciones y evolución de lenguajes de programación a) Generaciones de lenguaje 



 



Los lenguajes de primera generación - 1GL, son lenguajes de bajo nivel conocidos como lenguaje de máquina. Se utilizan para programar las computadoras a un nivel muy bajo de abstracción. Los lenguajes de segunda generación - 2GL, también son lenguajes ensambladores de bajo nivel. Se usan en kernels y unidades de hardware, además de ser usados comúnmente para edición de video, gráficos y videojuegos. Los lenguajes de tercera generación - 3GL, son lenguajes de alto nivel, como C, C++, C#, Java, BASIC, JavaScript y Visual Basic. Los lenguajes de cuarta generación - 4GL, son lenguajes que consisten en declaraciones similares a las declaraciones hechas en un lenguaje humano. Los lenguajes de cuarta generación se usan comúnmente en la programación de bases de datos y los ejemplos de scripts incluyen Unix Shell, Perl, PHP, Python, Ruby y SQL. Los lenguajes de quinta generación - 5GL, son lenguajes de programación que contienen herramientas visuales para ayudar a desarrollar un programa. Ejemplos de lenguajes de quinta generación incluyen Mercury, OPS5 y Prolog.

b) Evolución de los lenguajes de programación Existe tanta variedad de lenguajes de programación en la actualidad que los desarrolladores pueden decidir si usar un lenguaje o no basado en la preferencia del cliente o en la suya. Los lenguajes de programación se desarrollaron formalmente desde 1957, dando origen a algunos de los lenguajes de programación más populares. El rápido crecimiento de Internet a mediados de la década de 1990 fue un gran impulso para la evolución de los lenguajes de programación.  







Se menciona en la introducción que la programación empezó con Ada Lovelace y su algoritmo para la máquina analítica de Charles Baggage en 1843. Autocode, fue desarrollado por Alick Glennie para la computadora Mark 1 en la Universidad de Manchester en el Reino Unido en 1952. Autocode se considera el primer lenguaje de programación compilado. En 1957, John Backus creó el lenguaje de programación FORTRAN (Formula Translation), que significa traducción de fórmulas, para trabajar a través de trabajos científicos, matemáticos y estadísticos complejos. Fue el primer lenguaje de programación de alto nivel del mundo. En 1958, un comité creó ALGOL (Algorithmic Language), que significa lenguaje algorítmico. Si bien el lenguaje no nos es familiar hoy, se considera una base para los que sí lo son, como C, Java y Pascal. En 1959 Amazing Grace Hopper, diseñó COBOL (common business-oriented language), que significa lenguaje común orientado a los negocios, fue creado como parte de un esfuerzo del Departamento de Defensa de los Estados Unidos para crear un lenguaje de programación portátil para el procesamiento de datos. 3





  









En 1964, BASIC (Beginner’s All-purpose Symbolic Instruction Code), que significa el Código de Instrucción Simbólica para Principiantes, fue desarrollado por John G. Kemeny y Thomas E. Kurtz en Dartmouth College. En 1972, Dennis Ritchie en Bell Lab desarrolló el lenguaje llamado C, que se considera el primer lenguaje de alto nivel. Algunos consideran C como el lenguaje de programación más importante de la historia. En 1983 se crea C++ como una extensión del lenguaje C, fue desarrollado por Bjarne Stroustrup. En 1991 Guido Van Rossum desarrolló Python y lo nombró en honor al grupo de comedia británico Monty Python. También en 1991, un pequeño grupo de ingenieros de Sun llamado el "Equipo Verde" creía que la próxima ola en computación era la unión de dispositivos y computadoras digitales de consumo. Dirigido por James Gosling, el equipo creó el lenguaje de programación que revolucionaría nuestro mundo: Java. En 1995 y sólo en 10 días, Brendan Eich creó JavaScript. Es el lenguaje de elección para programación web y se encuentra en la mayoría de los navegadores y sitios en Internet. A finales de 1995 fue lanzada la primera versión de Ruby, con la intención de ser un lenguaje de secuencias de comandos orientado a objetos mejor de lo que ya estaba disponible en el momento. En noviembre de 2009, Google lanza Go como un proyecto de código abierto. Estaba destinado a mejorar el entorno de trabajo de los programadores para que pudieran escribir, leer y mantener grandes sistemas de software de manera más eficiente. En 2014, Apple inventó Swift, que lo convierte en una adición bastante reciente a la lista de lenguajes de programación. Según Apple: “Swift es un lenguaje de programación potente e intuitivo para macOS, iOS, watchOS, tvOS y más. Escribir código Swift es interactivo y divertido, la sintaxis es concisa pero expresiva e incluye características modernas que los desarrolladores adoran”.

Existen muchos otros lenguajes que han sido creados durante esta evolución, sin embargo, aquí se mencionan los más relevantes.

4

Lenguajes de cuarta generación Los lenguajes de cuarta generación o bien 4GL son herramientas encargadas de optimizar el desarrollo de software automatizando la creación de este. Se han utilizado principalmente en la generación de código para GUI y además en la implementación de programas que facilitan las tareas de los desarrolladores y clientes. La base de los 4GL es que el usuario no dice como se harán las cosas, solo brinda parámetros y el programa se encargara de generar los solicitado por el usuario, sea esto desde generación de reportes de bases de datos a solucionar un problema matemático. Para mostrar lo anterior basta contemplar que para un mismo programa mientras hay cientos de líneas de código en un lenguaje de tercera generación, en un 4GL la cantidad de código necesario pasa a ser de unas pocas líneas nada más. Esto porque los 4GL vienen acompañados de poderosas herramientas y se acercan en gran medida al lenguaje humano, siendo más concretos y fáciles de entender. Hay que recordar que la potencia de los 4GL se basa en la posibilidad de generar código automáticamente y que sin embargo la funcionalidad adquirida hasta hoy ha sido bastante reducida. Los primeros 4GL han basado toda su potencia de generación automática de código en el prototipaje de GUI, dejando un déficit en la generación de código orientado al manejo de datos y los procesos funcionales.

Características generales  La cuarta generación incorpora lenguajes y metodologías de más alto nivel, con lo cual, empleando sentencias simples, se generan instrucciones que, en los lenguajes 3GL, hubiesen sido más complicadas.  Estos también disminuyen la posibilidad de errores al programar.  Son más flexibles para las aplicaciones y conversión de códigos.  Es posible elaborar programas en menor tiempo, lo que conlleva a un aumento de la productividad.  Algunos 4GLs cuentan con un diccionario en el que almacenan la información referente a los objetos de aplicación. Esto facilita la gestión de los objetos generados especialmente para trabajos en grupo.  Los 4GLs incorporan módulos para la construcción rápida de pantallas, ya sea en modo carácter o en modo gráfico. Asimismo, algunos cuentan con un módulo de generación de informes a través de consultas a la base de datos.  Incorpora la interfaz con el gestor de base de datos. Facilita toda la comunicación con la base de datos, desde el diseño de las tablas hasta la construcción de sentencias para recuperar información. La mayoría de los 4GLs soporta el lenguaje SQL estándar como lenguaje de acceso a base de datos relacionales, lo que garantiza la portabilidad.  Hay 4GLs que permiten una ejecución controlada del código para poder aislar un error, con técnicas de ejecución paso a paso, localizando los puntos de parada y permitiendo la modificación del contenido de las variables durante la ejecución.

5

Ejemplos de lenguajes de cuarta generación a) Progress 4GL Progress 4GL o Progress OpenEdge como se han llamado sus últimas versiones, es un lenguaje muy utilizado pues es portable y muy confiable. Es una plataforma diseñada para ayudar a los desarrolladores en la construcción de aplicaciones empresariales de forma rápida, esto ayuda a recuperar la inversión de manera más rápida. OpenEdge es una plataforma abierta y flexible. Progress incluye herramientas de programación y de base de datos, y recursos de servidores todo en su ambiente, permitiendo fácil acceso a todos los recursos para crear aplicaciones.

b) SQL (Structured Query Language) Es un lenguaje de acceso a bases de datos relacionales con el cual se pueden crear y manipular las mismas. La información de las bases de datos se guarda en tablas. Una sentencia SQL es una frase con la que decimos lo que queremos obtener y de que tablas deseamos obtenerla. Una sentencia tiene un formato de cómo realizarse y empieza con una palabra reservada que indica la acción que se quiere realizar, luego siguen lo que uno quiere hacer respecto a la acción definida. SQL permite realizar consultas mediante sentencias SQL con el fin de poder desplegar información importante que se quiera de alguna o varias tablas.

c) WinDev Es una herramienta de desarrollo desarrollada por la empresa francesa PC SOFT. Tiene la facilidad para desarrollar aplicaciones en Windows, .NET, Internet y Java. Permite el desarrollo de interfaz gráfica. En WinDev la calidad de las aplicaciones dependen menos del equipo de desarrollo que con otras herramientas, esto debido a que trae un conjunto de funciones avanzadas sin la necesidad de que alguien las programe, por ejemplo, puede ser que el entorno detecte que mejoras para aumentar el rendimiento y la velocidad del sistema y este mismo las sugiere y las realiza automáticamente, además, posee una herramienta generadora de reportes automática. WinDev además de permitir el desarrollo de código y programas en distintos lenguajes, permite leer y escribir en todas las bases de datos. Es un programa muy completo porque permite desarrollar cualquier aplicación. Su crecimiento se debe a su gran portabilidad y su facilidad de uso para los usuarios.

6

d) PowerBuilder Es una herramienta de desarrollo desarrollada por la empresa Sybase. Es un entorno gráfico de programación orientado a objetos para el desarrollo de aplicaciones cliente/servidor, distribuidas y web. Incluye herramientas para generar reportes, acceder a bases de datos y para crear una interfaz gráfica. El lenguaje de escritura es PowerScript. Una escritura consiste en realizar las declaraciones que realizan el proceso en respuesta a un evento.

e) Informix 4GL Es una estructura basada en ventanas y caracteres orientados que permite a desarrolladores preparar o directamente incrustar en un código fuente de un lenguaje de cuarta generación determinado la estructura estándar de consultas SQL. Desde el código fuente del 4GL el pre-procesador del Informix genera pseudocódigos de máquina o código C, dependiendo de cuál haya sido el 4GL elegido en el momento de compilación. Para producir las aplicaciones se utilizan tres diferentes productos: el Compilador, el Sistema Rápido de Desarrollo y el Depurador Interactivo. El compilador genera el código que puede ser compilado en el código objeto, el sistema rápido de desarrollo reduce en gran manera el tiempo de compilación creando el pseudocódigo y el depurador ayuda a la detección y rápida corrección de errores dentro de la aplicación. Dado que su lanzamiento fue en 1986 muchas aplicaciones creadas utilizándolo tal vez ya son muy viejas y necesitan adaptarse a las nuevas necesidades como la compatibilidad y uso de interfaces gráficas para el usuario, por esto es que se ha desarrollado una nueva versión de Informix denominada Informix Dynamic 4GL que permite migrar hacia las nuevas necesidades del mercado con una simple recompilación del programa lo que facilita en gran medida el proceso de adaptación a las nuevas tecnologías.

f) Mathematica Se contemplan muchos de los aspectos técnicos de la computación como el manejo numérico, la conversión de datos, la visualización y la creación de interfaces para el usuario. El avance intelectual que hizo posible el desarrollo de un paquete tan completo fue la invención de un lenguaje que fuera capaz de manipular la gran cantidad de objetos que alberga la computadora técnica. El crecimiento de esta herramienta se debe también a que permite diseñar y analizar diferentes comportamientos que pueden tener ciertos procedimientos, ya que con su interfaz hace muy fácil la contemplación de detalles que tal vez no serían tan claros de otra manera.

7

Conclusiones La evolución de los lenguajes tiende a cada vez más alejarnos de la máquina, creando una mayor abstracción de los problemas a resolver, esto es beneficioso pues genera un ahorro significativo de recursos como el tiempo. Los lenguajes de cuarta generación tienden a ser muy compatibles entre sus mismas evoluciones lo que nos permite crear aplicaciones con la confianza de que el trabajo realizado no será desechado más adelante. Es importante resaltar que para utilizar un 4GL se debe tener claro que, si se desea manipular para sacarle mayor rendimiento, se debe de hacer cambiando la forma normal de hacer software. Para esto, los programadores deben de volverse analistas, deben dominar técnicas estructuradas, conceptos de diseño. Y todo esto para poder obtener una mayor productividad, una mayor facilidad al dar mantenimiento y además una mejor apariencia de la aplicación.

8

Lenguajes de quinta generación Un sistema de quinta generación agrupa conocimientos complejos para que una máquina pueda dibujar inferencias. En algunos casos, el procesamiento de inferencias es utilizado para realizar tareas que, a través de su complejidad, se miran triviales para los humanos, tales como el reconocimiento de la voz, visión y el lenguaje humano. En otros casos, el procesamiento rápido de las inferencias que no son instintivas para los humanos, hace que el software parezca altamente inteligente. En áreas especializadas del conocimiento, la máquina puede mostrar una aparente experiencia mayor que la mayoría de los humanos. Los lenguajes que dicen ser de quinta generación están todavía en un estado embrionario. Existe una variedad de “shells” para construir sistemas expertos y proveer un lenguaje de alto nivel, usualmente con LISP, como un lenguaje base. Técnicas para comunicarse con una computadora en un lenguaje humano son algunas descritas como “quinta generación”, estos son utilizados actualmente en bases de datos y generación de reportes.

Características Generales  Son sistemas basados en el conocimiento.  Son utilizados usualmente en disciplinas que son originadas en el campo de la inteligencia artificial.  Aumenta la capacidad de memoria.  Contienen multiprocesadores que permiten el intercambio de información a mayor velocidad.  En lugar de usar los acostumbrados algoritmos se plantea la lógica.  Tienen traductores instantáneos.

Ejemplos de lenguajes de quinta generación a) Prolog Inicialmente se trataba de un lenguaje interpretado hasta que, una década más tarde, se creó un compilador capaz de traducir Prolog en un conjunto de instrucciones de una máquina abstracta denominada WAM ("Warren Abstract Machine"), lo que lo convirtió desde entonces en un lenguaje semi-interpretado. Un programa Prolog se compone de un conjunto de hechos (afirmaciones simples) y de reglas (que sirven para afirmar la veracidad de un hecho en base a otros). El conjunto de hechos de un programa viene a ser el equivalente a contar con una base de datos, aunque en este contexto se habla de 'base de conocimientos'. La representación de hechos simples no es lo común en la clasificación de elementos, sino que se agrupan los elementos de un mismo tipo en una lista.

9

Las listas son colecciones de elementos en Prolog. Una lista se divide en dos partes: Cabeza. Es el primer elemento de la lista. Cola. Es una lista con el resto de los elementos de la lista. La cabeza y la cola de una lista se separan con el símbolo "|".

b) OPS5 Es quizás el menos conocido, no obstante, su importancia en el desarrollo de la inteligencia artificial fue clave dado que fue el primer lenguaje usado con resultado de éxito en un sistema experto. La familia de los lenguajes OPS (Oficial Production System) fue desarrollada a finales de la década de 1970 por Charles Forgy, se trata de un lenguaje para ingeniería cognoscitiva que aguanta el procedimiento de representación del conocimiento en forma de reglas.

c) Mercury Mercury es un lenguaje de programación lógica/funcional que combina la claridad y la expresividad de la programación declarativa con funciones avanzadas de análisis estático y detección de errores. Dentro de sus características tenemos que es basado en Prolog, soporta modos, tiene un fuerte sistema de determinismo, es modularizado, su compilador facilita el análisis estático y la optimización de código.

d) Haskell Es un lenguaje de programación puramente funcional. En los lenguajes imperativos obtenemos resultados dándole al computador una secuencia de tareas q...


Similar Free PDFs