¿Es Java el próximo COBOL?

En nuestra manía por lo nuevo, es conveniente olvidar cuánto tiempo lo «viejo» permanece con nosotros. Tome COBOL, por ejemplo. El venerable lenguaje de programación cumple 60 años este mes y, como ha escrito Steven J. Vaughan-Nichols, bien podría «sobrevivirnos a todos».

De hecho, COBOL ofrece un gran ejemplo del verdadero ritmo de progreso dentro de nuestra industria, mientras que quizás también ofrece algunas pistas sobre cuáles serán los COBOL del mañana. Java y SQL, ¿alguien? O tal vez Python?

COBOL el caballo de batalla

La mayoría de las personas que leyeron esta publicación no nacieron en 1959, el año en que Mary Hawes tuvo la idea de COBOL (Lenguaje Común Orientado a los Negocios), que Grace Hopper (y otros) formalizó y promovió. El objetivo de Hawes, como nos recuerda Vaughan-Nichols, era crear «un vocabulario similar al inglés que pudiera usarse en diferentes computadoras para realizar tareas comerciales básicas», un verdadero lenguaje neutral para el vendedor.

Si bien el apogeo de COBOL se agotó en la década de 1980, continúa impulsando el 70 por ciento de los sistemas de procesamiento de transacciones globales, según Micro Focus (la compañía que mantiene COBOL), en una entrevista con Vaughan-Nichols. ¿Sacó dinero de un cajero automático? Estabas usando COBOL. ¿Pagó una hipoteca? COBOL Llamado un centro de llamadas? Sí, eso también fue COBOL. Incluso reservar sus vacaciones casi con certeza depende de COBOL.

Supuestamente, COBOL ha expirado durante décadas, sin embargo, 220 mil millones de líneas de COBOL viven en los mainframes de nuestras vidas. Según Lero, un centro de investigación de ingeniería de software, las transacciones de COBOL eclipsaron las búsquedas de Google en 200 veces en 2014. ¿Alguna vez Google se pondrá al día?

COBOL es más que un tonto que vive en el piso de un pensionista de mainframe. Además de ser fácil de leer, el idioma se ha mantenido actualizado con sus vecinos. Hoy COBOL se integra con contenedores Docker y Java, mientras se ejecuta en la nube o en Linux o Windows, o en casi cualquier lugar y en cualquier cosa. Es un lenguaje altamente portátil que permite a los desarrolladores centrarse en escribir sus aplicaciones, mientras que COBOL se ocupa de las complejidades del sistema operativo subyacente.

Hoy, el mayor riesgo para COBOL es que cada vez es más difícil encontrar programadores calificados. El lenguaje puede tener décadas más para vivir con nosotros, dado el costo y el riesgo de reemplazar los sistemas basados ​​en COBOL con alternativas, pero eso no significa que los desarrolladores estén creciendo soñando con escribir su primer programa COBOL. Es un problema, pero no es mi objetivo resolverlo aquí en esta publicación. (¡Lo siento!)

En cambio, revisar los 60 años de historia de COBOL me hizo pensar en los idiomas de hoy que podrían convertirse en los «COBOL» del mañana. Es decir, ¿cuáles son los idiomas / tecnologías que seguirán dando vueltas bajo el capó de una amplia gama de tecnología del mañana?

Mañana COBOL hoy

Es difícil predecir el futuro, por supuesto, pero hay argumentos sólidos para SQL, Python y Java. Dave Kellogg tiene desde hace años llamado SQL el nuevo COBOL. Eso puede ser cierto en términos de longevidad y la percepción de que está desactualizado, pero el paralelo finalmente se desvanece. Solo hay un COBOL. A pesar de todas sus pretensiones de estandarización, SQL habla un dialecto diferente dependiendo del proveedor de la base de datos. Si bien eso no ha impedido que SQL se quede (y seguramente seguirá siendo relevante en las próximas décadas), no se siente como un espíritu afín a COBOL.

Ciertamente, no de la misma manera que lo hace Java.

Java, como COBOL, es relativamente fácil de leer y escribir. También como COBOL, Java ha mantenido su modernidad. Cada vez que Java parecía que se estaba desvaneciendo, algo lo animaba. De acuerdo con Brian Leroux, Android es definitivamente parcialmente responsable de [Java’s] relevancia continua ”. Un poco más tarde, los grandes datos revivieron aún más Java. Como Nitin Borwankar ha destacado, «Java recibió [a] segundo viento debido a Hadoop y todo el ecosistema de ciencia de datos, incluidos los idiomas Hive, HBase, Spark, Cassandra, Kafka y JVM, como Groovy y Clojure. Todo eso no va a desaparecer pronto ”.

De hecho, al igual que con COBOL, una de las principales razones por las que es probable que veamos Java grabado en nuestras lápidas es porque, como Jonathan Eunice escribe, «se despliega profunda y ampliamente en aplicaciones críticas, lo que lo hace digno de crítica sistemática». Mientras más empresas incorporen Java en sus aplicaciones más críticas para la misión, es menos probable que sea arrancado y reemplazado por alternativas modernas. El costo y el riesgo mitigan contra hacerlo.

De la misma manera, Python puede demostrar su poder de permanencia. A La mente de Lauren Cooney, Python perdurará porque es un «GSD [get stuff done] lenguaje versus un lenguaje genial «.» No es lujoso «.» Simplemente funciona «. Es importante destacar que, al igual que Java, Python es cada vez más fundamental para la ciencia de datos moderna, entre otras cosas, que bien pueden ser las cargas de trabajo transaccionales del mañana que sistemas financieros subyacentes (que, como se mencionó, es una gran razón por la que COBOL sigue siendo genial hoy).

¿Algo más? Bueno, existe la respuesta no tan irónica de que quizás COBOL sea el futuro COBOL. Como Andrew Oliver lo pone, “Hace años dije que Java es el COBOL del futuro. Todos me miraron extrañamente. Creo que es el futuro «.

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *