«¿Qué hay en un nombre?» Aparentemente una pregunta simple pero implica muchas otras cosas. La pregunta misma nos hace ver que un nombre es más que una etiqueta, es un contenedor llevando en realidad más información de la que nos dicen sus letras.
No puedo decir si antes de Octubre o Noviembre de 1985 ya había escuchado o leído esta pregunta pero lo que sí recuerdo es que fue a consecuencia de la lectura de un artículo en una revista que noté su existencia, junto con sus implicaciones e importancia. La pregunta aparecía como el título de un párrafo de algún artículo de la revista Byte de Octubre de 1985. Fue la primera vez que compraba esta revista, creo a raíz de una tarea escolar. Desafortunadamente, esta revista dejó de publicarse hace más de 10 años. Fue reemplazada por una versión netamente publicitaria, aunque su verdadero lugar lo tomó la Dr. Dobbs Journal.
Fue en esa ocasión que caí en cuenta sobre la importancia de nombrar (y como nombrar) las cosas. Importancia que fue cobrando forma y tomando su lugar conforme aprendí a programar. A partir de entonces tuve que «nombrar cosas», variables, especialmente funciones, procedimientos, así como archivos y programas. Ya no era sólo dar un nombre, ahora el nombre debía tener un significado, un sentido. No solo debía identificar algo de manera única sino que también debía dar una idea de lo que nombraba y lo que había detrás de éste. Nombrar obras y objetos tomó una importancia creativa similar a la creación de la obra u objeto mismo. El nombre es la carta de presentación de aquello que debe identificarse.
Al momento en que se publica este post, mis clases en la materia de «Lenguajes y Compiladores» han llegado a los temas referentes al diseño de un lenguaje para su uso en computación e informática. Momentos en lo que vienen a mi mente todas estas reflexiones sobre la importancia de nombrar cosas, como explicar la transformación que el caracter o secuencia de caracteres que elegimos para identificar una instrucción, estructura, valor u operador se transforma en un símbolo a emplearse en la construcción de un mensaje que transmitimos al computador mediante un programa.
No hay una regla que nos indique cómo es que debemos nombrar algo. En el terreno de la ciencia y la tecnología podemos mencionar algunas sugerencias, buenas prácticas, notaciones o estándares que nos ayudan a proporcionar la información suficiente mediante la palabra que armemos o adoptemos pero al final, es la creatividad, conocimiento y buen juicio del autor que da la pauta.
Un nombre debe significar lo que debe significar.
There are only two hard things in Computer Science: cache invalidation and naming things.
–Phil Karlton
Referencias.
1. «The Poetry of Function Naming«, Stephen Wolfram’s Blog, October 18, 2010 post. URL: http://blog.stephenwolfram.com/2010/10/the-poetry-of-function-naming/.
2. HomeLib website. Byte Magazine index and references. URL: http://www.devili.iki.fi/library/publication/10.en.html.
3. «The Free-Form Linguistics Revolution in Mathematica«, Stephen Wolfram, Wolfram Blog, November 15, 2010. URL: http://blog.wolfram.com/2010/11/15/the-free-form-linguistics-revolution-in-mathematica/.
4. «Programming with Natural Language Is Actually Going to Work«, Stephen Wolfram, Wolfram Blog, November 16, 2010. URL: http://blog.wolfram.com/2010/11/16/programming-with-natural-language-is-actually-going-to-work/.