Tuesday, July 7, 2015

A coding isogloss

Every site I build uses html, css, and javascript; liquid too if I'm building an ecommerce shop. It's easy to forget that each of these is a language rather than a library of tools, and that proficiency can be thought of as fluency.

When I look at a design in photoshop, I immediately translate what I'm seeing into its component languages — the structure and content into html, the style into css, the interaction into javascript and the data into liquid. It's like seeing an object and imagining how it's said in English and Spanish and Russian. And why; how did each of these cultures build this word? What does it mean to them?

Sometimes I lament that a particular coding language can't perform a function that is routine in another, and it makes me think of words that don't translate from one spoken language to another. Like how the King James Bible both "agape" and "phileo" are translated as "love."

Moving between these languages ultimately becomes fluid. I write the content and structure code of the site while including classes that I intend to use for style and functionality, or write a data loop that contains displayed content. But as much as these languages work together to present a unified picture and experience, they're still separated within the code. The style code has its own files. Javascript too has its own files or is relegated to the bottom of the document.

And so the file organization ultimately draws a map of languages — here style is spoken, here is spoken the language functionality, and here you will read content with style and functionality accents.