Hostias el hilo se ha tornado muy interesante... Vamos a pasar a Replys:
Petrus: No se en que punto el tema de la linea AVE me hablas, pero te puedo decir de primera mano que TODA la logica de negocio de RENFE (vamos, la que maneja las pelas y temas relacionados con la reserva y venta de billetes) esta corriendo en un z/990 con COBOL-CICS-DB2 y con un WebSphere de frontend de Internet (esto ultimo con mucho java, eso si

). Y donde te digo RENFE, te digo Telefonica.
Respecto a lo que dices de Google y tal, si, si tienes razon, pero Google tiene 5 años de vida, si hubiera nacido en los años 80 te aseguro que no tendrian un cluster de maquinas, sino mainframe. Que luego hayan evolucionado a la plataforma open, no te digo que no, pero la logica del negocio de sus pelas y anuncios estaria a buen recuado con un CICS y un DB2, segurisimo. Que la pela es la pela. Todo el tema de los robots y las busquedas si, lo tendrian en entorno grid, pero al fin y al cabo los datos que tienen no son suyos y si algun nodo se cae... no se perdera gran cosa. Eso si, ten un dia un banco sin ordenadores y ya te digo yo que pasara con ese banco... ira a la quiebra.
De todas formas, Petrus, las aplicaciones de video que comentas es que no tienen nada que hacer contra un mainframe, ya que un mainframe no se ideo para eso, se ideo para el tratamiento de datos que SIEMPRE deben estar on-line a pesar de que hayan terremotos.
Keb: No pretendo decir que JAVA sea una mierda en todo su conjunto, pero desarrollar JAVA en ciertos entornos o plantear una migracion de un sistema COBOL a JAVA es practicamente un suicidio profesional. En otro orden de cosas, yo he visto programas COBOL programados de maravilla, y programas de JAVA escritos como el culo. Pero eso no es culpa del lenguaje, es culpa del programador. Por cierto, un CALL no tiene nada que ver con un GOTO, un CALL a un procedimiento es a lo que en JAVA es un include + llamar a un metodo, asi que si, yo en COBOL he visto mil CALLs pero es que en JAVA tambien, no se que diferencia hay, y donde digo CALL digo PERFORM. Pero eso no tiene nada que ver con la programacion estructurada. Asi que no se, echar la culpa a COBOL por ser un lenguaje desetructurado es un poco de retards, la culpa sera en todo caso del subnormal que programe asi de mal.
Cuando yo hablo de JAVA como ineficiente es porque consume una CPU de la leche para ciertas cosas que en otros lenguajes para lo mismo consume un tercio de lo de JAVA. Simplemente eso. Joder, si hasta tiene recolector de basuras... Yo cuando programo no genero basura que luego deba recoger el JAVA, coño. Yo en COBOL cuando diseño un programa, defino una Commarea donde estaran mis variables, pero de ahi no se van a mover, jamas creare basura de ningun tipo, y los apuntadores en COBOL los puedes manejar a nivel de direccion de memoria (ojo, si el CICS te deja, porque el CICS tiene su propio direccionamiento tambien) asi que a no ser que se me olvide quitar la referencia de ese apuntador y en la commarea me deje mierda, es dificil generar basura. Hostias, COBOL lleva 50 años de refinamiento interno, si a estas alturas genera basura apaga y vamonos.
Que luego JAVA tenga tales cosas mejores que el otro? No lo niego en absoluto, estoy convencido que JAVA tiene mil millones de clases mas que COBOL y el doble de utilidades, pero segun para que lo utilices, claro, para lo que yo he necesitado, COBOL me ha resuelto la papeleta. Y en JAVA lo mismo me tarda dos burradas en hacerlo. Que luego me lo presente de puta madre? Eso es decision del cliente. Si quiere dibujitos web, y acceso concurrente bajo, pues JAVA. Si quiere rapidez y 30.000 tios concurrente, CICS. Pantalla verde, pero 30.000 pantallas verdes. Que son feas? Tienes razon. Que el acceso es mas rapido? Tienes razon.
De hecho, hace un mes en una de estas mañanas que no habia trabajo que hacer cuando estaba donde un cliente, entre mofa y mofa se genero un flameo en el trabajo con la gente de Websphere y nosotros los mainframeros (yo estaba de externo, pero en sistemas host con los mainframeros). Los webspheros decian que lo que haciamos nosotros era una mierda y que el host iba a morir, y nosotros les deciamos que ellos eran maricones de pantalla, mucho floripondio pero resultados 0. Total, en el pique hicimos una consulta DB2 contra una BD de prueba que teniamos usando el SPUFI. Daba 700.000 registros de resultado, la idea era de comprobar que entorno daba mas eficiencia. Total, nosotros codificamos una transaccion CICS sencilla con un mapa (pantalla de resultados) y un programa inicial hecho en COBOL que llamaba al SPUFI que hacia la select en la Base de Datos. Ellos hicieron lo propio con el Websphere y codificaron un portlet que llamaba a esa misma SPUFI. Total, ejecutamos la transaccion CICS. Tardo 2 segundos. Ejecutaron su llamada... 34 segundos. La misma lista presentada por pantalla, la diferencia es que la nuestra era un terminal verde con el F8 para avanzar las paginas y ellos el raton para avanzar en la lista. Ademas, los resultados los sacamos del SMF que mide cada ciclo de CPU de cada programa y sabe exactamente que tiempo de CPU ha tenido (independientemente de la carga de la maquina en ese momento), y vimos que el DB2 se llevo lo mismo en ambos casos (como es logico, la select era la misma, porque nos aseguramos que en las dos pruebas el DB2 no cacheara esa select para no hacer trampas), un segundo y medio, mientras que el CICS se llevo 0,5 segundos, y el websphere se llevo los 33 segundos restantes, aunque este como a su vez llamaba a mas modulos y a la JVM no supimos con certeza que es lo que mas se llevo de esos 33 segundos.
Eso si: Ellos tardaron el tercio del tiempo que nosotros en desarrollarlo, quizas porque ellos la capa de presentacion la tenian en el websphere y nosotros tuvimos que currarnos el mapa de la pantalla a pelo. Entonces, que es mas ineficiente? Nuestra programacion? Su resultado? Segun se mire y segun la logica del negocio y segun lo que el cliente quiera. Por lo tanto, los dos tenemos nuestra parte de razon.
Que ahora se lleva mas al tema de la web y la presentacion facil para el usuario bobo? Pues si, pero lo que se esta haciendo el 99% de los casos que ya tienen un entorno tradicional, ya sea mainframe o AS/400, es quitar los terminales y poner un servidor de aplicaciones en medio, que "maquille" la capa de presentacion usando JAVA, C o lo que se os ocurra. Pero al final, ese JAVA llamara a un CICS para que le de lo que le piden, nunca se hara cargo JAVA del acceso a los datos y por lo tanto, siempre hara falta gente entendida en COBOL para definir nuevas transacciones e implementarlas. el 1% restante, quitara el HOST y pondra algo con gestores de BD Oracle y programas JAVA o C... todo depende de que direccion tome el negocio.
Roku: Accenture es una casa de putas, pero tiene sus partes buenas; Cuando estuve en Eroski, trabaje codo con codo con ellos y eran muy buenos programando, y se aprende la hostia, lo que pasa es que cobraban una mierda y metian horas y horas extras porque el jefe de equipo iluminado era "Ingeniero Agronomo"

y dio unos requisitos y unos plazos imposibles de cumplir. Pero para que empieces en el mundo laboral programando en COBOL y CICS, te va a enir de puta madre. Ya tendras tiempo de largarte de alli y encontrar una empresa mejor donde te valoren como te mereces. Pero para adquirir experiencia, te va a venir bien. Otra cosa es que cada uno tiene su orgullo, y alli los orgullos estaban muy pisados, pero habia gente que no se acojonaba y si no cobraban los horas extras, no se callaban la boca y protestaban, y si no hacian caso al mes siguiente salian a su hora y punto, desde luego se la sudaban las represalias posteriores. Pero ya digo que alla cada uno. Como en mi caso he metido horas extras que me han reconocido y pagado, pues de puta madre.
En fin, otro tooocho (hacia tiempo que no escribia tanto).

Como nota final, decir que cada lenguaje de programacion tiene sus partes buenas y malas, y que ahora se pide mucho mas JAVA que Cobol, pues si, pero ahora todo va en una direccion de mariconeo de pantalla que hace que lo que prime es lo bien que salga el logo de la empresa en Internet con respecto a los datos. Pero donde haya pasta... no veras un GNU/Linux y PHP con MySQL, o un Tomcat, eso fijisimo.
@bragatanga : uffff... yo me lo pensaría en serio... cobol? con java todavía hay otras cosas fuera de la banca/seguros, pero de cobol chungo. No digo que no haya curro, pero yo creo FEHACIENTEMENTE, que alguien que aprenda java (j2ee, xsl y demás parafernalia) podría luego aprender cobol, pero al reves, muy poquitos... muy poquitos...
Pues yo creo todo lo contrario: Si aprende Cobol, no le sera nade dificil aprender JAVA por su mayor sencillez (porque si, COBOL es mas complejo y mas enrevesado, eso es verdad). Con una pequeña imprimacion sobre la orientacion a objetos, lo tiene solucionado. Y que coño, Cobol tambien es orientado a objetos (solo que en entorno CICS no se usa que es lo que yo domino).