Technically speaking
I love learning languages. Being able to speak another language opens the mind to a new way of thinking, a new culture filled with rich history, and allows you to connect with others on a deeper level. When my mom and I came to Canada, I found English very weird. I remember feeling the frustration that verbs in the past tense tend to behave in unpredictable ways. I used to ask myself as an 8-year old girl:
If I say she learned how come I can’t say she swimmed? Swam looks like the word swan, maybe the English people wanted to be fancy in their swimming?”
Once my ESL (English as a Second Language) classes were done and I got the chance to sneak into my grade 4 french classes, I enjoyed getting candy from Mme. George and watching french tv from a talking pineapple who was constantly told “Les ananas ne parlent pas! Ce n’est pas possible!” (Pineapples cannot talk! This is not possible!”). So I decided to tell my mom to sign me up for the Extended French program that went from grade 5 to grade 12. Unlike English, French was way more predictable because it is a more poetic version of Spanish. Whenever I did not understand the word, I found the equivalent sounding word in Spanish and I knew the meaning of that. For example, while in English we say why, in French we say Pourquoi which coincidentally sounds like the Spanish equivalent of Porque. I used to tell my mom that when I became a famous soccer player and got interviewed after games, I wanted to be able to respond without having a translator.
Once I began High school, I learned that I could do Saturday school in Italian. I decided to learn this new language for two years and added the “Perché” onto my list of why’s. For me, Italian became a more flirtatious version of Spanish. I constantly caught myself writing words in Spanish or French into the essays that I had to submit for my Italian class. Luckily, since the sentence structure was the same, the word was all that needed to be changed before submitting. In fact, the grammatical structure is very similar for Spanish, French and Italian because they are all considered romance languages that are derived from Latin.
Although I decided to become a software engineer instead of becoming a professional soccer player, I realized that the language skills I learned paid off. I think that most software engineers might not want to admit this, but many of them talk to their computers more than they talk to their friends, especially now that the lockdown has kept us all from seeing each other. If I were to tell my grandparents what my job is like, I would happily say that I talk to a machine and we solve problems based on how I communicate with it.
Instead of verbally communicating with my computer, I physically type the code on an IDE (Integrated Development Environment) using my QWERTY keyboard and use a specific programming language depending on what the end goal of our conversation needs to be. As I type, the IDE might tell me some lines are syntactically incorrect and that I must communicate better. Once I feel that my instructions are clear, I run the code to officially start our conversation. Then the brain of the computer compiles the code and gives me feedback through a black screen known as the terminal. When the computer does not understand me it will give me a bright red error. Sometimes we have a love-hate relationship because neither of us understands each other. I may think that I communicated correctly because the code looks right to me. In reality, my statements lead to infinite misunderstanding, my statements are contradictory, or I am not clear enough and the computer is utterly confused.
When I first started programming at the Mississauga Code Club, my teacher Ms.Suha focused a lot on foundations and told us that as long as we understood one programming language, we could learn the rest more quickly. I finally got to experience this when I started learning Java after learning Python intensively during my first year of university. Python is a great tool for beginners because the programming language is more readable. To tell the computer that I need it to print “Hello World,” I simply write print(“Hello World”)
. Java is more intermediate because the language is made to run more efficiently so it is slightly less readable. To instruct the previous print command, I need to create a program with a few more lines of code such as:
public class PrintProgram {
public static void main(String[] args) {
System.out.println("Hello World");
} }
Although we are taught different programming languages in University, the fundamental principles are the same in most languages. To tell the computer that we need to go through a list of items we use a for-loop that goes for each item and performs the remaining instructions. Similarly, to tell the computer that it needs to perform a task until the instruction is changed, we use a while loop. It is interesting to see how Java is tedious about the curly braces and the semicolons, whereas Python is tedious about its indentation. Overall, the structure of the languages is the same. In fact, along with other languages, Python and Java originate from a mother language known as C.
A language is a system of communication, regardless of whether the communication is for humans or for machines. In both aspects we use languages to express ideas and eventually build something from that idea. Having a conversation with others gives us the opportunity to create emotions, ideas, communities, stories etc. This is because our interactions with others can create an indirect impact on them and on us. Similarly, communicating with a machine allows us to transfer our ideas into reality from a direct approach. While most people learn “human languages” to connect with different aspects of our world, software engineers learn programming languages to build new versions of our world. I find it really rewarding to be an ambassador for the tech world because I get to communicate with the world to see what problems it has and then I get to communicate with the computer and we come up with some great solutions.
Enjoy Reading This Article?
Here are some more articles you might like to read next: