Ver la versión completa : Varios estados de EEUU Buscando programadores de Cobol desesperadamente
Curioso lo que ha levantado el coronavirus, por lo que parece en varios estados de EEUU se les estan sobrecargando las aplicaciones que tienen en los host gubernamenteales debido a las peticiones de paro de la gente que se tiene que quedar en casa por el coronavirus (alguna otra cosa creo) y para aumentar la capacidad necesitan programadores de Cobol en host que deben de quedar 4 y por la edad deben estar todos encerrados en sus casas para evitar infecciones, otro par de estados lo que quieren es pasar las aplicaciones a otros entornos para quitar las dependencias con el host, pero claro para eso tambien necesitan programadores de cobol que entiendan el codigo.
Esto demuestra que no solo en España las aplicaciones que tiene el gobierno son de la edad de piedra, sino en casi todos los paises :D
https://www.tomshardware.com/news/new-jersey-cobol-coders-mainframes-coronavirus
La primera regla del desarrollador es: "Si funciona no lo toques"
La segunda regla del desarrollador es: "Si funciona NO LO TOQUES"
josepzin
06/04/2020, 00:06
La tercera regla del desarrollador es: "Si está hecho en COBOL por dios NO-LO-TO-QUES..." :D
-----Actualizado-----
Yo programé varios años en COBOL, la verdad es que lo detestaba... pero mas que nada porque yo quería hacer otro tipo de trabajos más audiovisuales o interactivos y COBOL es para otro tipo de cosas.
jduranmaster
06/04/2020, 10:07
la primera regla del desarrollador es: "si funciona no lo toques"
la segunda regla del desarrollador es: "ante la duda siempre vuelve a la primera regla"
fixed
La primera regla del desarrollador es: "Si funciona no lo toques"
La segunda regla del desarrollador es: "Si funciona GOTO primera regla"
Re-fixed.
¿Pero COBOL no es ese lenguaje que mencionan las leyendas, que aunque es complejo de dominar, es uno de los lenguajes más robustos y seguros que existen, y que por eso se siguen usando en todo tipo de sistema que requiere de una seguridad excepcional?
Yo tuve una compañera que trabajaba en un terminal, con una pantalla en modo texto, con fondo negro y letras de colorines. Alguien del trabajo me dijo que estaba con un proyecto de un banco, y que estaba manejando un programa hecho en COBOL, y de ahí la consola en modo cromagnon.
^MiSaTo^
06/04/2020, 11:09
Re-fixed.
¿Pero COBOL no es ese lenguaje que mencionan las leyendas, que aunque es complejo de dominar, es uno de los lenguajes más robustos y seguros que existen, y que por eso se siguen usando en todo tipo de sistema que requiere de una seguridad excepcional?
Yo tuve una compañera que trabajaba en un terminal, con una pantalla en modo texto, con fondo negro y letras de colorines. Alguien del trabajo me dijo que estaba con un proyecto de un banco, y que estaba manejando un programa hecho en COBOL, y de ahí la consola en modo cromagnon.
Se ha usado en bancos porque es lo que había en su día. A día de hoy hay miles de alternativas mejores. Yo misma trabajé en un proyecto para migrar de Cobol a Java hace muchos años en el Santander.
¿Pero COBOL no es ese lenguaje que mencionan las leyendas, que aunque es complejo de dominar, es uno de los lenguajes más robustos y seguros que existen, y que por eso se siguen usando en todo tipo de sistema que requiere de una seguridad excepcional?
No. Los programas en COBOL se escribieron hace 50 años y siguen funcionando por eso, porque llevan décadas de soporte y hace mucho que se corrigieron los errores, y porque han trabajado tantas personas en esos programas que ya nadie sabe lo que hacen . Sustituirlos es más problemático que seguir con ellos. En estos casos en que el tiempo en que se crearon tiene importancia, también aplica el sesgo de superviviente (https://en.wikipedia.org/wiki/Survivorship_bias).
Pero COBOL no es ni más seguro ni más robusto que las tecnologías actuales. De hecho, me atrevería a decir que es menos, porque hemos aprendido mucho de programación segura en todo este tiempo.
No. Los programas en COBOL se escribieron hace 50 años y siguen funcionando por eso, porque llevan décadas de soporte y hace mucho que se corrigieron los errores, y porque han trabajado tantas personas en esos programas que ya nadie sabe lo que hacen . Sustituirlos es más problemático que seguir con ellos. En estos casos en que el tiempo en que se crearon tiene importancia, también aplica el sesgo de superviviente (https://en.wikipedia.org/wiki/Survivorship_bias).
Pero COBOL no es ni más seguro ni más robusto que las tecnologías actuales. De hecho, me atrevería a decir que es menos, porque hemos aprendido mucho de programación segura en todo este tiempo.
Bueno, el hecho de que ni el tato sepa que narices hace ese programa hace que los hackers lo tengan más complicado para hackearlo.
masteries
06/04/2020, 14:45
¿Pero COBOL no es ese lenguaje que mencionan las leyendas, que aunque es complejo de dominar, es uno de los lenguajes más robustos y seguros que existen, y que por eso se siguen usando en todo tipo de sistema que requiere de una seguridad excepcional?
Ese es el lenguaje ADA, que sigo sin comprender porque no hay compiladores ADA para más plataformas; mientras se intenta robustecer el lenguaje C aplicando las reglas MISRA... si el código estuviera en ADA, casi no tendrías que revisarlo para adaptarlo a lo que dice MISRA.
Claro que hacer un compilador de C es mucho más sencillo que hacer uno de ADA, pero donde se ponga el ADA.
Por cierto, el ADA tiene integrado en el lenguaje el soporte a la programación en forma de procesos, de forma casi idéntica a Fénix / Bennu, pero en lenguaje compilado que corre mucho mejor.
Ese es el lenguaje ADA, que sigo sin comprender porque no hay compiladores ADA para más plataformas; mientras se intenta robustecer el lenguaje C aplicando las reglas MISRA... si el código estuviera en ADA, casi no tendrías que revisarlo para adaptarlo a lo que dice MISRA.
Claro que hacer un compilador de C es mucho más sencillo que hacer uno de ADA, pero donde se ponga el ADA.
Por cierto, el ADA tiene integrado en el lenguaje el soporte a la programación en forma de procesos, de forma casi idéntica a Fénix / Bennu, pero en lenguaje compilado que corre mucho mejor.
Porque lo diseñaron para las aplicaciones militares y es tan seguro que es bastante 'desagradable' programar en el por las limitaciones y por la verborrea, tambien es mas lento en la ejecución porque realiza muchas verificaciones en tiempo de ejecucion(rangos de matrices, pasarte de un array, etc.) los compiladores suelen ser bastante complicados y grandes. Al final acabas como en modula poniendo pragmas para relajar la programación o quitar comprobaciones en la ejecución. El ciclo del infierno es Pascal OO (Bien) -> Modula 2 (Regular) -> Ada (Mecachis).
Eso si los programas suelen ser solidos como una roca.
masteries
06/04/2020, 15:54
Porque lo diseñaron para las aplicaciones militares y es tan seguro que es bastante 'desagradable' programar en el por las limitaciones y por la verborrea, tambien es mas lento en la ejecución porque realiza muchas verificaciones en tiempo de ejecucion(rangos de matrices, pasarte de un array, etc.) los compiladores suelen ser bastante complicados y grandes. El ciclo del
Eso si los programas suelen ser solidos como una roca.
Tampoco es más lento que tener que añadir todas las comprobaciones a "manímetro" en lenguaje C, para ajustarte a las normas; y tener que integrar en un sistema bare-metal (sin kernel ni sistema operativo) manejadores de excepción (búscate cómo hacer eso a nivel de hardware, que si como manejar la pila en este procesador, si tiene una pila por ventanas, si tiene caché cómo descartar su contenido cuando salté el mecanismo de excepción... bufff) para que salten cuando una variable se pase de cierto valor... tal y como ya hace ADA él solito. Claro que si tu arquitectura tiene compilador de ADA, es porque alguien ya se ha dado ese curro que he descrito, y te lo ahorras.
Bien os digo, que es mucho más fácil y cómodo hacerlo directamente en ADA, que hacer que el mismo programa en C tenga lo mismos mecanismos de seguridad.
Quería poner de manifiesto que se me antoja absurdo intentar robustecer un lenguaje para que su comportamiento se asemeje a otro, que ya fué diseñado en origen con todos esos mecanismos.
A ese despropósito lo llaman "C Ada like" .
Lo tuve que llevar a la práctica en un proyecto en el que se usaba un procesador Leon2, cuando los primeros compiladores de Ada salieron para esa familia; pero no, quisieron usar C y luego que el código fuese adaptado... os podéis imaginar lo que tardé en adaptarlo. Ya no digamos cuando les hablé de programar el sistema en Simulink y de ahí que nos generase el C Ada like (C con las MISRAs aplicadas); se quedaron mirando como diciendo... MATLAB... Simulink... lenguajes gráficos... ¿qué es eso? y si pagas un poco más incluso te genera Ada,
OscarBraindeaD
06/04/2020, 16:00
Pero COBOL no es ni más seguro ni más robusto que las tecnologías actuales. De hecho, me atrevería a decir que es menos, porque hemos aprendido mucho de programación segura en todo este tiempo.
COBOL en sí no es seguro ni inseguro, es el HOST y su sistema de permisos y comunicaciones el que dota de seguridad a la instalación. En ese aspecto los entornos HOST son bastante seguros.
Antes que nada, gracias por las lecciones de historia :D
Bueno, el hecho de que ni el tato sepa que narices hace ese programa hace que los hackers lo tengan más complicado para hackearlo.
:quepalmo::quepalmo::quepalmo: Casi me caigo de la silla :D
Pues mira que creo que al final es al revés, que es el hacker el que sabe lo que hace el programa, mucho mejor que su programador :D
Lo tuve que llevar a la práctica en un proyecto en el que se usaba un procesador Leon2, cuando los primeros compiladores de Ada salieron para esa familia; pero no, quisieron usar C y luego que el código fuese adaptado... os podéis imaginar lo que tardé en adaptarlo. Ya no digamos cuando les hablé de programar el sistema en Simulink y de ahí que nos generase el C Ada like (C con las MISRAs aplicadas); se quedaron mirando como diciendo... MATLAB... Simulink... lenguajes gráficos... ¿qué es eso? y si pagas un poco más incluso te genera Ada,
Matlab. Si hay algo que no pueda hacer Matlab, es que no se puede hacer :lol:
¿Hacer un cálculo complejo de matrices? Matlab
¿Obtener el valor aproximado de una función que requiere 200 días de cálculo, con un error inferior al 0'000000001%? Matlab
¿Diseñar un sistema de posicionamiento y guiado de un satélite? Matlab
¿Crear un filtro de vídeo para un DSP de la BeagleBoard? Simulink... sobre Matlab
¿Tocar "Through the fire an flames" de Dragonforce en Guitar Hero 3 sin equivocarse en máxima dificultad?... eso era Labview, pero creo que aun así tuvo un margen de aciertos del 90 y pico % :lol2:
El software, como todo en este universo, tiende a deteriorarse con el tiempo, y es más, se fosiliza, COBOL y cualquier sistema host es nada más que un ejemplo de ésto. Si no tocamos algo mucho tiempo pasa lo que ha pasado, que se fosiliza y eso no hay quien lo toque. Y cualquier programador al que consultes te va decir lo mismo: "es mejor tirarlo y rehacerlo de nuevo que intentar arreglarlo". Un programador COBOL pre coronavirus no sé cuanto ganaríá, pero puede ser de orden de 5 veces más que un programador back normal. Post coronavirus pues fácilmente va a hacer factible rehacer el proyecto entero ya sólo con tal de no pagar esos salarios :D
Por eso, amigos, no hay que dejar que el software se fosilice con la excusa de "si funciona no lo toques" y no cambiarlo nunca, al final, pagarás con creces esa deuda técnica (este caso, o por ejemplo lo que paso con los Boeing 737 MAX, etc.). Es pan para hoy, hambre para mañana.
Por eso, amigos, no hay que dejar que el software se fosilice con la excusa de "si funciona no lo toques" y no cambiarlo nunca, al final, pagarás con creces esa deuda técnica (este caso, o por ejemplo lo que paso con los Boeing 737 MAX, etc.). Es pan para hoy, hambre para mañana.
Eso cualquier programador que se moleste en hacer las cosas bien y que haya hecho algún proyecto un poco grande lo sabe, otra cosa es que tu jefe te deje hacerlo y te diga, para que pierdes el tiempo refactorizando si al final vas a tener lo mismo, es desperdiciar horas programando para no tener ninguna característica nueva implementada.
La excusa que me han puesto a mi es "hazlo si tienes tiempo, pero quiero que termines esto que nos ha pedido el cliente, que se tarda en hacer una semana, para dentro de dos días" :lol:
PD: ¿VB6 cuenta como código fósil o todavía le queda material orgánico?
Tampoco es más lento que tener que añadir todas las comprobaciones a "manímetro" en lenguaje C, para ajustarte a las normas; y tener que integrar en un sistema bare-metal (sin kernel ni sistema operativo) manejadores de excepción (búscate cómo hacer eso a nivel de hardware, que si como manejar la pila en este procesador, si tiene una pila por ventanas, si tiene caché cómo descartar su contenido cuando salté el mecanismo de excepción... bufff) para que salten cuando una variable se pase de cierto valor... tal y como ya hace ADA él solito. Claro que si tu arquitectura tiene compilador de ADA, es porque alguien ya se ha dado ese curro que he descrito, y te lo ahorras.
Bien os digo, que es mucho más fácil y cómodo hacerlo directamente en ADA, que hacer que el mismo programa en C tenga lo mismos mecanismos de seguridad.
Quería poner de manifiesto que se me antoja absurdo intentar robustecer un lenguaje para que su comportamiento se asemeje a otro, que ya fué diseñado en origen con todos esos mecanismos.
A ese despropósito lo llaman "C Ada like" .
Lo tuve que llevar a la práctica en un proyecto en el que se usaba un procesador Leon2, cuando los primeros compiladores de Ada salieron para esa familia; pero no, quisieron usar C y luego que el código fuese adaptado... os podéis imaginar lo que tardé en adaptarlo. Ya no digamos cuando les hablé de programar el sistema en Simulink y de ahí que nos generase el C Ada like (C con las MISRAs aplicadas); se quedaron mirando como diciendo... MATLAB... Simulink... lenguajes gráficos... ¿qué es eso? y si pagas un poco más incluso te genera Ada,
Hace eones trabaje con Ada y te aseguro que no es una experiencia que quisiera repetir, y si las validaciones en tiempo de ejecución son estupendas pero nosotros por temas de rendimiento acabamos quitando casi todas y si, el C es un lenguaje traicionero sobre todo si trabajas con punteros y memoria dinámica (cosa que se podia pero que al final no se podia hacer en Ada), pero con matrices si vas con bucles o similares no te hace falta y si te hace falta en C te hace falta en Ada salvo que prefieras que te salga una las excepcion en tiempo de ejecución.
Para codigo militar, cientifico, etc. es estupendo porque no te deja meter la pata y es muy seguro, pero para aplicaciones normales es matar moscas a cañonazos, aunque estando el java por todos lados lo mismo el que esta equivocado soy yo :D
masteries
06/04/2020, 20:14
Hace eones trabaje con Ada y te aseguro que no es una experiencia que quisiera repetir, y si las validaciones en tiempo de ejecución son estupendas pero nosotros por temas de rendimiento acabamos quitando casi todas y si, el C es un lenguaje traicionero sobre todo si trabajas con punteros y memoria dinámica (cosa que se podia pero que al final no se podia hacer en Ada), pero con matrices si vas con bucles o similares no te hace falta y si te hace falta en C te hace falta en Ada salvo que prefieras que te salga una las excepcion en tiempo de ejecución.
Para codigo militar, cientifico, etc. es estupendo porque no te deja meter la pata y es muy seguro, pero para aplicaciones normales es matar moscas a cañonazos, aunque estando el java por todos lados lo mismo el que esta equivocado soy yo :D
Fíjate en los sectores que te comento, bare-metal sin sistema operativo y que funcione sin colgarse jamás; no se parece en nada a trabajar para un PC, por lo general el uso de memoria dinámica está prohibido. Lo peliagudo es querer incorporar al C todas esas medidas de seguridad, méteselas a mano... jajaja esa es la locura.
Powered by vBulletin® Version 4.2.5 Copyright © 2025 vBulletin Solutions Inc. All rights reserved.