Al leer
este artículo y ver la intención del autor de usar Erlang como un claro ejemplo
de la Programación Orientada a Concurrencia, me doy cuenta de los varios
beneficios que ofrece Erlang como herramienta educativa, especialmente en la
parte de la abstracción de los hilos y procesos que pueden hacer de estas
prácticas un tanto pesado. El uso de una máquina virtual propia que se encargue
de manejar los hilos con el Sistema Operativo lo vuelve una herramienta
poderosa que permite concentrarse en lo que realmente importa al momento de
diseñar un programa.
Su
estructura de envío de mensajes y su paradigma funcional ciertamente le
funcionan para lograr un paralelismo más seguro que otros lenguajes, sin
embargo, esto también genera un distanciamiento de lo que un programador, sin
importar si es joven o viejo, puede llegar a estar acostumbrado. Esto es
entendible, pero puede generar que muchas personas no lleguen a probar todo lo
que puede ofrecer el lenguaje y dejar la ilusión de que hasta los lenguajes
diseñados para concurrencia y paralelismo son difíciles de entender. Parece
compartir este trato Erlang con el lenguaje Clojure, aunque Clojure se apega
más al extraño y bizarro mundo conocido como “hijos de Lisp”. Ambos lenguajes
son fuertes en concurrencia, hacen uso de funciones como armas principales y
descansan sobre una máquina virtual.
Viendo
estos lenguajes, me pregunto si no existirá otra forma de lograr una
concurrencia fácil y sin mucho trabajo además del uso de funciones. Creo que la
memoria inmutable es algo esencial, así que van por buen camino; las funciones
permiten el uso de copias, sin embargo, tal vez falta algún elemento para
lograr que las deficiencias de Erlang parezcan una cosa arcaica y se pueda usar
este paradigma en más ámbitos de la industria del software. Uno no puede saber
de dónde vendrá este milagro. Quien sabe, tal vez hasta venga de PHP.
No hay comentarios.:
Publicar un comentario