ECMA6 Template Literals
Human languages sometimes drift toward laziness—or efficiency. I shared once that in southern Spain’s Andalusian Spanish, people often shorten gracias (thank you) to gracia, and he comido (I’ve eaten) to he comio.
Programming languages we design for machines can be understood the same way. Today I moved into ECMA 6 JavaScript syntax: for strings you can use ${variable} to interpolate values—lazier and more efficient than the old way.
When I first saw this in an online course, I got it quickly and thought it would be easy—even entertained the lazy idea, “This is so simple, do I really need to practice?”
But I know it’s like learning English or Spanish: if you pile up grammar and vocabulary without speaking, writing, or talking to people, you won’t get good. Programming languages have far less grammar and vocabulary than human ones, so I dutifully practiced this simple ECMA6 string syntax at the keyboard.
I didn’t expect something so simple to fail. My variables stayed variables—they never brought out the names of Soong, Han, and Tsai!! After some digging I found the new syntax needs backticks (the key in the top-left corner), while the old one uses single quotes that look almost the same but aren’t. Once I switched to backticks, variables finally interpolated correctly in the string.

Along the way I also noticed something else: when TV and media blast those three names at you, it barely registers—but today, typing James Soong, Han Kuo-yu, and Tsai Ing-wen with Boshiamy on a physical keyboard, it hit me that Soong and Han share the same character 瑜. Then again, maybe everyone else noticed that right away.
In class, in books, online—especially on TV—we often see things that look simple in our heads. Doing them is rarely that simple: you hit unexpected friction, and you also get unexpected fun.