Polyglot programming
Tags: beginners
Published: 2019-12-30 00:16:25

---
title: Polyglot programming
published: true
description: Noticing similarities between programming lanugages, for the Flatiron School Full Stack Web Developer online bootcamp
tags: beginners
---

One of my favorite things about programming so far has been comparing different languages. My introduction to coding was through a Codecademy course on Python, then I studied JavaScript for Boot Camp Prep and am working my way through lessons in Ruby. I was thrilled to find the Cartoon Collections lesson in the Ruby curriculum, as I had completed the same exercises in JavaScript a few months before. What were the different tools and approaches I would access to tackle the languages? How had my programming skills developed? Is there some similarity between the way the mind adapts after it learns a second spoken language and how it functions after learning a second programming language? 

As someone who still considers herself very much a beginner in both languages, here are my assessments while comparing the code I wrote in both exercises:

**RUBY**
- Terser
- More linguistic/English Focused
- Easier for non-programmers to follow

**JAVASCRIPT**
- Potentially unnecessary loops included
- More algebraic
- Shorthand/abbreviation 

So far, the basic elements of Ruby feel quite similar to JavaScript, square brackets are connected to Arrays, quotation marks to Strings, parentheses to arguments ([which, from this article, seems to derive from their connection to the C language pattern](http://www.gavilan.edu/csis/languages/parentheses.html)) .  

Though there has been some mental translation while transitioning to Ruby, such as remembering: 
*methods* are *functions*,
*for* is the same as *each*,
*else if* becomes *elsif*,
*objects* are *hashes*,

More practice brings more familiarity and comfort. The process has reminded me very much of trying to learn German. The clunky recitation of phrases during common conversations with cashiers or passersby is beginning to morph into a gray area. I am both *bereit* and *ready* because I now feel them as the same concept. 

Is there some similarity between the way the mind adapts after it learns a second spoken language and how it functions after learning a second programming language? I’m learning to perceive concepts more abstractly. With the relative youth of programming, I can’t help but wonder — will programming languages become more unified as time goes on? The shift to including *colons :* when defining hashes in Ruby instead of just the *hash rocket =>* feels like a narrowing may be in progress. Will programming dialects morph into more homogenized practices across languages? Does preserving the culture of these languages share similarities with preserving rapidly vanishing languages around the world?

Like most things with programming, I still have more questions than answers.

I’m looking forward to deepening my understanding of the vibrant world of programming languages; from the powerhouse languages taught in the Flatiron School’s Online Web Developer curriculum to earlier languages such as BASIC or even more obscure languages like [Omgrofl](https://esolangs.org/wiki/Omgrofl).