Como
presentamos anteriormente en la entrada correspondiente a Erlang, nos
queda claro que el Paralelismo aunque es diferente a la concurrencia,
ambos nos ayudan a alcanzar nuestro deseado objetivo de tener un
paradigma de desarrollo de software más enfocado al aprovechamiento
de recursos listos para multiproceso.
A
medida que la tecnología avanza, el interés por hacer programas
Concurency-Oriented incrementa debido a que cada vez se integra
tecnología más compleja y completa que satisface diversas
necesidades que han surgido con el tiempo, así como la
miniaturización, la eficiencia y por supuesto la potencia.
Actualmente tenemos procesadores que tienen al menos dos núcleos, y
gracias a un poco de astucia mercantil e ingenieril, podemos decir
que ambos núcleos se pueden sentir como cuatro. Así mismo contamos
con teléfonos móviles que cuentan con hasta 8 núcleos y tienen
arquitecturas interesantes como BIGlittle; sin embargo esta necesidad
por “tirar más núcleos al problema” no surgió de la noche a la
mañana, así como hemos venido trabajando la idea de incrementar el
rendimiento, históricamente en algún momento alguien pensó
erróneamente que para nuestros tiempos terminaríamos con
procesadores que alcanzaran frecuencias de hasta 7, 10, o incluso 20
Giga Hertz. De acuerdo al paradigma que ha ido cambiando poco a poco,
nos enfrentamos a una cuestión de suma importancia, cómo se puede
enseñar programación orientada a la concurrencia teniendo en cuenta
lo difícil que ya hemos destacado en todas las entradas que es el
cambio en el pradigma. En el paper “Teaching Concurrency-Oriented
Programming with Erlang”, Ariel Ortiz destaca una serie de bondades
que el lenguaje Erlang posee con el fin de facilitar el proceso de
aprendizaje, incluso podemos notar que las actividades y prácticas
que se proponen no son muy diferentes a las que llevaría cualquier
curso de programación lineal, sin embargo se introduce un enfoque
importante a no solo aprovechar las bondades del lenguaje, sino
también superar algunas de las deficiencias que tiene, para que el
“aprendiz” pueda realmente entender el panorama de la
programación en paralelo, cómo aún no se tienen todas las
respuestas, así como las ventajas en tiempo de ejecución que la
concurrencia y el paralelismo tienen parael futuro.
Comentarios
Publicar un comentario