La tecnología avanza a pasos agigantados todo el tiempo,
desde que tengo memoria he visto aparecer y desaparecer tecnologías de un
momento para otro. He visto mejorar enormemente la eficiencia de aplicaciones,
dispositivos y servicios basados en tecnología debido a la innovación constante
de las empresas de TI. Pero considero que el cambio más radical que he visto es
en procesamiento, cuando era niño me tocó trabajar con computadoras que solo
podían hacer una cosa al mismo tiempo o se trababan. Ver un video, abrir una
página de internet, ejecutar un juego eran tareas tardadas porque los procesadores
no tenían la velocidad suficiente. Después sucedió que los procesadores
empezaron a salir con más núcleos, físicos y lógicos, y a mayores velocidades.
Cambió totalmente el uso que todos le dábamos a las computadoras, de ser
solamente para documentos y oficina se hizo posible hacer edición de video, gaming
y streaming. Una locura.
Me parece que la
programación concurrente y paralela es fundamental para las aplicaciones del
futuro debido a la capacidad aumentada que se crea cuando se utiliza más de 1
sólo hilo. Y más aún, considerando que la ley de Moore no será válida por mucho
tiempo más debido a las limitaciones físicas de la creación de los transistores
y los circuitos integrados. Esta programación paralela nos abre a la
posibilidad de continuar aumentando la eficiencia, reduciendo el tiempo de
respuesta de nuestras aplicaciones aun cuando la velocidad o la memoria caché
de los procesadores no siga aumentando al mismo ritmo. El constante avance
tecnológico obliga a requerir cada vez más poder para ejecutar ciertas
aplicaciones, ya sea en el área de diseño, producción, big data, entre otras. Y
considero de vital importancia que los programadores conozcan y fomenten este
tipo de programación para aprovechar al máximo sus beneficios.