¿Aprender COBOL todavía tiene sentido?
¿Aprender COBOL todavía tiene sentido?
Respuestas:
No lo creo, a menos que ya esté en el nicho de mercado donde todavía se mantiene COBOL.
Nooo, por supuesto que no. COBOL es una lengua muerta, después de todo. ¿O es eso?
El problema con esa visión es que los programadores en sitios como este generalmente trabajan con empresas de alta tecnología, de rápido funcionamiento (e igualmente agotador). Para ellos, COBOL es una lengua muerta, no se ve por ningún lado. No ha sido por algún tiempo ahora, es verdad.
Pero COBOL no estaba hecho para ellos. Hay más en la industria del software que esto. Las computadoras no fueron inventadas para personas con alguna necesidad irracional de actualizar y reemplazar las viejas por las nuevas todo el tiempo. Fueron hechos para fines comerciales.
¿Quieres ver COBOL? Vaya a una empresa que procese la nómina, o maneje el transporte de mercancías, el envío (como en los barcos), o maneje su cuenta bancaria. Existe un enorme sistema invisible de código que es prácticamente invisible para los usuarios, y la mayoría de ellos nunca piensan en ello, aunque lo encuentran de una forma u otra todos los días (¿cajeros automáticos?)
No, no está muerto. Pero es "legado" seguro ... ¿o no?
De nuevo, depende de cómo lo mires. Hoy en día, mucha gente usará Java, C o cualquier otra cosa en lugar de COBOL, reescribiendo desde cero ... introduciendo nuevos errores a medida que avanzan, naturalmente. Eso no quiere decir que COBOL no tenga errores y peculiaridades. Lo hace, tanto como el próximo idioma. Claro que lo hace. Pero en los "tiempos COBOL", las empresas que se tomaban los errores más en serio de lo habitual (seguros, bancos) tendían a producir códigos de mayor calidad con grupos de servicios especiales de calidad; Hoy, hay plazos en los que el tiempo y el presupuesto siempre ganan a la calidad. Además, estos sistemas se desarrollaron originalmente por períodos más largos en ese entonces en comparación con el equivalente actual.
Si algún software ha estado funcionando durante más de 30 años, ¿dónde está el incentivo para cambiar? Empresas enteras cerraron porque ignoraron el viejo adagio de "si no está roto, no lo arreglen". Muchos trataron de reescribir la cosa ... luego la primera reescritura costó mucho, luego la segunda costó aún más ... y ninguno de esos nuevos y mejorados logró reemplazarla. Como dije, esta industria se está quemando rápidamente, y también tiende a olvidarse rápidamente.
En los años 70 COBOL estaba muerto o muriendo pronto, C / C ++ iban a gobernar. Por otra parte, a principios de los años 80, Pascal se hizo cargo. Luego, en los años 90, era Java como EL lenguaje ...
Piense en Unisys Mapper, dBase, Clipper, Cold fusion ... ¿la gente recuerda eso? Cada uno de ellos iba a ser el sepulturero de COBOL.
Teniendo eso en cuenta, y el hecho de que es excelente para procesar grandes volúmenes de transacciones, procesamiento por lotes o procesamiento orientado a registros / transacciones, y que uno puede compilar (sin errores) una subrutina escrita hace 30 años como código COBOL administrado y llamar desde un COBOL.NET administrado si alguien desea usar Windows y .NET, tengo problemas para encontrar un reemplazo adecuado para él. (También tengo problemas para encontrar una tecnología de Microsoft que duró más de una década).
Sí, hoy se está escribiendo un nuevo código COBOL. Uno solo tiene que saber dónde mirar.
Para aquellos que se ríen de COBOL, en mi humilde opinión, es como reírse de las pirámides egipcias, están allí desde hace 5000 años y seguirán estando allí en los próximos 5000 años, mientras que la vivienda de hoy "hola mundo" que necesita 24 controles para trabajar será eliminada, reemplazado, olvidado el próximo mes.
Entonces, ¿dónde están todos esos programadores de COBOL?
Ah, porque aquí yace el problema. La cuestión es que muchos de ellos no tienen experiencia en ciencias de la computación. Muchos de ellos no son programadores profesionales (como en los graduados universitarios de un programa CS / SE). En su mayor parte, son personas de entre 30 y 50 años, de todas las áreas de especialización, capacitadas por la compañía específicamente para ese trabajo. Por lo tanto, no son "programadores de COBOL": la capacitación que recibieron es específica de la empresa que tanto promueve desde adentro. Y eso los hace prácticamente invisibles.
Si puede verse como programador de COBOL, entonces hágalo. Todavía hay miles de millones de líneas escritas en COBOL que requieren mantenimiento.
En realidad, no existe el conocimiento innecesario, así que amplíe el conocimiento y las oportunidades más amplias que tendrá (tendrá).
¿Tiene sentido aprenderlo?
Bueno, es un nicho y hay un montón de trabajo código heredado que deben mantenerse y no sólo puede ser reescrito. Entonces, aunque en realidad no es una opción para las grandes masas de todos los programadores, es una perspectiva para un ingreso estable para las personas.
Sin embargo, si está interesado en crear nuevas soluciones, en lugar de mejorar lentamente las que han existido desde hace décadas, COBOL probablemente no sea el lenguaje correcto.
Muchas empresas europeas todavía dependen en gran medida de los mainframes que se ejecutan como z / vse y programas cobol. Hay una demanda de programadores de cobol calificados que nadie piensa que el mercado llenará, lo que aumenta mucho el salario.
La pregunta debería ser, "¿alguna vez desarrollaré algo nuevo usando cobol?" ya que casi todo es mantenimiento o variaciones de cosas existentes de misión crítica.
Solía trabajar para IBM, donde se escribía el código COBOL y PL / I todos los días. También de las grandes compañías que confían en los mainframes de IBM, como muchos bancos que requieren miles de transacciones por segundo, esos idiomas todavía se usan con intensidad.
Si no quieres trabajar en un lugar como ese (es por eso que trabajé allí durante 6 meses), entonces ni siquiera pienses en aprender esos idiomas.
Escribimos un nuevo código de Cobol todos los días, y estamos en constante búsqueda de nuevos programadores. El suministro es demasiado pequeño por aquí.
Si desea tener un trabajo como programador de COBOL, entonces seguro, continúe y aprenda.
Por cualquier otro motivo, como tratar de aprender algo útil que pueda ayudarlo con las técnicas modernas de programación, no, no se moleste.
En el año 2000 leí una estadística de que había más líneas de COBOL escritas que todos los demás idiomas combinados.
Además, IBM garantiza que cualquier mazo de TEXTO (código objeto), compilado en cualquier sistema MVS es ejecutable en todos sus sistemas MVS y tiene la garantía de que habrá programación COBOL siempre que brille el sol.
Puedo decirle cómo lo "aprendí":
estaba empleado para trabajar con él, sin tener idea de qué se trataba, y no tuve dificultades para aprenderlo de la noche a la mañana.
Entonces, si lo necesita, puede aprenderlo. No hay necesidad de sobrecargarse con conocimientos inútiles. No hay nada interesante en él o sus compromisos a menos que tenga una necesidad práctica real de ello.
La respuesta genérica: aprender los principios de codificación, no sus implementaciones específicas (como lenguajes, etc.)
No me perdería el tiempo.
De todos modos, COBOL es la base de muchos programas de aplicaciones heredados que son críticos para varias grandes compañías iniciadas hace 20 \ 30 años.
Por lo tanto, si lo contratan para una empresa que tiene parte de su negocio principal en COBOL, hay posibilidades de que tenga que comenzar a aprenderlo.
Aprende si quieres, después de todo, saber cómo funcionan las cosas (o solía funcionar) no puede ser algo malo.
Sin embargo, recomendaría no enfatizar demasiado sus habilidades COBOL en su currículum.
En algunos lugares (por ejemplo, en el Silicon Valley donde vivo) tener COBOL en su currículum será una responsabilidad. Claro, es posible que encuentre un lugar aquí y allá que necesite su experiencia, y en ese caso continúe y publicítelo solo en esos lugares . Pero en general, hazte un favor y olvida mencionar que conoces COBOL.
Entonces sí, aprende si tienes curiosidad, solo no se lo digas a nadie.
Tal vez no valga la pena desde una perspectiva del mercado laboral, pero es posible que desee echarle un vistazo solo para tener una idea de cómo se hicieron las cosas "en el buen día". ^^
Desde una perspectiva personal, diría que primero hay cosas mejores que aprender. Sin embargo, muchas grandes empresas tienen grandes inversiones en su base de código COBOL que probablemente nunca podrán dejar atrás, creando una industria para que los programadores de COBOL mantengan la base de código y escriban código nuevo. La compañía para la que trabajo es una gran compañía financiera y nuestra división tecnológica para desarrolladores es aproximadamente 30% COBOL, 40% Java y 30% C #.
Acabo de buscar "cobol" en el sitio web de empleo más grande de Australia. Retornó 87 resultados, y (de un vistazo rápido) en su mayoría parecen ser puestos de mantenimiento heredados en bancos e instituciones financieras. En su mayoría, claramente mejor remunerados que los trabajos basados en el lenguaje más "modernos", presumiblemente debido a la rareza de la experiencia de Cobol.
Entonces, sí, parece que valdría la pena aprender a Cobol si usted 1) no le importa hacer el mantenimiento heredado y 2) quiere entrar en un nicho que está bien pagado y probablemente no sea muy competitivo, ya que es algo que pocas personas ya están aprendiendo.
(Supongo que el mercado de Cobol sería similar en la mayoría de las economías del primer mundo, pero ¿podría estar equivocado?)
Piense en los tipos de dominios problemáticos en los que desea trabajar. Por lo general, esos dominios tienen un conjunto de idiomas que generalmente se utilizan para este propósito. Si COBOL coincide con eso, adelante.
No hay forma de que toque el cobol o los dominios problemáticos que lo usan mucho con un poste de 10 pies. Prefiero voltear hamburguesas.
Considere también si el lenguaje ofrece alguna bonificación / mejora a su capacidad / conceptos de programación. No se me ocurre nada que COBOL pueda hacer / implemente / funciones que no se haga mejor o se pueda demostrar mejor en otro idioma.
Usted y los demás pueden sentirse de manera diferente.
Todavía hay muchos sistemas heredados escritos en COBOL. Ya sea que desee mantenerlos o portarlos a otros lenguajes de programación, todavía vale la pena aprender COBOL.
No importa lo que sea, algo de conocimiento en múltiples lenguajes de programación será una ventaja porque el conocimiento que tiene le permite elegir un lenguaje de programación o enfoque para diferentes necesidades de proyecto. Puede usar su conocimiento en lenguajes de programación para construir códigos mejores, más limpios y más eficientes y para evitar dificultades.