Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Mapa mental
Concurrente Conceptos · Problemas · Ventajas ·
Desventajas · Arquitectura
El realizar el mapa nos dio una visión más comprensiva de todo lo que implica la programación concurrente
versus la programación secuencial. Hasta ahora hemos hecho programas secuenciales en las materias pasadas
(lenguajes y programación estructurada, Programación orientada a objetos) que sin duda fueron complejos,
pero en el mundo real son muchísimo más interesantes los sistemas concurrentes, sobre todo los distribuidos, y
enumerando los conceptos, ventajas y desventajas, es claro que las técnicas que hemos aprendido de
programación estructurada y orientada a objetos resultan en paradigmas que se suman a los paradigmas
distribuidos, se suman a todas las técnicas para evitar los problemas que pueden ocurrir debido a la
concurrencia y paralelismo, que hemos descrito y enfrentaremos pronto programando las tareas. No sería
posible enfrentar con éxito la complejidad de la programación concurrente, sistemas paralelos y distribuidos si
no juntamos todo lo aprendido.
También incluimos algunos conceptos básicos en torno al diseño de algoritmos paralelizables, pero sin duda hay
mucho más que estaremos aprendiendo durante la materia.
La programación ha florecido a lo largo de los años bajo la influencia de diversas metodologías y paradigmas que
han determinado la forma en la que se entienden los programas en sí desde la manera en la que se piensan, se
diseñan y se ejecutan. Desde mi punto de vista particular, y teniendo un poco de experiencia programando,
nunca me había encontrado con el término de concurrencia, y es que es muy común que cuando recién se
comienza a programar, no se toma en cuenta por ejemplo, como es que el código escrito afecta la memoria y el
procesamiento del equipo en el que el programa mismo se ejecutará. Por lo tanto, esta actividad me abrió
demasiado el panorama al comprender que existe todo un paradigma enfocado precisamente a pensar los
programas desde el punto de vista de la eficiencia, lo cual me parece bastante interesante y lógico, pues es una
manera de aterrizar el código en términos más palpables y medibles en cuanto a tiempo de procesamiento y
memoria. Sin lugar a dudas, una brecha para mi se abre y espero que a lo largo del curso muchas cuestiones
sean aclaradas y tengamos algunos ejercicios que nos permitan visualizar esto directamente en nuestros
equipos.
Cuando nos introducimos o iniciamos en el camino de aprender a programar, lo más probable es que
lo hagamos con la programación secuencial; este tipo de estructura de programación especifica la
secuencia de ejecución una tras la otra, es decir, solo cuando termina un proceso es cuando el siguiente puede
comenzar.