Learning a Language vs Learning a Programming Language

01 Sep 2017

The Issue

How difficult is it to learn a new programming language? Programming languages are similar to regular languages in a lot of ways.

  1. There are certain “grammar” or “syntax” that must be observed.
  2. Each language is different from other ones but there are similarities that are apparent.
  3. Languages are not math and they do not observe the associative property.
    • Math: 5=2+3 is the same as 2+3=5.
    • English: I love programming is NOT the same as programming loves me.
    • Javascript: sum = num1 + num2 will give you credit but num1 + num2 = sum will probably return “I don’t understand”.
  4. Learning new languages take practice and time commitment.

So we arrive at the original premise. Is learning a new programming language harder than learning a new language?

The Answer

The short answer is … NO. But there are a few caveats that I hope to discuss. So here is the long answer.

I think the answer depends on how much experience a ceratin individual already has with programming. Similar to languages you need to put your brain into a programming mindset and different programming languages require different mindsets. An example is when I had to learn javascript for my ICS 314 class. I found that in the beginning I had throw out everything I knew about the other languages I knew and start anew. I learned the base syntax and keywords that were used and slowly built my knowledge. Once I got into that flow I could feel myself tapping into my previous programming knowledge and making connections between variables and syntax. In certain ways it was kinda almost I don’t want to say it but easy learning javascript. So for those who already know another language don’t be discouraged when you are asked by a class or a job to take on the task of learning another one because you already have the rosetta stone inside of you.

How Did I Go About Learning Javascript?

I think the most important thing to do when learning a new language is to practice, study, practice, practice, have fun, and did I mention practice? One advantage I had is that javascript is similar to the C language. All I had to do in my mind was replace all the “floats”, “ints”, “doubles” with “let”, “var”, and “const”. I think the javascript model of not restricting users to use the specific data types is a good one. I don’t believe software engineers should have to concern themselves if they assigned the right data type to a variable and they should worry about bigger issues like how is this recursion going to work and return what I want?

Practice

Now let’s talk about the practice that I did to learn javascript. There were practice WOD’s (workout of the day) and also in class ones that were worth points. I think this is the best way to learn something new. Looking at something and putting it down only to get back to it next week is not an effective learning model. Research has shown that our brain remembers the best with repetition and continued repetition. (Brace yourselves for a game of thrones reference) There’s a reason why you can name every single Lannister and Stark but have to really think about the name of that one old maester in king’s landing. Although daily WOD’s can be stressful and seem like a lot of work I believe if they are a fair amount of work and thinking the benefits and gains outweigh the stress.