Coding? Easy? If Only!

Java Script or Ruby?  This is a conundrum.  

Earlier this week, I was convinced that Ruby was a good place for me to start in my quest to learn how to code.   This is based on people telling me that “it’s easy”, and reading similar things.  I had spent some time tinkering with a “15-minute” Ruby tutorial, and felt like I kind of understood a few basic concepts and vocabulary (very basic!!)

A conversation that I had a my first “Learn to Code” Meetup made me question my course of action.  I more knowledgeable person where I should start, and he recommended Java Script.  He said it was a pretty universal and popular programming language to know about, and recommended Codecademy‘s tutorial as a good place to start.  I told him that Ruby had been recommended because it was “easy”, and he offered a really interesting challenge to this logic.  

Ruby, he explained, uses a lot of commands that are written like English, which is why people like it and think it’s easy.  (Yes, that sounds good to me…) Java Script uses a lot more symbols and characters that look “kind of weird”.  Because of this, you are learning a little bit more about the fundamentals of coding.  Ruby might be a little easier to learn, but beginners might understand a little less about what they are actually doing.  Thus, it could be harder to get good at, and harder to apply to other languages.

This intrigued me! I like to know fundamentals and to understand the “why” in things, and I couldn’t help but feel a pang of worry that my journey with coding could have a similar outcome to my journey with math. I have never been crazy about math. It always seemed hard and tedious.  I remember learning Algebra in high school.  For a while, I understood how to do it and why I was doing it.  Then, at a certain point, I stopped understanding the “why”.  I can remember the details of the high school classroom, and even where I was sitting when I stopped understanding, but I have no idea what type of problem we were on.  I could still figure out how to DO what the course was asking me to do and I did ok (but not great).  I felt disengaged because I like to know the point of what I’m doing, and be connected to it emotionally.  It got really boring and stayed that way. I could still memorize how to do the problems, but they did not seem to have any real-world application, so my interest completely faded.  I took as much math in high school as I had to, and as soon as the requirements were met, I started taking more art and other “fun” classes. 

confused1What a missed opportunity!  Every once in a while, situations pop up in my life now when algebra is necessary (modifying recipes, for example). I always wish that I had known the right questions to ask in high school so I would retain some type of understanding, but at least Google tends to work well in those moments.  However, I don’t want the same thing to happen with coding!  I want to know how to do it and want to understand the “why” as much as the “how”.  

So what do I do? Java Script or Ruby? Which advice do I take? I don’t want to choose the wrong path, and end up bored and disengaged, which is a realistic possibility with both languages, but which one is better?  

I’ve analyzed this quite a bit…probably too much.  I talked with a teacher friend tonight, and presented this quandary.  She reminded me of a TED talk that I love by Kristen Wheeler on finding your native genius.  This talk has nothing to do with either coding or teaching.  Rather, it speaks to motivation and potential.  Kristen’s makes the point that if you start learning about something that you are already good at or naturally feels “easy”, then you flourish.  If you start learning about something that is naturally hard for you, it’s not impossible but the process will be slower and clunkier.   Continue reading