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