Intro: Coding 101 (aka Spanish 1)

Cierra Andaur
5 min readOct 20, 2020

Anyone who has even thought about learning to code has already heard it a thousand times over: Learning to code is like learning a new language. Ok sure, but what does that even MEAN? Obviously we call Python, JavaScript, and Ruby coding languages, but is there more to it than that? Well yes, my young Padawan. As you may have guessed from this article’s title, the expression can be taken quite literally.

In the very beginning, learning a new language is so exciting! After all, you’re learning a new way to communicate. You imagine all the conversations (programs) you’ll soon have and how impressive your vocabulary (arsenal of methods and functions) is going to be.

You start with Spanish One (or Python 101). You’re learning, learning, learning, everything is going along smoothly. You get through a couple of lessons with no problem and you’re feeling good about what you’ve absorbed so far. You’re thinking “this isn’t so bad! This is great!” So you try testing yourself outside of your curriculum (maybe you head to LeetCode?), and guess what? Creating those sentences and functions and paragraphs and programs outside of the safety of Capítulo 1 is not exactly as cut-and-dry as you maybe had hoped it would be. That’s because it’s just not the same as learning a subject in school like history or geography, where you know which king of France built Versailles or where in the world is Djibouti. You’re not just taking in bits of information to file away in your brain for later (although there is a lot of that), you’re also learning conjugations and prepositions and when to use an adverb instead of an adjective. You’re learning in what order they all fall into line. Are you working with strings or integers? Sets, lists, or dictionaries? Do you need to use a for loop or a while loop? Are you adding two 2’s together (4), or are you adding two 2’s together (22)?? These are all part of the equation of learning a new language: learning how to put it all together.

Want to read this story later? Save it in Journal.

In the same way that conjugations and prepositions are important for spoken language, methods and punctuation become imperative to keep straight for coding. The main difference seems to be that the grading is more strict in coding, as you somehow find yourself learning to love the dreaded error message (at least they tell me where my error is! /sob emoji). At least you don’t have to worry about pronunciation?

Your next stage of learning is seemingly filled with constantly questioning yourself, looking up terms in your bilingual dictionary, and just getting stuck. Perhaps by now you know what you want to say, but what’s the best way to say it? Remember to use your resources! Say hello to your new best friend: Google. You’re simply not going to know it all in the beginning. In fact, there will be times in which you won’t even remember the things you DO know. Be patient with yourself, this is part of the learning process. Pretty soon, you’ll be pulling things out of thin air and lifting that spaceship out of the swamp.

The Other Side

When you break through the struggles, learning another language is infinitely rewarding. Successfully stringing together a perfectly grammatically correct sentence (hello, syntax) without stumbling just feels good. Your first program is a literal manifestation of your hard work.

One of the most exciting parts of learning a new language is beginning to think in that language. You’ll stop trying to translate word-for-word and begin to translate your thoughts directly into code. It stretches your mind and changes the way you think. Yep, I said it. Coding makes you smarter. You learn how to approach problems differently by breaking them down into segments when you have to think in a way your computer will understand.

For me, learning French and Spanish opened my world with culture. I believe I wouldn’t have had the same understanding if I had not been exposed to the languages. Even learning colloquialisms gives such interesting insight to a culture’s history and how that culture has been shaped or how people think. In my experience with learning Python, especially under the lens of data science, I have similarly gained access to a whole new culture of information. I’m now suddenly aware of tools and insights I didn’t know existed: a world brimming with freely available DataFrames full of raw information, and an understanding of how to translate them for anyone who will listen. Even if you knew of these resources before, it’s an excruciating task to figure out how best to process the information before learning to code.

Perhaps the most important point of all, is that proficiency and skill in a language does not come without practice. We may hate to hear the cliche, but practice makes perfect. Even when you know your material, the only way you’ll get good is by truly testing yourself and practicing over and over. Along the same vein, you can’t put your progress down for an extended period of time and then magically pick it back up without losing anything. You probably know what I’m talking about if you took a language in high school and never spoke it again after you passed the class. Needless to say, you don’t have the same knowledge you used to have unless you’ve been practicing! Lucky for coders, there are tons of amazing resources to help you start practicing and keep it up. I highly recommend beginners to check out the free interactive courses on Scrimba and then perhaps graduate to LeetCode. When you’re feeling good, and to scratch a more competitive itch, give HackerRank and Codewars a go.

Captain Jean-Luc Picard says “you snooze, you lose”

Throughout your learning progress, it is important to remember that you will always continue to learn. Even in your native tongue you’re most likely learning new words and phrases all the time (what are the kids saying these days?). There are always new python libraries to add to your fluency. There are always new ways to learn to say something more eloquently or precisely than before. Coding is no different. Comparing it in terms of learning my native language of English, you could say my Python proficiency in this early stage is probably at a 3rd grade reading level. I can communicate with what I have currently in my vocabulary tool belt, but there is a LOT left to learn. Even as an adult, I challenge myself to broaden my vocabulary so I can become more articulate. I know the process will be the same in the great coding journey.

--

--

Cierra Andaur

Data Scientist | Analytics Nerd | Pythonista | Professional Question Asker |