COBOL ( ˈkoʊbɒl ) todavía está uno de los más viejos lenguajes de programación del uso activo. Su nombre es las siglas para el riented L anguage del O del usiness- del B del mmon del CO de, definiendo su dominio primario en el negocio, finanzas, y los sistemas administrativos para las compañías y los gobiernos.

El estándar de COBOL 2002 incluye la ayuda para la programación orientada al objeto y otras características de lengua modernas.

Historia y especificación

COBOL fue creado inicialmente en 1959 por el comité de corto alcance, uno de tres comités propuestos en una reunión celebrada en el el Pentagon el 28 de mayo y 29, 1959, organizado por el Charles Phillips del Departamento de Defensa (exactamente un año de Estados Unidos después de la reunión del ALGOL 58 de Zürich ). Formaron al comité de corto alcance para recomendar un acercamiento de corto alcance a una lengua de negocio común. Fue compuesta de los miembros que representaban seis fabricantes de computadora y tres agencias de estatal. Los seis fabricantes de computadora eran Burroughs Corporation, IBM, Honeywell (laboratorios de Minneapolis de Honeywell), RCA, el rand de Sperry, y los productos eléctricos de Sylvania. Las tres agencias de estatal eran la fuerza aérea de los E., el lavabo modelo de David Taylor, y la oficina nacional de los estándares (ahora National Institute of Standards and Technology ). A un miembro del NBS presidió a este comité. Propusieron un comité de alcance medio y un comité de largo alcance en la reunión de Pentagon también. Sin embargo aunque formaran al comité de alcance medio, nunca era operacional; y formaron al comité de largo alcance nunca incluso. En el extremo un subcomité del comité de corto alcance desarrolló las especificaciones de la lengua de COBOL. Compusieron a este subcomité de seis individuos:
Guillermo Selden del

y Gertrudis Tierney IBM
Howard Bromberg y descuento de Howard de RCA
El Vernon laborea y el Jean E. Sammet de los productos eléctricos de Sylvania

Este subcomité terminó las especificaciones para COBOL como el año de 1959 concluidos. Las especificaciones en gran parte fueron inspiradas por la lengua FLOW-MATIC inventada por la tolva de la tolerancia, designada comúnmente " la madre del language" de COBOL;, y la lengua COMTRAN de IBM inventada por el Bob Bemer .

El COBOL (lengua comercial común) era uno de los lenguajes el de programación de alto nivel más tempranos. Fue desarrollado en 1959 por un grupo de informáticos llamados la conferencia del sobre las idiomas de sistemas de los datos (codasyl del ). Desde 1959 ha experimentado varias modificaciones y mejoras. En un intento por superar el problema de la incompatibilidad entre diversas versiones de COBOL, el American National Standards Institute (ANSI) desarrolló una forma estándar de la lengua en 1968. Esta versión era conocida como American National Standard (ANS) COBOL. En 1974, el ANSI publicó una versión revisada (American National Standard) de COBOL, conteniendo un número de características que no estaban en la versión 1968. En 1985, el ANSI todavía publicó otra versión revisada que tenía nuevas características no en el estándar 1974. La lengua continúa desarrollándose hoy. COBOL orientado al objeto es un subconjunto de COBOL 97, que es la cuarta edición en la evolución de continuación del estándar COBOL de ANSI/ISO. COBOL 97 incluye mejoras convencionales así como características orientadas al objeto. Como el lenguaje de programación de C++, los recopiladores de COBOL orientados al objeto están disponibles incluso durante la lengua se mueve hacia la estandardización.

Historia de los estándares de COBOL

Las especificaciones aprobaron por el comité de corto alcance completo fueron aprobadas por el 1960 del Comité Ejecutivo el 3 de enero, y enviadas a la oficina de impresión de gobierno, que corrigió e imprimió estas especificaciones como COBOL del 60 .

El American National Standards Institute (ANSI) ha producido desde entonces varias revisiones del estándar de COBOL, incluyendo

COBOL-68
COBOL-74
COBOL-85
COBOL 2002

Definición de características

COBOL según lo definido en la especificación original incluyó una cláusula de CUADRO para la especificación de campo detallada. No apoyó variables locales, la repetición, la asignación de memoria dinámica, o construcciones de la programación estructurada . La ayuda para algunas o toda estas características se ha agregado en ediciones posteriores del estándar de COBOL.

COBOL tiene muchas palabras reservadas (sobre 400), llamadas las palabras claves el código de Uno mismo-modificación apoyado especificación de COBOL de la original vía el " infame; ALTERAR X PARA PROCEDER a Y" declaración. Esta capacidad se ha quitado desde entonces.

Herencia

Los programas de COBOL son funcionando global en agencias gubernamentales y militares, en empresas comerciales, y en sistemas operativos tales como Z/OS de IBM, Windows de Microsoft, y las familias POSIX ( Unix /linux etc. En 1997, el grupo de Gartner divulgó que el 80% del negocio de mundo funcionaron en COBOL con sobre 200 mil millones líneas de código en existencia y con las 5 mil millones líneas estimadas de nuevo código anualmente.

Cerca del final del vigésimo siglo el problema del año-2000 era el foco de esfuerzo de programación significativo de COBOL, a veces por los mismos programadores que habían diseñado las décadas de los sistemas antes. El nivel de esfuerzo particular requerido para el código de COBOL se ha atribuido a la gran cantidad de COBOL comercial, como COBOL es cerca diseño a la lengua de negocio y las fechas del uso de las aplicaciones empresariales pesadamente, y a las construcciones de la lengua de COBOL tales como la cláusula de CUADRO, que se puede utilizar para definir campos numéricos de longitud fija, incluyendo los campos de dos dígitos por años.

Hola, mundo

lang=" del SECCIÓN DE IDENTIFICACIÓN. DIVISIÓN DE PROCEDIMIENTO. EXHIBICIÓN “hola, mundo. ¡recopilador de COBOL no parece manejar el " SALIR PROGRAM" /" TERMINAR EL " DEL PROGRAMA…; el sintaxis, pero yo es bastante malditos sure que si trabajó antes, él todavía ahora trabajará. Si usted copia y pega este ejemplo entonces tenga cuidado de preservar la muesca, pues la muesca es relevante (por lo menos) a recopiladores de COBOL más viejos. Si usted está intentando compilar este ejemplo en un recopilador más viejo y no puede compilar ni no produce ninguna salida cuando está funcionado, usted puede querer intentar un ejemplo más simple.

COBOL tiene varia versión de dialectos: En algunos de ellos " de la EXHIBICIÓN; Hola, world" produce un error de sintaxis, porque no tienen gusto de la cotización doble (el "), uso EXHIBICIÓN “hola, mundo. (Los apóstrofes son estándar, tan deben ser aceptables por todos los recopiladores.)

Si usted utiliza la prensa ALT+F7 de la unidad central, allí usted puede cambiar el dialecto del COBOL (“COBOL para el MVS” se recomienda) -->

Críticas

Los críticos han sostenido que el sintaxis de COBOL sirve principalmente aumentar el tamaño de programas, a expensas de desarrollar el necesario de proceso de pensamiento para el desarrollo de programas. En su letra a un redactor en el 1975 tituló el " ¿Cómo decimos las verdades que pudieron lastimar? ", el informático y el Turing conceden que el receptor Edsger Dijkstra comentó ese " El uso de COBOL lisia la mente; su enseñanza se debe, por lo tanto, mirar como offense" criminal;.

COBOL 85 no era compatible con versiones anteriores, dando por resultado el " nacimiento cesariano de COBOL 85". Brophy, CIO, seguro de los viajeros, encabezó un esfuerzo para informar a usuarios COBOL de los costes de reprogramación pesados de ejecutar del nuevo estándar. Consecuentemente el comité del ANSI COBOL recibió más de 3.200 letras del público, sobre todo negativa, requiriendo al comité realizar cambios.

Más viejas versiones de COBOL carecen las variables locales y así que no pueden apoyar verdad la programación estructurada .

Otros critican la incorporación ad hoc de características en una lengua que fue significada para ser una solución a corto plazo a la interoperabilidad en 1959. Juntado con el sintaxis arcaico percibido, sostienen que intenta llenar un lugar para el cual mejores herramientas se han diseñado y se han desarrollado ya.

Defensa

Los abogados demandan que los que critican la lengua nunca han sido típicamente programadores de COBOL y la falsifican a menudo. impresionó al crítico Edsger Dijkstra también positivamente ideas de s de Jackson A. Michael las 'sobre " Programming" estructurado; en COBOL ( Jackson programación estructurada ).

¡La especificación de COBOL también se ha revisado durante los años para incorporar progresos en teoría y práctica computacionales característica de estándares vendría en práctico -->.

Como con cualquier lengua, el código de COBOL se puede hacer más prolijo que necesario. Por ejemplo el código de COBOL para una de las raíces de la ecuación cuadrático :

x= \ frac {- b + \ raíz cuadrada {b^2-4ac \}} {2a}.

hacha 2  del ; +  bx  +    del c ; =  0 se puede escribir, usar el " compute" verbo, como:

lang=" del CÁLCULO X = (- B + (B ** 2 - (4 * A * C)) ** .5)/(2 * A)

La misma fórmula se podía también escribir menos sucinto como:

lang=" del MULTIPLICAR B POR B QUE DA B-SQUARED. MULTIPLICAR 4 POR UN FOUR-A DE DONANTE. MULTIPLICAR FOUR-A POR C QUE DA FOUR-A-C. RESTAR FOUR-A-C DE B-SQUARED QUE DA RESULT-1. COMPUTAR RESULT-2 = RESULT-1 ** . RESTAR B DE RESULT-2 QUE DA NUMERADOR. MULTIPLICAR 2 POR UN DENOMINADOR DE DONANTE. DIVIDIR el NUMERADOR de DENOMINATOR GIVING X.

Qué forma utilizar es una cuestión de estilo. En algunos casos la forma menos sucinta puede ser más fácil de leer. Por ejemplo:

lang=" del AGREGAR LOS AÑOS A LA EDAD. MULTIPLICAR EL PRECIO POR EL COSTE DE QUANTITY GIVING. RESTAR el DESCUENTO del COSTE QUE DA FINAL-COST.

Más nuevas versiones de COBOL apoyan variables locales vía los programas encajados (alcance-delimitados por las palabras claves PROGRAM-ID y END-PROGRAM). Las variables declaradas dentro del programa encajado son invisibles fuera de su alcance. En más viejas versiones de COBOL las variables locales pueden ser ocultadas usando los subprogramas, que deben ser invocados (vía la LLAMADA de la palabra clave). El programa de llamada no tendrá acceso a las variables declaradas y manipuladas por el subprograma. Esta técnica podría dar lugar a una masa poco manejable de subprogramas, particularmente si ésas no están bien documentadas.

Características sintácticas

COBOL proporciona el azúcar sintáctico del actualización-en-lugar, como por ejemplo

lang=" del AGREGAR los AÑOS a AGE.

La construcción equivalente en muchas idiomas procesales sería

edad = edad + years

Este sintaxis es similar al operador de asignación compuesto adoptado más adelante por C:

lang=" del edad += years

La expresión condicional abreviada lang=" del SI SUELDO > 80000 O SUPERVISOR-SALARY O = PREV-SALARY es equivalente a lang=" del SI SUELDO > 80000 O SUELDO > SUPERVISOR-SALARY O SUELDO = PREV-SALARY

COBOL proporciona el " conditions" nombrado; (88 niveles supuestos).

COBOL permite que los identificadores sean hasta 30 carácteres de largo. Cuando COBOL fue introducido, longitudes mucho más cortas (e., 6 carácteres para el FORTRAN) eran frecuentes.

Aforismos y humor sobre COBOL

Se ha dicho de idiomas como el C, el C++, y el Java que la única manera de modificar código de la herencia es reescribirla - escribe una vez y escribe de nuevo; o escribir una vez y lanzar lejos. Por una parte, se ha dicho de COBOL que hay realmente un programa de COBOL original, y se ha copiado y modificó solamente millones de épocas.

El " conocido; AGREGAR 1 a COBOL QUE DA COBOL" se ha sugerido para un dialecto orientado al objeto hipotético de COBOL, como juego en el nombre C++. Mientras que esto se significa para sugerir que COBOL es intrínsecamente prolijo, la forma dada es más prolija que COBOL requiere realmente. COBOL permite el agregar de un valor o la variable en otra variable en la forma AGREGA AÑOS A LA EDAD. Los valores de las dos variables se agregan juntos y el resultado puesto en la variable después A, si no hay DONANTE presente. La forma sucinta sería tan " AGREGAR 1 a COBOL". Esto es prolijo cuando está comparada al " ++" el operador del incremento en varios lenguajes de programación, pero mucho más Inglés-como.

Otro nombre sugerido es " POSTINCREMENT COBOL POR 1", que no sólo refleja la naturaleza prolija de las declaraciones de COBOL, pero también destaca la tendencia para que las características de COBOL requieran sus propias palabras claves reservadas dedicado (COBOL estándar emplea sobre 400 palabras reservadas), este ejemplo que es el caso para un nuevo operador hipotético POSTINCREMENT .

COBOL 2002 y COBOL orientado al objeto

El estándar COBOL2002 apoya la generación Unicode, XML y el análisis, llamando convenciones a y desde las idiomas de no-COBOL tales como C, y la ayuda para la ejecución dentro de ambientes del marco tales como .NET de Microsoft y Java (COBOL incluyendo ejemplificado como empresa JavaBeans . Sin embargo, ningún vendedor todavía ha producido un recopilador totalmente de conformación.

Ver también

Otros lenguajes de programación de tercera generación


ALGOL
APL
BASIC
C
C++
C#
FORTRAN
Java
El balbucea
Pascal
PL/I
RPG

Otro

Comparación de los lenguajes de programación
Burroughs B2000

.

  • Zenithic
  • COBOL
    Random links:Mariachi Cascabel | Floración del resorte | Elecciones en Hungría | Fosa craneal posterior | Hoveizeh

  • © 2007-2008 enciclopediaespana.com; article text available under the terms of GFDL, from en.wikipedia.org
    ="http://pagead2.googlesyndication.com/pagead/show_ads.js">