Teaching Concurrency with Erlang
Comienza diciendo que el problema con la materia o dicho
caso el enseñar paralelismo y concurrencia no es una tarea fácil, que con
lenguajes creados para hacer programas secuenciales y solo tienen como librearías
añadidas para que obtengan la función de hacer algo paralelo, es una forma
sencilla de introducir, pero no de enseñar a lo que es este mundo, y para eso
está el lenguaje Erlang que es concebido principalmente para hacer programas
paralelos y concurrentes.
Propone 3 motivaciones para considerarse concurrente:
1 lograr capturar la lógica del programa
2 explotar los procesadores que se tienen para tener mayor
velocidad
3 hacer frente a los diferentes dispositivos que se tienen
Sí se obtienen estas 3 cosas lograremos un programa
concurrente bien hecho.
Cómo es un lenguaje orientado a objetos, se pueden utilizar
las mismas reglas que para java al momento de construir un buen programa
concurrente, pero el lograr hacerlo no es tan fácil como simplemente seguir los
pasos y ya, puesto que la lógica de uno tiene que estar en punto para no llegar
a obtener los errores comunes que se tienen al momento de crear este tipo de
programas como lo son el running man, que trata de que un proceso no termina
mientras que el otro está esperando su resultado para continuar.
Aunque aprender un nuevo lenguaje supone echarle más coco al
asunto, sirve para ver desde una perspectiva mejor cómo es el hacer programas
concurrentes ya que este lenguaje está mejor capacitado para hacer dichos programas
que cómo mencionan son Java o C/C++, aunque creo sigo prefiriendo estos
todavía, pero en algún momento deberé salir de zona de confort y aventurarme a
aprender los diferentes lenguajes que existen con sus diferentes capacidades y
debilidades también, para lograr obtener la capacidad de saber que lenguaje
tiene la mejor solución para el problema que se presente.
Comentarios
Publicar un comentario