Cobol, un lenguaje de programación para niños?
Publicado: 13 Jun 2014, 06:27
Hace poco discutia con una amigos que aún viven del Cobol, y me gustaria comentar algunas reflexiones sobre este lenguaje que aun muchos usan dia a dia.
El lenguaje Cobol fue creado a finales de los 50's, es decir ahora mismo tiene mas de 50 años, y la estructura de programación sigue siendo la misma, aunque a inicios del 2000 se introdujo la programación de Orientada a Objetos en Cobol. Cuando este lenguaje fue creado se pensó que deberia ser un lenguaje orientado a negocios, facil de escribir, permitir a los usuarios mover a nuevos sistemas con el minimo esfuerzo y debe ser facil para programadores sin experiencia.
El Cobol como lenguaje ha tenido muchas criticas de los academicos, alguno como Edsger Dijkstra ganador del premio Turing Award dijo en 1975: "El COBOL lisia la mente, por lo que enseñar Cobol es una ofensa criminal", a pesar de esto lo siguen usando muchas grandes empresas ya que algunas partes principales del negocio son muy costosas moverlas a otras plataformas mas abiertas, aunque en los ultimos años hay varios estudios que dicen que cada vez es mas caro mantener estos sistemas en Mainframe. Yo particularmente he trabajo en Cobol en IBM Mainframe y en Unix, como alguno de ustedes en algunas otras plataformas.
He visto durante mi viva profesional muchas cosas alrededor del Cobol que pueden hacer validos mis argumentos. Cuando empezé a programar en Cobol en un banco de Peru, vi que la programación no era dificil, alguien con conocimientos de ingles facilmente podia a programa en Cobol en un par de dias, y como fue la intensión de sus creadores, facil para un programador inexperto. Luego en España a inicios del 2000 observé algunas practicas que para mi eran nuevas, empresas de informatica, tenian cursos de programación en Cobol para gente que no habia estudiado ingeniería informática, menos alguna ingenieria para empezar en este sector. Yo trabajaba con fisicos, quimicos o economistas que empezaron en esta profesion con cursos de Cobol de unas semanas, empezando como programador junior y luego escalando a distintas posiciones, cosa que no ocurria con mucha frequencia otros lenguajes de programación (esto se hizo una practica comun y necesaria sobretodo en proyectos para el año 2000).
Hubo un tiempo que coordinada factorias de Cobol, y la gente que empezaba en este tipo de proyectos era muy jovenes recien salidos de la universidad, y que facilmente aprendian y claro luego de un tiempo se aburrian por algun motivo. Cuando se intentó crear una factoria de C++, yo dije que este no era posible o mejor dicho que no lo recomendaba, y al final a pesar de este cliente uso a otra empresa, ese proyecto de factoria de C++ fracaso. Y finalmente lo que he observado durante mi carrera es que la gente que ingresa a trabajar en Cobol es muy dificil que me muevan a otros entornos mas abiertos, cosa que un programador que empieza en otros lenguajes de programacion es muy habitual.
Yo creo que el Cobol es como un agujero negro donde cuando la gente entra es muy dificil de salir porque limitan sus capacidades mentales para la creatividad y que se han desarrollado mas por partes "funcionales" que la parte tecnologica y que siempre se depende de que alguna empresa que tienen a cientos de coboleros, muchos de ellos ahora jovenes y cobrando menos, les den trabajo.
En la actualidad todos los dias leemos en los diarios, niño de 13 o 15 años crea una aplicación en Android o alguna otra plataforma y se vuelve millonario, y yo me pregunto, los coboleros de toda la vida, que ha visto pasar muchas tecnologias, y que ahora que hay cada vez menos proyectos en Cobol y Mainframe (salvo "mantenimientos") y mas proyectos en otras tecnologias, no son capaces con toda la experiencia y sus conocimientos que algun vez recibieron en la universidad no pueden crear aplicaciones en nuevos entornos? o es que lo que se dice que trabajar en Cobol/Mainframe los ha hecho mas "lentos" tecnologicamente y si les cambias las condiciones del entorno (no les das trabajo en Cobol) terminan como los dinosaurios?, entonces, esto me lleva a la siguiente reflexión, un niño de 13 años sin estudiar en la universidad podria programar en Cobol?
El lenguaje Cobol fue creado a finales de los 50's, es decir ahora mismo tiene mas de 50 años, y la estructura de programación sigue siendo la misma, aunque a inicios del 2000 se introdujo la programación de Orientada a Objetos en Cobol. Cuando este lenguaje fue creado se pensó que deberia ser un lenguaje orientado a negocios, facil de escribir, permitir a los usuarios mover a nuevos sistemas con el minimo esfuerzo y debe ser facil para programadores sin experiencia.
El Cobol como lenguaje ha tenido muchas criticas de los academicos, alguno como Edsger Dijkstra ganador del premio Turing Award dijo en 1975: "El COBOL lisia la mente, por lo que enseñar Cobol es una ofensa criminal", a pesar de esto lo siguen usando muchas grandes empresas ya que algunas partes principales del negocio son muy costosas moverlas a otras plataformas mas abiertas, aunque en los ultimos años hay varios estudios que dicen que cada vez es mas caro mantener estos sistemas en Mainframe. Yo particularmente he trabajo en Cobol en IBM Mainframe y en Unix, como alguno de ustedes en algunas otras plataformas.
He visto durante mi viva profesional muchas cosas alrededor del Cobol que pueden hacer validos mis argumentos. Cuando empezé a programar en Cobol en un banco de Peru, vi que la programación no era dificil, alguien con conocimientos de ingles facilmente podia a programa en Cobol en un par de dias, y como fue la intensión de sus creadores, facil para un programador inexperto. Luego en España a inicios del 2000 observé algunas practicas que para mi eran nuevas, empresas de informatica, tenian cursos de programación en Cobol para gente que no habia estudiado ingeniería informática, menos alguna ingenieria para empezar en este sector. Yo trabajaba con fisicos, quimicos o economistas que empezaron en esta profesion con cursos de Cobol de unas semanas, empezando como programador junior y luego escalando a distintas posiciones, cosa que no ocurria con mucha frequencia otros lenguajes de programación (esto se hizo una practica comun y necesaria sobretodo en proyectos para el año 2000).
Hubo un tiempo que coordinada factorias de Cobol, y la gente que empezaba en este tipo de proyectos era muy jovenes recien salidos de la universidad, y que facilmente aprendian y claro luego de un tiempo se aburrian por algun motivo. Cuando se intentó crear una factoria de C++, yo dije que este no era posible o mejor dicho que no lo recomendaba, y al final a pesar de este cliente uso a otra empresa, ese proyecto de factoria de C++ fracaso. Y finalmente lo que he observado durante mi carrera es que la gente que ingresa a trabajar en Cobol es muy dificil que me muevan a otros entornos mas abiertos, cosa que un programador que empieza en otros lenguajes de programacion es muy habitual.
Yo creo que el Cobol es como un agujero negro donde cuando la gente entra es muy dificil de salir porque limitan sus capacidades mentales para la creatividad y que se han desarrollado mas por partes "funcionales" que la parte tecnologica y que siempre se depende de que alguna empresa que tienen a cientos de coboleros, muchos de ellos ahora jovenes y cobrando menos, les den trabajo.
En la actualidad todos los dias leemos en los diarios, niño de 13 o 15 años crea una aplicación en Android o alguna otra plataforma y se vuelve millonario, y yo me pregunto, los coboleros de toda la vida, que ha visto pasar muchas tecnologias, y que ahora que hay cada vez menos proyectos en Cobol y Mainframe (salvo "mantenimientos") y mas proyectos en otras tecnologias, no son capaces con toda la experiencia y sus conocimientos que algun vez recibieron en la universidad no pueden crear aplicaciones en nuevos entornos? o es que lo que se dice que trabajar en Cobol/Mainframe los ha hecho mas "lentos" tecnologicamente y si les cambias las condiciones del entorno (no les das trabajo en Cobol) terminan como los dinosaurios?, entonces, esto me lleva a la siguiente reflexión, un niño de 13 años sin estudiar en la universidad podria programar en Cobol?