Se han publicado recientemente tres artículos interesantes que versan sobre los símbolos en Ruby (esas curiosas entidades sintácticas que empiezan por dos puntos y que tan frecuentemente nos encontramos al programar en Rails).
Mi imagen mental sobre los símbolos era pensar en ellos como si fuesen cadenas globales e inmutables, pero Jim Weirich se encarga de arrojar algo de luz sobre el tema, e incluso Austin Ziegler responde con más detalle
Por último, hoy me encuentro con este otro artículo de Steve Yegge que no sólo sugiere otros usos futuros posibles de los símbolos, sino que además lo hace aplicando técnicas de metaprogramación que vendrán muy bien para retorcer las mentes de quienes, como yo, venimos de C++ (o Java).


December 29th, 2005 at 05:43 AM Creo que los símbolos de ruby tiene un funcionamiento similar al proceso de "internalización" del intérprete de python. Todos los símbolos conforman una tabla de búsqueda optimizada para encontrar referencias a los objetos en memoria. Resulta, por éso, más óptimo utilizar símbolos allí donde se pueda (eg: tabla hash) en lugar de andar empleando indirecciones mediante cadenas de texto. La internalización de python es automática aunque también se puede hacer explícita con la función "internal". No es algo que se use mucho, tal vez por no ser parte de la sintáxis del lenguaje como hace ruby.
December 30th, 2005 at 03:35 AM Para mi siempre, como decía la Guía conmovedora a Ruby de why, los símbolos serán (además de curiosas entidades sintácticas o cadenas internalizadas) variables con ojos. Muy buenos los artículos. Gracias.
January 6th, 2006 at 09:32 AM Gracias al comentario de Edu, me estoy leyendo la guía conmovedora... que es genial, pero no aclara nada eso de los símbolos.