User blog:Taldin/On the Subject of Languages

Random ramblings for today.

We are gifted with the power of language, the ability to communicate ideas, thoughts, and actions to others, from a very young age. Most of us start with the language our parents speak, and we pick up more words from our peers and people we encounter in our travels. At some point in our education comes the ability to learn a second language in parallel, but it is rarely as easy as the one language we learned to convey our first words with, because now there's an additional translation layer in there -- the equivalent of remapping our reality to another term to say the exact same thing.

In junior high school, I had one year of Intro to Foreign Languages -- four quarters, one language each quarter; Spanish, German, French, Italian. Basics of ideas and greeting / polite conversation. After that, you picked one language to take a full course in. One of the things we were taught is that the four Romance languages were fairly similar, and shared similar constructs and root words. Some of our English words are borrowed from their European counterparts, too.

Someone I was sitting near in a recent Toastmasters training said that he'd been trying to learn Spanish since his long term girlfriend spoke fluent Spanish. He immersed himself in it by traveling for a year in South America and Mexico, and he said, "I knew I'd finally made it when I started dreaming in Spanish."

For me, computer languages are my foreign language of choice. I taught myself how to code in grade school in order to make the glass and metal box on the desk do things I wanted it to. I went on to major in Computer Science, and as part of my education I had to learn multiple computing languages over the span of four short years.

Similar to learning Romance languages, I found that computing languages share some very similar concepts and constructs. To learn a new computer language, you just have to look for how they do specific things.

So while I'm learning how to write code and tests for Habitica, I'm using those same skills;  'find the common terms and concepts, and then emulate them to create new phrases -- or in this case, functions. Right now, though, figuring out which foreign computing language dictionary to use is part of the problem - there is definitely a dearth of basics when it comes to creating these tests!

I'll get there, though, because unlike learning a foreign language, you can keep repeating similar phrases over and over at the TravisCI test harness until the tests work.

And when I'm done, I will definitely be writing a dictionary for y'all.