stringtranslate.com

Lenguaje de programación de cuarta generación.

Un lenguaje de programación de cuarta generación ( 4GL ) es un lenguaje de programación informática de alto nivel que pertenece a una clase de lenguajes concebidos como un avance de los lenguajes de programación de tercera generación (3GL). Cada una de las generaciones de lenguajes de programación tiene como objetivo proporcionar un mayor nivel de abstracción de los detalles internos del hardware de la computadora , haciendo que el lenguaje sea más amigable para el programador , potente y versátil. Si bien la definición de 4GL ha cambiado con el tiempo, se puede caracterizar por operar más con grandes colecciones de información a la vez en lugar de centrarse solo en bits y bytes . Los lenguajes que se afirma que son 4GL pueden incluir soporte para gestión de bases de datos , generación de informes , optimización matemática , desarrollo de GUI o desarrollo web . Algunos investigadores afirman que los 4GL son un subconjunto de lenguajes de dominio específico . [1] [2]

El concepto de 4GL se desarrolló desde la década de 1970 hasta la de 1990, superponiéndose a la mayor parte del desarrollo de 3GL, con los 4GL identificados como lenguajes "no procedimentales" o "generadores de programas", en contraste con los 3GL como lenguajes algorítmicos o procedimentales. Si bien los 3GL como C , C++ , C# , Java y JavaScript siguen siendo populares para una amplia variedad de usos, los 4GL, tal como se definieron originalmente, encontraron usos centrados en bases de datos, informes y sitios web. [3] Algunos 3GL avanzados como Python , Ruby y Perl combinan algunas capacidades 4GL dentro de un entorno 3GL de propósito general, [4] y se han desarrollado bibliotecas con características similares a 4GL como complementos para los 3GL más populares, produciendo lenguajes que son una mezcla de 3GL y 4GL, lo que borra la distinción. [5]

En las décadas de 1980 y 1990, hubo esfuerzos para desarrollar lenguajes de programación de quinta generación (5GL).

Historia

Aunque se utilizó anteriormente en artículos y debates, el término 4GL fue utilizado formalmente por primera vez por James Martin en su libro de 1981 Desarrollo de aplicaciones sin programadores [6] para referirse a lenguajes de especificación de alto nivel no procedimentales . De alguna manera primitiva, los primeros 4GL se incluyeron en el producto Informatics MARK-IV (1967) y en el MAPPER de Sperry (uso interno en 1969, lanzamiento en 1979).

Las motivaciones para el inicio y el interés continuo de '4GL' son varias. El término puede aplicarse a un gran conjunto de productos de software. También puede aplicarse a un enfoque que busca mayores propiedades semánticas y poder de implementación. Así como el 3GL ofrecía mayor poder al programador, el 4GL también abrió el entorno de desarrollo a una población más amplia.

El primer esquema de entrada para el 4GL admitía la entrada de datos dentro del límite de 72 caracteres de la tarjeta perforada (8 bytes utilizados para la secuenciación), donde la etiqueta de una tarjeta identificaría el tipo o función. Con el uso sensato de unas pocas cartas, la baraja 4GL podría ofrecer una amplia variedad de capacidades de procesamiento y presentación de informes, mientras que la funcionalidad equivalente codificada en una baraja 3GL podría abarcar, tal vez, una caja entera o más de cartas . [7]

El formato de 72 caracteres continuó durante un tiempo a medida que el hardware avanzaba hacia interfaces de terminal y memoria más grandes. Incluso con sus limitaciones, este enfoque admitía aplicaciones muy sofisticadas.

A medida que las interfaces mejoraron y permitieron declaraciones más largas y un manejo de entrada basado en la gramática, se produjo una mayor potencia. Un ejemplo de esto se describe en la página de Nomad .

Otro ejemplo del poder de Nomad lo ilustra Nicholas Rawlings en sus comentarios para el Museo de Historia de la Computación sobre NCSS (ver cita a continuación). Informa que James Martin le pidió a Rawlings una solución Nomad para un problema estándar que Martin llamó el problema del ingeniero : "dar aumentos del 6% a los ingenieros cuyas calificaciones laborales tuvieran un promedio de 7 o mejor". Martin proporcionó "una docena de páginas de COBOL, y luego sólo una o dos páginas de Mark IV , de Informática ". Rawlings ofreció la siguiente declaración, realizando una operación de configuración de tiempo...

El desarrollo del 4GL estuvo influenciado por varios factores, teniendo un gran peso las limitaciones de hardware y sistema operativo. Cuando se introdujo el 4GL por primera vez, una combinación dispar de hardware y sistemas operativos exigía un soporte de desarrollo de aplicaciones personalizado que fuera específico para el sistema con el fin de garantizar las ventas. Un ejemplo es el sistema MAPPER desarrollado por Sperry . Aunque sus raíces se remontan al principio, el sistema ha demostrado ser exitoso en muchas aplicaciones y ha sido adaptado a plataformas modernas. La última variante está integrada en la oferta BIS [8] de Unisys . MARK-IV ahora se conoce como VISION:BUILDER y lo ofrece Computer Associates .

El ferrocarril de Santa Fe utilizó MAPPER para desarrollar un sistema, en un proyecto que fue un ejemplo temprano de 4GL, creación rápida de prototipos y programación por parte de los usuarios . [9] La idea era que era más fácil enseñar a los expertos ferroviarios a utilizar MAPPER que enseñar a los programadores las "complejidades de las operaciones ferroviarias". [10]

Uno de los primeros (y portátiles) lenguajes que tenía propiedades 4GL fue Ramis desarrollado por Gerald C. Cohen en Mathematica , una empresa de software matemático. Cohen dejó Mathematica y fundó Information Builders para crear un 4GL similar orientado a informes, llamado FOCUS .

Los tipos 4GL posteriores están vinculados a un sistema de base de datos y son muy diferentes de los tipos anteriores en el uso de técnicas y recursos que han resultado de la mejora general de la informática con el tiempo.

Un giro interesante en la escena 4GL es la comprensión de que las interfaces gráficas y el razonamiento relacionado realizado por el usuario forman un "lenguaje" que no se comprende bien.

Tipos

Existen varios tipos diferentes de 4GL:

Algunos 4GL tienen herramientas integradas que permiten especificar fácilmente toda la información requerida:

Entornos de código bajo

En el siglo XXI, los sistemas 4GL han surgido como entornos o plataformas de "código bajo" para el problema del desarrollo rápido de aplicaciones en cortos períodos de tiempo. Los proveedores suelen proporcionar sistemas de muestra, como CRM, gestión de contratos y seguimiento de errores, a partir de los cuales se puede desarrollar con poca programación. [11]

Ejemplos

Uso general / versátil

Lenguajes de consulta de bases de datos

Generadores de informes

Las herramientas de generación de informes extraen datos de archivos o bases de datos para crear informes en una amplia gama de formatos.

Manipulación de datos, análisis y lenguajes de generación de informes.

Creadores de software

Optimización matemática

Desarrollo de aplicaciones GUI basadas en bases de datos

Plataformas de desarrollo de código bajo/sin código

Fuente: [12] [13]

Pintores de pantalla y generadores.

Lenguajes de desarrollo web

Lenguaje de programación musical

Ver también

Referencias

  1. ^ 35.a Conferencia Internacional de Hawái sobre Ciencias de Sistemas: 1002 lenguajes de dominio específico para ingeniería de software Archivado el 16 de mayo de 2011 en Wayback Machine .
  2. ^ Arie van Deursen; Paul Klint; Joost Visser (1998). "Idiomas testigo de dominios específicos: una bibliografía comentada". Archivado desde el original el 2 de febrero de 2009 . Consultado el 15 de marzo de 2009 .
  3. ^ MacDonell, Stephen (noviembre de 1993). "Desarrollo de software, herramientas CASE y 4GL: una encuesta sobre el uso de Nueva Zelanda. Parte 1: 750 organizaciones de Nueva Zelanda". hdl : 10523/928 . {{cite journal}}: Citar diario requiere |journal=( ayuda )
  4. ^ "Generaciones de software de Roger Clarke".
  5. ^ "Definición de lengua de cuarta generación". PCMAG . Consultado el 7 de mayo de 2020 .
  6. ^ Martín, James . Desarrollo de aplicaciones sin programadores. Prentice-Hall, 1981. ISBN 0-13-038943-9
  7. ^ "Tarjetas perforadas de IBM". www.columbia.edu . Archivado desde el original el 16 de febrero de 2019 . Consultado el 3 de febrero de 2019 .
  8. ^ "Software de minería de datos, análisis de datos y más: características del servidor de información empresarial de Unisys". Unisis . 2006-08-21. Archivado desde el original el 21 de agosto de 2006 . Consultado el 3 de febrero de 2019 .
  9. ^ Louis Schlueter (1988). Computación diseñada por el usuario: la próxima generación .[libro sobre generador de informes y sistemas MAPPER]
  10. ^ Bárbara Canning McNurlin; Ralph H. Sprague (2004). "Capítulo 9". Gestión de sistemas de información en la práctica (PDF) . Pearson/Prentice Hall. ISBN 978-0-13-101139-7.[ enlace muerto permanente ]
  11. ^ Forrest, Conner. "Cómo Salesforce está utilizando la orquestación de código bajo para salvar 'proyectos de IoT que se tambalean'". ZDNet .
  12. ^ Marvin, Rob (10 de agosto de 2018). "Las mejores plataformas de desarrollo Low-Code para 2019". PCMAG .
  13. ^ Sayer, Martin Heller y Peter (6 de abril de 2018). "25 herramientas sencillas para crear aplicaciones móviles rápidamente". InfoMundo . Archivado desde el original el 18 de noviembre de 2017 . Consultado el 17 de noviembre de 2017 .
  14. ^ "DronaHQ. Cree aplicaciones sin codificar". www.dronahq.com . Archivado desde el original el 9 de agosto de 2019 . Consultado el 11 de septiembre de 2019 .