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.
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.
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
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.
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.
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) -->
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.
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 :
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.
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.
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 .
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, ninguÌn vendedor todavía ha producido un recopilador totalmente de conformación.
.
| Random links: | Mariachi Cascabel | Floración del resorte | Elecciones en Hungría | Fosa craneal posterior | Hoveizeh |