lunes, 27 de mayo de 2013

COBOL es un lenguaje de programación de primer nivel desarrollado por el Comité CODASYL (Conference on Data Systems Languages, Conferencia sobre lenguajes de sistemas de datos) en 1960. Desde entonces, la responsabilidad de desarrollar nuevos estándares COBOL ha sido asumida por el Instituto ANSI de estándares americanos.

Se han producido estándares ANSI para COBOL en 1968, 1974 y 1985. Actualmente se está produciendo un nuevo estándar de COBOL que introducirá la programación orientada a objetos, y será lanzado en los próximos años.

COBOL es un acrónimo de Common Business Oriented Language, lenguaje orientado a negocios. Tal como su propio nombre indica, este lenguaje se diseñó para desarrollar aplicaciones de negocios, típicamente orientadas a archivos. No fue ideado para crear aplicaciones para sistemas, es decir, no podríamos, por ejemplo, crear un sistema operativo o un compilador utilizando COBOL.

Expansión de COBOL

Durante casi 4 décadas, COBOL ha sido el lenguaje de programación dominante en el campo del diseño de aplicaciones para negocios. Durante todo este tiempo ha visto nacer otros lenguajes como PL1, Algo68, Pascal, Modula, ADA, C y C++. Todos estos lenguajes han encontrado su sitio pero ninguno ha conseguido desplazar a COBOL. Actualmente existen, no obstante, dos lenguajes que le hacen una seria competencia: Java y Visual Basic.

La expansión mundial de COBOL ha sido seguida por el grupo Gartner Group:

En 1997, estimaron que existían aproximadamente unos 300 billones de líneas de código en todo el mundo, de las cuales el 80% estaban escritas en COBOL y el 20% restante en todos los otros lenguajes.


En 1999 informaron de que el 50% de las nuevas aplicaciones importantes de misión crítica seguían estando diseñadas en COBOL.


Para 2002 preveían que existieran dos millones de programadores de COBOL a lo largo de todo el mundo comparados con el millón de programadores de Java, o el millón de programadores de C++.


Se calcula que en 2004/2005 aún el 15% de las aplicaciones importantes estén diseñadas en COBOL, y que el 80% del total tengan extensiones a librerías u otros recursos diseñados en COBOL.


El éxito de COBOL

La mayoría se sorprende cuando se da cuenta de que las cifras se inclinan claramente a favor de COBOL en el dominio del mercado. El entorno de algunos lenguajes trataría de convencernos de que la mayoría de la producción en el mundo se hace en Java, C, C++ o Visual Basic y que solo un pequeño porcentaje está hecha en COBOL, pero la realidad es bien distinta.

Una de las razones para esta concepción errónea radica en la diferencia entre el software vertical y el horizontal:

En el mercado del software vertical, las aplicaciones requieren de millones de dólares de inversión para su producción, están dirigidas a empresas concretas, rigen las reglas de esa compañía, y existe un pequeño número de copias funcionando en todo el mundo. Un ejemplo es el sistema DoD MRP II, que funciona en grandes servidores en determinados puntos geográficos de EE.UU., y sirve para organizar componentes de equipos con inventarios por valor de alrededor de 28 billones de dólares.

En el mercado del software horizontal, las aplicaciones pueden costar millones de dólares en ser desarrolladas, pero existen cientos de miles, incluso millones de copias funcionando en todo el mundo. Estas aplicaciones suelen tener alta reputación, durar poco tiempo y tener un coste relativamente bajo por cada copia. Como ejemplo tenemos la suite ofimática de Microsoft, Office (Word, Excel, Access, PowerPoint, etc.). Debido a la naturaleza competitiva de este mercado, y teniendo en cuenta la importancia de velocidad, tamaño y eficiencia, se utilizan lenguajes como C o C++ para crear las aplicaciones.

Características de aplicaciones hechas en COBOL

Como hemos visto con el DoD MRP II, las aplicaciones hechas con COBOL suelen ser de gran tamaño. La mayoría contienen mas de un millón de líneas de código - y las tiendas tienen programas de más de seis millones de líneas de código que no consideran inusualmente grandes.

Las aplicaciones en COBOL también tienen una larga duración temporal. Las inversiones millonarias se realizan cerciorándose de que un programa no se quedará anticuado con la aparición de un nuevo lenguaje u otro programa. Como consecuencia, nos encontramos con que existen aplicaciones que llevan utilizándose durante períodos de entre 10 y 30 años. En esto también cuenta la cantidad de programas en COBOL que sufrieron el problema del año 2000 frente a las que lo hicieron y estaban hechas con C o C++ (doce millones frente a 375 mil), ya que hace veinte años, los programadores no se plantearon el problema del milenio.

Las aplicaciones hechas en COBOL frecuentemente se usan en áreas críticas de negocios. Por ejemplo, el 95% de los datos de las aplicaciones de finanzas y seguros son procesados mediante COBOL. Las serias consecuencias legales y financieras que implicarían fallos en los programas son razones para el pánico creado con la llegada del efecto 2000.

Las aplicaciones hechas en COBOL suelen mover y utilizar grandes cantidades de datos. No es raro hablar de archivos de bases de datos de terabytes de peso.

Características que contribuyen al éxito de COBOL

COBOL es un lenguaje autodocumentado


Una de las metas en la creación de COBOL era que fuera posible para agentes no programadores como supervisores, administradores y usuarios, poder revisar el código sin conocer el lenguaje. Como resultado, COBOL contendría muchos elementos estructurales ingleses, como verbos, instrucciones, secciones y divisiones. De todas maneras, ésta meta no fue conseguida en su totalidad; los administradores y los usuarios no leen programas en COBOL, dado que son demasiado complejos para ser entendidos por mucha gente de negocios, a pesar de la familiaridad de los elementos sintácticos. Pero el intento ha tenido un efecto relativo, y es que COBOL es actualmente el lenguaje autodocumentado más fácil de entender.

COBOL es simple


COBOL es un lenguaje simple (no tiene punteros ni funciones o tipos definidos por el usuario) con un campo limitado de funcionalidad. Curiosamente y a pesar de sus limitaciones, COBOL ha demostrado estar muy bien dotado para el dominio de las aplicaciones para las que se creó (informática de negocios). La mayoría de los programas en COBOL operan en un dominio en que la complejidad reside más en la codificación de las reglas de los negocios a los que se destina que en la sofisticación de las estructuras de datos o algoritmos requeridos. Y en estos casos, COBOL resuelve los problemas con instrucciones como SORT y SEARCH.

COBOL es portable


El estándar COBOL no pertenece a ninguna marca concreta. El Comité ANSI COBOL legisla estándares de semántica y sintaxis que no son específicos de una marca. COBOL es virtualmente portable a cualquier tipo de máquina, desde Windows hasta UNIX pasando por VSE, OS/2, VMS, Unisys, DG, VM y MVS.

COBOL es mantenible


COBOL tiene una carrera de más de 30 años de mantenimiento de software, habilitación y producción de soporte a nivel de empresa. Los informes del problema del año 2000 revelaron que las aplicaciones en COBOL eran mucho más baratas de reparar que la gran mayoría de los otros lenguajes.

Una de las razones de la facilidad de mantenimiento de las aplicaciones COBOL ha sido ya citada: su facilidad de interpretación y legibilidad. Otra razón es la rígida estructura jerárquica de que dispone.

COBOL

El lenguaje COBOL (acrónimo de COmmon Business-Oriented LanguageLenguaje Común Orientado a Negocios) fue creado en el año 1959 con el objetivo de crear un lenguaje de programación universal que pudiera ser usado en cualquier ordenador, ya que en los años 1960 existían numerosos modelos de ordenadores incompatibles entre sí, y que estuviera orientado principalmente a los negocios, es decir, a la llamada informática de gestión.

Historia

En la creación de este lenguaje participó la comisión CODASYL, compuesta por fabricantes de ordenadores, usuarios y el Departamento de Defensa de Estados Unidos en mayo de 1959. La definición del lenguaje se completó en poco más de seis meses, siendo aprobada por la comisión en enero de 1960. El lenguaje COBOL fue diseñado inspirándose en el lenguaje Flow-Matic de Grace Hopper y el IBM COMTRAN de Bob Bemer, ya que ambos formaron parte de la comisión.
Gracias a la ayuda de los usuarios COBOL evolucionó rápidamente y fue revisado de 1961 a 1965 para añadirle nuevas funcionalidades. En 1968 salió la primera versión ANSI del lenguaje, siendo revisada posteriormente en 1974 (COBOL ANS-74), 1985 (COBOL ANS-85, ampliado en 1989 con funciones matemáticas, finalizando el estándar actual más usado, conocido como COBOL-ANSI), y en 2002 (COBOL ANS-2002). Desde el año 2007 se viene preparando una nueva revisión del lenguaje.
Además, existe una versión conocida como COBOL ENTERPRISE, actualizada regularmente y lanzada en 1991, usada generalmente en sistemas Host.
En el 2011 se actualizó con Visual COBOL.1 Existen otras versiones de COBOL como NetCobol de la casa matriz GT Software, al igual que isCOBOL de la casa matriz Veryant.

Características

  • COBOL fue dotado de unas excelentes capacidades de autodocumentación
  • Una buena gestión de archivos y una excelente gestión de los tipos de datos para la época, a través de la conocida sentencia PICTURE para la definición de campos estructurados. Para evitar errores de redondeo en los cálculos que se producen al convertir los números a binario y que son inaceptables en temas comerciales, COBOL puede emplear y emplea por defecto números en base diez. Para facilitar la creación de programas en COBOL, la sintaxis del mismo fue creada de forma que fuese parecida al idioma inglés, evitando el uso de símbolos que se impusieron en lenguajes de programación posteriores.
Pese a esto, a comienzos de los ochenta se fue quedando anticuado respecto a los nuevos paradigmas de programación y a los lenguajes que los implementaban. En la revisión de 1985 se solucionó, incorporando a COBOL variables locales, recursividad, reserva de memoria dinámica y programación estructurada.
En la revisión de 2002 se le añadió orientación a objetos, aunque desde la revisión de 1974 se podía crear un entorno de trabajo similar a la orientación a objetos, y un método de generación de pantallas gráficas estandarizado.
Antes de la inclusión de las nuevas características en el estándar oficial, muchos fabricantes de compiladores las añadían de forma no estándar. En la actualidad este proceso se está viendo con la integración de COBOL con Internet. Existen varios compiladores que permiten emplear COBOL como lenguaje de scripting y de servicio web. También existen compiladores que permiten generar código COBOL para la plataforma .NET y EJB.

Programa Hola mundo

       IDENTIFICATION DIVISION.
       PROGRAM-ID. HOLAMUNDO.
 
       ENVIRONMENT DIVISION.
 
       DATA DIVISION.
       WORKING-STORAGE SECTION. 
 
       PROCEDURE DIVISION.
 
           DISPLAY 'Hola mundo'.
           STOP RUN.

Empleo

Pese a que muchas personas creen que el lenguaje COBOL está en desuso, la realidad es que casi todos los sistemas que requieren gran capacidad de procesamiento por lotes (Batch), tanto las entidades bancarias como otras grandes empresas con sistemas mainframes utilizan COBOL. Esto permite garantizar la compatibilidad de los sistemas antiguos con los más modernos, así como tener la seguridad de que el lenguaje es perfectamente estable y probado. Según un informe de Gartner Group de 2005, el 75% de los datos generados por negocios son procesados por programas creados en COBOL, y en otro informe de 1997 estima que el 80% de los 300.000 millones de líneas de código existentes están creados en COBOL, escribiéndose 5.000 millones de líneas nuevas de COBOL cada año. Con todo eso, hoy por hoy, la programación en COBOL es uno de los negocios más rentables del mundo de la informática. En el resto de aplicaciones el COBOL ha caído en desuso, reemplazado por lenguajes más modernos o versátiles.
Pero no todo es así. Hoy (2013) siguen existiendo decenas de miles de usuarios Cobol e instituciones que siguen instruyendo este lenguaje dados los números informados. Cobol sigue estando soportado y sigue evolucionando permanentemente; esto principalmente por la cantidad de aplicaciones que hoy sigue funcionando y que superan en número a los demás lenguajes gracias a tanta difusión en el pasado. Esto sigue propiciando su continua evolución y, palabras del propio Bill Gates: "No sé qué lenguajes habrá en el futuro, pero seguro que Cobol estará todavía allí".

Curiosidades 

En el código que se ve de la programación del cyborg de la película Terminator (1984), algunas de las sentencias están escritas en Cobol.
-COBOL en Olivares: "todos los problemas empezaron con lo visual". Así se expresa el experto programador en Cobol, D.Miguel, que es el paradigma no sólo en Olivares sino en toda Andalucía, en la construcción de sistemas de alta disponibilidad y concurrencia en Cobol. Cobol_Avanzado. Utiliza frameworks ALMEURO 2.0 y REAPLICA 3.1 en sus desarrollos. 

No hay comentarios:

Publicar un comentario