Reading 04: Lost in Translation

Roann Yanes
Roann’s Hackers in the Bazaar Blog
2 min readFeb 23, 2019

After learning computer programming languages for several years, I finally decided to learn a “real” language. This semester, I am in First-Year Arabic I. For the most part, I already knew how to speak Arabic, but I wanted to be able to read and write it as well. After completing seven weeks of the Arabic course, I can already draw parallels between learning and knowing a programming language and learning and knowing a “real” language. Some thoughts and phrases I cannot express in English, so I turn to Arabic as the tool for my self-expression. Thinking in Arabic is very different from thinking in English. I express myself differently in Arabic than I do in English, and my approach to problems changes drastically depending on the language I am “thinking” in. For me, English and Arabic require two very different mindsets. I find this, also, to be true when I think in C++ or Python or MATLAB. For simple, straightforward tasks, I tend to use Python to get the job done. If I am working on a project that has a lot of moving pieces or has several files, I tend to turn to C++. Paul Graham said it himself: “programming languages vary in power”. The choice of programming language in software development and computer science is, in fact, significant. In “Beating the Averages,” Graham goes on to describe how Lisp was their secret weapon; it gave the company a competitive edge. Thinking back on my Scheme days, Scheme honestly allowed me to fully grasp the concept of recursion. And while, at the time, I couldn’t imagine why/how anyone would want to program in Scheme on a daily basis, it’s actually a very useful programming language to have in your back pocket. In fact, when I think about recursion, I tend to go back to the “mindset” that I had Scheme. Different programming languages enable me to think about various problems in different manners. I guess what I am trying to say is that recursion makes sense to me in terms of Scheme. Data science/statistics makes sense to me in terms of Python. Computer networking makes sense to me in terms of C/C++. GUIs make sense to me in terms of MATLAB.

We hold Python in such high regard, because it is a high-level language, and with Python, you can accomplish a lot with very few lines of code; as Graham mentions in “The Hundred-Year Language,” “the length of the program [can be used] as an approximation for how much work it is to write.” When I tend to think about code or when I write pseudocode, I use Python. Python will persist because the language is capable of generating fast, efficient code that will run acceptably on our hardware. It is easy to translate from English to Python — very little gets lost in translation. The language that you chose to code in or write in, affects the way you think and affects what you are trying to convey. Language is powerful.

--

--