De vez en cuando releo la transcripción del discurso de Steve Jobs en la apertura del curso en Stanford del 2005. Es uno de los discursos más inspiradores que he escuchado nunca y tiene muchos fragmentos que se pueden rescatar como aforismos con entidad propia. Una de las partes que más me gusta es cuando habla sobre cuando comenzó a estudiar tipografía. Era una elección nada obvia y que a la postre le sirvió en el diseño del primer Macintosh. Y entonces dice aquello de:

“Again, you can't connect the dots looking forward; you can only connect them looking backwards. So you have to trust that the dots will somehow connect in your future.”

Que sería el aforismo que se puede extraer. En cualquier caso, esta referencia a las tipografías solo me sirve en esta ocasión como afortunada entradilla para hablar de las fuentes y el patrón de colores que uso para trabajar. En alguna ocasión al ver la configuración de xCode o la consola que uso me han preguntado sobre qué fuente y colores usaba y es cierto que no son una elección casual, como explico a continuación.

Escribimos historias en lenguajes arcanos

Siempre he tenido esta impresión al trabajar. Leo mucho código de otros y escribo código que leen otros. Con el tiempo he aprendido que aunque no hay una caligrafía, se puede reconocer el estilo, las decisiones, los parches hechos con prisas, los comentarios, cuando alguien cambia algo que has hecho tu y lo detectas como con un sexto sentido… Es decir, importa lo que escribimos porque va a ser leído muchas veces y es una historia en continua mutación durante la duración de un proyecto.

Entonces, si importa que escribimos, debería importar también cómo lo escribimos, la tipografía, tamaño y colores usados. Yo me lo plantee en su momento y di con una serie de soluciones que más o menos me dejaron contento en un equilibrio entre estética y funcionalidad.

El patrón de colores

En la actualidad uso un patrón de colores bastante conocido que se llama Solarized Este patrón de colores ofrece como principal característica el contraste selectivo que se mantiene tanto en la versión oscura como en la de tonos claros de la colección de colores. Ethan Schoonover, su creador, explica esta y otras características en su web, pero para mi lo más importante es que no me cansa tanto la vista como otras combinaciones de colores y me parece muy legible, sobre todo en la versión de colores oscuros.

La fuente

Una fuente adecuada para programar debe ser muy legible y por tanto no debería tener serifa. Además no debería generar confusiones entre ciertos tipos de caracteres como la letra ele y el número uno, o la letra “O” y el número cero. Adicionalmente se debería acercar en lo posible a una fuente monospace pero sin sus desventajas de caracteres “dados de si” o comprimidos en horizontal.

Hay varias fuentes que tienen características útiles para programar, pero entre todas llevo siendo fiel ya mucho tiempo a la fuente Input diseñada David Jonathan Ross. En su web se puede leer en detalle sobre qué aporta y cómo está pensada. La principal ventaja es que se puede personalizar con formas alternativas para ciertos caracteres, añadir o no la serifa y hacer otros pequeños ajustes, como se puede ver aquí

Conclusión

Como conclusión solo dejo una comparativa de un trozo de código con los colores y fuente por defecto en xCode y usando la combinación de fuente input y esquema de colores solarized dark.