On Learning to Code, pt. 2: Choosing a Programming Language

By

if-kids-in-third-grade-can-handle-coding-so-can-you

Not knowing much about coding makes it especially scary to jump right in. You’ve probably heard just enough about all the different programming languages–C++, PHP, Java, Python, Ruby, etc.–to have no idea where to start.

The truth is, most of these languages can do the same thing. They’re just different ways of doing it. Yes, there are some exceptions, but you don’t really need to know about those when you’re starting out. So which language should you learn?

If your goal is to build a prototype for an idea you have, you should start off by learning a framework called Ruby on Rails (or ‘Rails’ for short). Rails is called a framework because it’s built on top of another programming language (Ruby–hence the name “Ruby on Rails”). There are a few good reasons to start off with Rails:

  1. The point of the Rails framework is to make it really easy for you to build web applications–basically, websites–very quickly.
  2. There are other web application frameworks out there (like Django), but Rails is the easiest to dive into right now because there are a ton of resources available to help you out (which I’ll cover in the next post) and a huge community for you to tap into.
  3. I personally think Rails does the best job hiding all the stuff that you don’t really need to know about at first. There’s a pretty famous video in which the creator of Rails demonstrates how to build a weblog platform in 15 minutes.

A lot of developers will argue that the right way to learn programming is to start with the fundamentals and work your way up. They’ll suggest you start with a language like C++ or Java and then build up to the more abstract languages. I understand the temptation to say this because it mirrors the way we learned things in school and it also happens to be how most experienced programmers learned how to code, but I think it’s the wrong way to learn coding.

People don’t want to spend months learning “if… then” loops so that they can finally build something really stable but really simplistic, like a text-based game. If you’re like me, you generally give up on learning a new skill if you don’t see fast results. With Rails, fast is the name of the game.

A friend of mine once told me a story that finally convinced me to start learning how to code. He recounted a time he and a friend were working at a parking garage a few summers back, and they came up with the idea to build a site where people could submit Four Loko stories: short anecdotes about Four Loko-induced debauchery. He didn’t know where to start, but he had the whole summer ahead of him, so he started learning Rails. Within a few weeks, he had a site up and running. And here’s the amazing part: without active marketing efforts, the site started generating a lot of traffic on its own. So he threw up a few banner ads. To this day, he’s still getting thousands of page views–and checks in the mail each week.

The ability to get quick and positive feedback on your projects is crucial to building momentum. So: learn the minimum skill set you need to get feedback fast; then go back and fill in the missing pieces.

In my next post, I’m going to cover how I learned Rails in under a month and tell you all the tips I wish I had known, so that you can get started even faster.

Mattan is the founder and CEO of The Front Labs, a digital strategy agency based in New York City. He’s a marketer, philosopher, adventurer, and generally well-mannered guy. Follow him on twitter and read his blog at mattangriffel.com.