sábado, 16 de marzo de 2019

Teaching Concurrency with Erlang


Erlang como lenguaje de programación me ha demostrado ser una cosa completamente maravillosa. Desde la primera vez que tuvimos el acercamiento en la clase de programación concurrente y paralela me di cuenta de que es un lenguaje con el total potencial para aprovechar los núcleos de un procesador para optimizar los tiempos de ejecución de casi cualquier sistema. Obviamente, y como lo dice el artículo, tiene sus ventajas y desventajas pues, hasta donde he podido notar, en los sistemas de cómputo no hay una bala de plata para nada, siempre existen distintas formas de alcanzar el mismo objetivo. Dicho esto, puedo asegurar que, aunque existen otros lenguajes de programación que permiten el cómputo paralelo y concurrente, Erlang ha demostrado ser de mayor facilidad y mejor aprovechamiento de los recursos que otros como C# o Java.
 
  Si bien es cierto que conocer otros lenguajes de programación nos permite tener más herramientas para seleccionar el más adecuado para determinada situación, creo que Erlang se acomoda bastante bien para un sin número de aplicaciones. Lo importante es conocer sus ventajas y desventajas, así como practicarlo lo suficiente para extraer su máximo potencial. He tenido la oportunidad de cursar la materia con el profesor Ariel y me parece que los ejercicios que nos ha dejado son lo suficientemente retadores para que aprendamos del potencial de Erlang y nos demos una idea de hasta dónde puede llegar. Pero para esto tenemos que tener bien claras las limitaciones del lenguaje, así como los conceptos de concurrencia, paralelismo y (aunque aún no hemos tenido oportunidad de utilizarlo) sistemas distribuidos.
 
  Finalmente quiero agregar que podría ser de mucha utilizar relacionar un poco más el lenguaje con aplicaciones más reales, adicionales a los ejercicios retadores que propone el profesor, de forma que podamos tener de primera mano la experiencia de utilizar este lenguaje para solucionar un problema real que nos permita verlo como algo funcional.

No hay comentarios:

Publicar un comentario