domingo, 11 de octubre de 2015

Erlang: un cambio de perspectiva

El artículo escrito por el profesor Ariel Ortiz resume lo que, desde el inicio del curso de programación multinúcleo, nos ha ido diciendo: el paralelismo a nivel de software es un hecho que no podemos ignorar. Y, como ingenieros en software (y algunos en hardware), debemos ser capaces de poder utilizar y explotar las bondades que las nuevas tecnologías nos ofrecen.

Siempre he sido fiel partidario de que hay cosas que el software no puede realizar sin el hardware adecuado. Un ejemplo relevante es la unidad de punto flotante. Sin este módulo, todas las operaciones aritméticas que tengan números flotantes, simplemente se quedarían siempre truncadas a su entero. En este caso, el paralelismo en software se puede dar ya que existen procesadores con más de un núcleo en el mismo chip. Y ahora, con las redes de computación y otras tecnologías, se puede hacer paralelismo utilizando más de una máquina para ello.

Otra de las aseveraciones que defiendo es que el software potencializa al hardware. La verdad, no me imagino programando una computadora con puros ceros y unos (que no niego que sería interesante y al mismo tiempo agobiante). Los lenguajes de programación en sí son un fuerte ejemplo de que el software potencializa al hardware. Sin lenguajes de programación, muchísimas cosas que utilizamos hoy en día podrían existir, pero requerirían de mucho tiempo de trabajo y corrección para que funcionen de manera “aceptable”.

Dados estos dos argumentos, considero que Erlang es una herramienta interesante, empezando por el tipo de lenguaje que es. Los principios por los que surge el lenguaje son interesantes, y su impacto en las aplicaciones más actuales son sorprendentes, considerando que tienen miles de usuarios activos todo el tiempo y que la eficiencia es muy satisfactoria. De no ser así, no tendría caso utilizar Erlang.

En otros cursos, he tenido la oportunidad de utilizar esquemas de threads, Message-passing, entre otros. Pero Erlang promete algo diferente. Para empezar, el hecho de comprender su sintaxis me da curiosidad de cómo funciona la herramienta, y de ver qué cosas podría hacer con ella. Actualmente, estaré aprendiendo Erlang y Cuda al mismo tiempo, por lo que tendré la oportunidad de ver el enfoque de ambos lenguajes, y ver qué podría hacer de manera individual o en conjunto.

No hay comentarios.:

Publicar un comentario