stringtranslate.com

Lenguaje de programación de quinta generación.

Un lenguaje de programación de quinta generación ( 5GL ) es un lenguaje de programación de alto nivel basado en la resolución de problemas utilizando restricciones dadas al programa, en lugar de utilizar un algoritmo escrito por un programador. [1] La mayoría de los lenguajes de programación lógica y basados ​​en restricciones y algunos otros lenguajes declarativos son lenguajes de quinta generación.

Historia

Mientras que los lenguajes de programación de cuarta generación están diseñados para crear programas específicos, los lenguajes de quinta generación están diseñados para hacer que la computadora resuelva un problema determinado sin el programador. De esta forma, el usuario sólo debe preocuparse de qué problemas debe resolver y qué condiciones debe cumplir, sin preocuparse de cómo implementar una rutina o algoritmo para resolverlos. Los lenguajes de quinta generación se utilizan principalmente en la investigación de inteligencia artificial . OPS5 y Mercury son ejemplos de lenguajes de quinta generación, [2] al igual que ICAD , que se construyó sobre Lisp . KL-ONE es un ejemplo de una idea relacionada, un lenguaje marco .

En la década de 1980, se consideraba que los lenguajes de quinta generación eran el camino del futuro, y algunos predijeron que reemplazarían la programación procedimental con programación basada en restricciones para todas las tareas que pudieran enmarcarse como una serie de restricciones lógicas. [3] En particular, de 1982 a 1993, Japón [4] [5] invirtió mucha investigación y dinero en su proyecto de sistemas informáticos de quinta generación , con la esperanza de diseñar una red informática masiva de máquinas que utilizaran estas herramientas.

Sin embargo, a medida que se construyeron programas más amplios, los defectos del enfoque se hicieron más evidentes. Resulta que, dado un conjunto de restricciones que definen un problema particular, derivar un algoritmo eficiente para resolverlo es un problema muy difícil en sí mismo. Este paso crucial aún no se puede automatizar y aún requiere la visión de un programador humano.

Malentendido común

Se sabe que en ocasiones los proveedores anuncian sus idiomas como 5GL. La mayoría de las veces venden 4GL con un mayor nivel de automatización y base de conocimientos . Debido a que el revuelo de la década de 1980 se desvaneció y todos los proyectos finalmente se abandonaron, la conciencia sobre 5GL también disminuyó; Esto ha abierto las puertas a los proveedores para reutilizar el término en la comercialización de sus nuevas herramientas, sin causar mucha controversia entre las actuales generaciones de programadores. [6]

Ver también

Referencias

  1. ^ Dong, Jielin, ed. (2007). Diccionario de red . Saratoga, California: Javvin Technologies, Inc. p. 195.ISBN​ 9781602670006.
  2. ^ E. Balagurusamy, Fundamentos de la informática , McGraw Hill Education (India), 2009, ISBN 978-0070141605 , p. 340 
  3. ^ Kahanwal, Brijender (4 de octubre de 2013). "Una taxonomía para lenguajes de programación con procesos multisecuenciales". Revista Internacional de Lenguajes y Aplicaciones de Programación . 3 (4). arXiv : 1311.3293 . doi :10.5121/ijpla.2013.3401.
  4. ^ Richard Grigonis. «ORDENADORES DE QUINTA GENERACIÓN» . Consultado el 5 de marzo de 2008 .
  5. ^ montaña rusa. «Asociación de Programación Lógica (ALP)» . Consultado el 5 de marzo de 2008 .
  6. ^ Howard, Philip (17 de enero de 2007). "¿Qué hace que un 5GL?" El registro . Consultado el 28 de noviembre de 2019 .