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

Entradas populares