Learning Russian and Python

Russian grammar makes me want to throw my hands up in frustration and anger.

I’ve been learning Russian for over two years now.

I started by using Duolingo. I thought I was progressing quite nicely. But the gamified way of learning soon wore me down. And after a year and a half, I still could not come up with sentences of more than 5 words.

So I searched for a better way of learning. I found the apps Busuu and Lingvist to be helpful, especially Lingvist since it’s a spaced repetition app without me having to input my own words (like Anki. I’m lazy). I’ve started to actively read Russian articles (blogs or news) and watch Russian YouTube videos. And I’m using more time on the learning process, and my progress finally moved forward over the last few months.

In the midst of all that linguistic frustration, my work also involved reading and writing Python code. I had to deal with machine learning and AI and the new fangled new thing these days is Python and the powerful libraries that support it.

Let me tell you, the lack of an ending semicolon took me a while to get over.

And Python was just the tip of the iceberg. The latest technological tools and languages appear to move away from the “traditional” programming structures such as if statements and for loops. They still have them, but somehow presented in a different manner.

Python has the list comprehension thing (which looks like an SQL select statement to me). Scratch from MIT uses visual blocks to construct programming logic. And Tensorflow is … tense (tensors are hyperdimensional matrices?).

So my struggle with Russian is mostly with the 6 cases. The language makes differences for “for you” and “to you” as in <<??? ????>> and <<? ?????>>. The gender attachment to all objects didn’t help (I mean other languages such as German has it too but still).

And the newer programming languages or technologies seem to be encapsulating more and more constructs to work on a higher and more abstract level. It might even seem that programming languages are trying to approach how humans talk to each other.

And that might be the actual point. Communication.

We speak to each other and convey our ideas through natural languages. And we do the same “speaking” to computers through programming languages. The difference is that humans are more capable of picking up nuances and self-correct mistakes in communication.