2010-01-08 28 views
5

¿Qué diferencias existen entre las arquitecturas de nivel superior de Cobol y Java?Transmisión desde Cobol a Java

¿Cuáles son los estilos y las culturas que los programadores adoptan en estos dos idiomas?

¿Cómo puede uno de los mejores puertos de Cobol a Java?

Respuesta

3

Yo era el líder del proyecto NACA mencionado anteriormente (transcodificación automática de cobol a java para 4 millones de líneas de Cobol).

Si tiene alguna pregunta específica, no dude en ponerse en contacto conmigo a través de un comentario en la parte inferior de mi artículo mencionado anteriormente.

Hemos tenido muchos proyectos en todo el mundo reutilizando nuestras herramientas con éxito. Todavía los mejoramos de forma regular (consulte http://code.google.com/p/naca) para satisfacer las necesidades de esos proyectos basados ​​en la tecnología de NACA.

+1

¿Podría explicar brevemente el estado actual? Parece que Erena ha cambiado a un modelo de consultoría de código cerrado. –

+0

Consulte esto para obtener otra perspectiva sobre NACA: http://stackoverflow.com/a/1061829/120163 –

2

Theres un libro interesante disponible por $ 1 (de bolsillo) que puede ayudar en esa tarea, 'Java para Cobol programadores' por John C. Byrne http://amzn.to/bKqc5j

2

Ambos son lenguajes basados ​​en pila de invocación y orientada tanto objeto de apoyo y estilos de programación de procedimiento. Sin embargo, encontrará muy poco beneficio de la migración a Java si solo reescribe el código de procedimiento en un método main() gigante con subrutinas estáticas. También encontrará muy poco código Cobol que aproveche las características orientadas a objetos del lenguaje.

Como Cobol se usa principalmente para aplicaciones que involucran dinero, las tiendas y programadores de Cobol tienden a enfocarse más en el lado comercial de las cosas, menos en el lado de escribir elegante y hermoso. Los puertos de Cobol a Java que he visto tienden a tener una clase, todas las variables se declaran en la parte superior como estáticas y el método main() llama a un montón de métodos estáticos, de la misma manera que se realizaron párrafos o subprogramas de llamadas.

Los puertos de Java a Cobol que he visto tienden a ser exactamente lo contrario: utilizan las extensiones de OO que la mayoría de los programadores de Cobol nunca usan, en absoluto.

Si se encuentra en una tienda de IBM Enterprise Cobol, realmente no es necesario realizar el puerto. Los dos idiomas funcionan muy bien y puede reemplazar partes nuevas con Java y aún así interactuar bien.

Pero la mejor forma de realizar un verdadero puerto desde Cobol a Java es aprender bien tanto los lenguajes como los paradigmas; documentar la funcionalidad existente del sistema Cobol con gran detalle; luego diseñe y escriba un nuevo sistema Java de estilo OO que también tendrá esa funcionalidad.

+0

¿Ha visto un puerto de Java a COBOL? ¿Dónde? Aunque abstractamente es interesante, no pensé que alguien realmente hiciera eso. ¿Cuál es la motivación? –

+0

La motivación es que durante casi 20 años las universidades han estado sacando programas de Java entrenados por OO y no programadores de Cobol. Los contadores de frijoles ven esto y piensan que es hora de cambiar/migrar/reposicionar/lo que sea para poder contratar talento barato y lograr la misma carga de trabajo. Si esa es una estrategia sensata o no, es mejor dejar un tema para otro hilo. –

+0

Basado en el hecho de que las universidades han estado sacando provecho de los programadores OO, puedo entender (y escuchar todo el tiempo) a los gerentes que quieren convertir COBOL a Java. La pregunta era, "Java TO Cobol"? Eso no está justificado por la presencia de más programadores Java ... al menos nunca escuché eso, y opero en el espacio de migración. –