Lenguaje de programación de cuarta generación, Historia, Tipos, Algunos lenguajes de cuarta generación

El lenguaje de programación de cuarta generación término se entiende mejor como un entorno de cuarta generación, los paquetes de software de desarrollo de sistemas, incluyendo lenguajes de programación de muy alto nivel. Un lenguaje de alto nivel de programación y un entorno de desarrollo o 'Workbench Analyst' diseñado con un sistema central de diccionario de datos, una biblioteca de patrones de diseño de acoplamiento flexible, un generador de CRUD, generador de informes, lenguaje de consulta para el usuario final, DBMS, herramienta de diseño visual y integración de la API. Históricamente se utiliza a menudo para creación de prototipos y el desarrollo evolutivo de software empresarial comercial. En la historia de la informática, el 4GL siguió el 3GL en una tendencia creciente hacia una mayor abstracción y poder comunicado. Los 4GL fue seguido por los esfuerzos para definir y utilizar un 5GL.

El modo de lenguaje natural, estructura de bloques de los lenguajes de programación de tercera generación ha mejorado el proceso de desarrollo de software. Sin embargo, los métodos de desarrollo 3GL puede ser lento y propenso a errores. Se hizo evidente que algunas aplicaciones podrían desarrollarse más rápidamente mediante la adición de un lenguaje de programación de alto nivel y la metodología que generaría el equivalente de instrucciones 3GL muy complicadas con menos errores. En algunos sentidos, la ingeniería de software surgió de manejar el desarrollo 3GL. Proyectos 4GL y 5GL están más orientados hacia la solución de problemas y la ingeniería de sistemas.

Todos 4GLs están diseñados para reducir el esfuerzo de programación, el tiempo que se necesita para desarrollar software, y el costo de desarrollo de software. Ellos no siempre tienen éxito en esta tarea, a veces resulta en poco elegante y código imposible de mantener. Sin embargo, dado el problema de la derecha, el uso de un 4GL adecuada puede ser un éxito espectacular como se vio con el MARK-IV y MAPPER. Las mejoras de usabilidad obtenidos por algunos 4GLs permite una mejor exploración de soluciones heurísticas que hizo el 3GL.

Una definición cuantitativa de 4GL ha sido establecido por Alcaparras Jones, como parte de su trabajo en el análisis de puntos de función. Jones define las distintas generaciones de lenguajes de programación en términos de productividad de los desarrolladores, medidos en puntos de función por persona-mes. A 4GL se define como un lenguaje compatible con 12-20 puntos de función por mes del personal. Esto se correlaciona con cerca de 16 a 27 líneas de código por punto implementado en un 4GL función.

Lenguajes de cuarta generación han sido a menudo comparado con los lenguajes de programación específicos del dominio. Algunos investigadores afirman que 4GLs son un subconjunto de los DSL.

Historia

Aunque utilizado anteriormente en los documentos y discusiones, los 4GL término fue utilizado por primera vez oficialmente por James Martin en su libro de 1982 Desarrollo de Aplicaciones Sin programadores para referirse a la falta de procedimientos lenguajes de especificación de alto nivel. De alguna manera primitiva, a principios de 4GL se incluyeron en la Informática MARK-IV productos y MAPPER de Sperry.

Las motivaciones para la creación, el '4 GL 'y continuo interés son varias. El término se puede aplicar a un amplio conjunto de productos de software. También se puede aplicar a un enfoque que busca mayores propiedades semánticas y aplicación de energía. Así como el 3GL ofrece mayor potencia al programador, también lo hicieron los 4GL abrir el entorno de desarrollo de una población más amplia.

En cierto sentido, el 4GL es un ejemplo de transformación »cuadro negro ', cada generación está más lejos de la máquina. Es esta última la naturaleza que se asocia directamente con 4GL que tiene errores que son más difíciles, en muchos casos, para depurar. En cuanto a las aplicaciones, un 4GL podría ser orientado a los negocios o podría hacer frente a un dominio técnico. Estar lejos de la máquina implica estar más cerca de dominio. Dada la gran disparidad de los conceptos y métodos a través de dominios, limitaciones 4GL conducen al reconocimiento de la necesidad de que el 5GL.

El régimen de entrada temprano para la entrada apoyado 4GL de datos dentro del límite de 72 caracteres de la tarjeta perforada donde la etiqueta de una tarjeta sería identificar el tipo o función. Con el uso juicioso de algunas tarjetas, la cubierta 4GL podría ofrecer una amplia variedad de procesamiento y reporte de la capacidad mientras que la funcionalidad equivalente codificado en un 3GL podría subsumir, tal vez, una caja entera o más de las tarjetas.

La metáfora 72 caracteres continuó por un tiempo como hardware progresó a mayor memoria y las interfaces de terminales. A pesar de sus limitaciones, este enfoque apoyado aplicaciones altamente sofisticados.

Como las interfaces mejoradas y permiten longitudes declaración más larga y el manejo de entrada gramática impulsado por un mayor poder se produjo. Un ejemplo de esto se describe en la página de Nomad.

 Otro ejemplo del poder de Nomad es ilustrado por Nicholas Rawlings en sus comentarios para el Computer History Museum acerca NCSS. Él informa que James Martin pidió Rawlings de una solución a un problema Nomad norma Martin llamado problema del Ingeniero: "dar 6% plantea a los ingenieros cuyas calificaciones trabajo tenían un promedio de 7 o superior." Martin ofrece una "docena de páginas de COBOL, y luego sólo una o dos páginas de Mark IV, de la informática." Rawlings ofreció la siguiente declaración individual, la realización de un conjunto-en una operación de tiempo ...

El desarrollo de la 4GL fue influenciado por varios factores, con las limitaciones de hardware y sistemas operativos que tienen un gran peso. Cuando se introdujo por primera vez el 4GL, una mezcla dispar de los sistemas operativos y hardware de apoyo mandato desarrollo de aplicaciones personalizadas que era específico para el sistema con el fin de asegurar las ventas. Un ejemplo es el sistema de CARTÓGRAFO desarrollado por Sperry. A pesar de que tiene sus raíces de nuevo al principio, el sistema ha demostrado su eficacia en muchas aplicaciones, y ha sido portado a las plataformas modernas. La última variante se incrusta en la oferta BIS de Unisys. MARK-IV es ahora conocida como VISION: CONSTRUCTOR y es ofrecido por Computer Associates.

Ferrocarril de Santa Fe utiliza MAPPER para desarrollar un sistema, en un proyecto que era un ejemplo temprano de 4GL, prototipado rápido, y la programación de los usuarios. La idea fue que era más fácil enseñar a los expertos ferroviarios utilizar MAPPER que enseñar a los programadores "complejidades de las operaciones ferroviarias".

Uno de los primeros lenguajes 4GL que tenían propiedades Ramis fue desarrollado por Gerald C. Cohen en Mathematica, una compañía de software matemático. Cohen dejó Mathematica y fundó Information Builders para crear una similar 4GL informes orientados, llamadas FOCUS.

Posteriormente tipos 4GL 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 a la escena 4GL es darse cuenta de que las interfaces gráficas y el razonamiento relacionado realizado por el usuario forman un "lenguaje" que se conoce poco.

Tipos

Un número de diferentes tipos de 4GLs existir:

  • Tabla basada en la programación, por lo general se ejecuta con un marco de tiempo de ejecución y bibliotecas. En lugar de utilizar código, el desarrollador define su lógica mediante la selección de una operación en una lista predefinida de comandos de manipulación de la tabla de memoria o los datos. En otras palabras, en lugar de la codificación, el programador utiliza el algoritmo de programación basada en tablas. Un buen ejemplo de este tipo de lenguaje 4GL es PowerBuilder. Estos tipos de herramientas se pueden utilizar para el desarrollo de aplicaciones de negocios por lo general consiste en un paquete que permite tanto la manipulación y la presentación de datos de negocios, por lo tanto, vienen con pantallas de interfaz gráfica de usuario y editores informe. Por lo general, ofrecen integración con archivos DLL de bajo nivel generados a partir de un 3GL típica para cuando surja la necesidad de más hardware/operaciones específicas del sistema operativo.
  • Lenguajes de programación Informe-generadores tienen una descripción del formato de datos y el informe de generar y de que, o bien generar el informe requerido directamente o que generan un programa para generar el informe. Ver también RPG
  • Del mismo modo, las formas generadores gestionar las interacciones en línea con los usuarios del sistema de aplicación o generar programas para hacerlo.
  • Más ambicioso intento 4GLs para generar automáticamente los sistemas completos de los resultados de las herramientas CASE, las especificaciones de las pantallas e informes, y posiblemente también la especificación de una lógica de procesamiento adicional.
  • 4GLs de gestión de datos tales como SAS, SPSS y Stata proporcionan comandos de codificación sofisticados para la manipulación de datos, la remodelación de archivo, la selección de casos y documentación de los datos en la preparación de los datos para el análisis estadístico y presentación de informes.

Algunos 4GLs tienen herramientas integradas que permiten la especificación fácil de toda la información necesaria:

  • La versión de James Martin de la Información Ingeniería metodología de desarrollo de sistemas fue automatizado para permitir la entrada de los resultados de análisis de sistemas y el diseño en forma de diagramas de flujo de datos, diagramas entidad relación, diagramas de entidad de la historia de vida, etc de la cual cientos de miles de líneas de COBOL serían generadas durante la noche.
  • Más recientemente Oracle Designer de Oracle Corporation y Oracle Developer Suite de productos 4GL podrían integrarse para producir definiciones de bases de datos y los formularios y programas de informes.

Algunos lenguajes de cuarta generación

Uso general/versátil

  • Adelia Studio
  • Clarín
  • Clíper
  • CA-Telon 4GL Cobol/PLI generador
  • Cognos PowerHouse 4GL
  • DataFlex
  • Fort HERRAMIENTA
  • Enfoque de Information Builders Inc.
  • FoxPro
  • Genero Negocios Desarrollo del Lenguaje
  • Fresche Legado Speedware 4GL
  • GeneXus
  • IBM Rational EGL
  • LabVIEW
  • LINC
  • Omnis Studio SDK
  • Pantera
  • PowerBuilder
  • Diciembre RALLY
  • SheerPower4GL
  • SQLWindows/Team Developer
  • UNIFACE
  • Visual DataFlex
  • WinDev
  • Xbase
  • Gestionar

Lenguajes de consulta de bases de datos

  • ENFOQUE
  • Genero BDL
  • 4D QL
  • Informix-4GL
  • NATURAL
  • Progress 4GL
  • Ingres 4GL
  • Ramis
  • SQL
  • DYL-280

Generadores de informe

  • BuildProfessional
  • Genero Report Writer
  • LIRC
  • NATURAL
  • Oracle Reports
  • Progreso consulta 4GL/Resultados
  • Búsqueda
  • RPG-II

Manipulación de datos, análisis y presentación de informes idiomas

  • Ab Initio
  • ABAP
  • Aubit-4GL
  • Audit Command Language
  • Clarion Lenguaje de Programación
  • CorVision
  • Culpable
  • ADS/Online
  • Easytrieve
  • ENFOQUE
  • Genero
  • GraphTalk
  • IDL
  • IGOR Pro
  • Informix-4GL
  • LANSA
  • LabVIEW
  • MAPPER ahora parte de BIS
  • MARK-IV ahora VISION: Constructor de CA
  • Mathematica
  • MATLAB
  • NATURAL
  • Nómada
  • PL/SQL
  • Progress 4GL
  • PROIV
  • R
  • Ramis
  • S
  • Scilab
  • SAS
  • SPSS
  • Stata
  • Synon
  • Xbase
  • SQR
  • Xquery Compatible con versiones anteriores de SQL y compatible con versiones futuras fuentes de datos XML.

GUI creadores

  • 4th Dimension
  • Genero Studio
  • GUÍA de MATLAB
  • Omnis Studio
  • OpenROAD
  • Progreso AppBuilder 4GL
  • Revolución
  • XUL puede utilizar con Xquery para crear aplicaciones de bases de interfaz gráfica de usuario web de forma rápida.
  • Visual DataFlex

Optimización matemática

  • AIMMS
  • AMPL
  • GAMS

Desarrollo de aplicaciones GUI con bases de datos

  • Action Request System
  • Genexus
  • SB ﴬ겵먩嵺
  • Progreso Dinámica
  • UNIFACE

Pintores de la pantalla y los generadores

  • Diseñador de pantallas Genero
  • SB ﴬ겵먩嵺
  • Oracle Forms
  • Progreso 4GL ProVision

Lenguajes de desarrollo web