Find out which programming language is right for you from an expert

This question originally appeared on Quora: What are the best programming languages to learn today? Answer by Avi Flombaum, co-founder and dean at Flatiron School.

Want to learn coding? But before you do so, you need to know what sort of programming may be apt for you?

The answer is very simple. Start writing a code. Learn how to build a program and learn how to detect and fix flaws. Once you start doing this, you will realize whether you love writing code or not. In other words, the best way to find out what aspect of coding do you love is to learn to do it, fail and experiment. And by experiment, we mean by not watching lots of pre-recorded videos.

As a beginner, when you start, don’t worry about the language, or the framework, just begin to write the code. At the end of the day, it is important for you to have understood how to program, as programming is basically a way of how you think.

Having said that, there are also a few other aspects that will help you discover and sort out your programming journey. Ask yourself the following questions:

1. Are you interested in becoming a web developer or an iOS or Android developer? In other words, do you want to learn how to build web apps or mobile apps?

2. Do you enjoy front-end development (i.e. a web page- start with HTML, CSS and Javascript) or back-end development (i.e. logic/database side of things)? At the end of the day, you will want to learn both.

However, if you figure out that you actually enjoy front-end or back-end, then you can concentrate on learning as much as possible in that domain before moving on to another sphere.

Regarding back-end languages, you have a few primary choices.

  • Java—I believe Java is the most common programming language in use today. It’s what the AP exam uses to teach computer science (CS), and is the lingua franca at most universities for those considering a CS degree. It’s also the core language needed for Android development. So, if you’re looking to get a CS degree or build native Android apps, you may want to start here.
  • Python—Python is what’s used at Google, and is also being increasingly taught at universities. Its true strength is in data, so if you’re looking to become a data scientist, you’ll likely need to learn Python somewhere along the way. Aside from that, it’s got its own web framework (Django) which makes it a great option for building web applications.
  • Ruby—My bias will shine through here—I absolutely love Ruby. It was developed in the 1990s and exploded in popularity after the creation of Rails, which allowed people to easily build apps for the web. Ruby is very similar to Python in a lot of ways, but the small differences are what makes me love it (and make it such a great language for people starting out). First, Ruby has a tremendously active and welcoming open-source community. One of the core tenants of Ruby is “MINSWAN,” which means Matz (creator of Ruby) Is Nice So We Are Nice. Additionally, Ruby is incredibly expressive. Where in Python it is viewed that there should be one, and only one, right way to do something, Rubyists believe that the way we write code is an expression of our values and individuality.

Finally, it’s incredibly readable. This is how one would write a simple “Hello World” program in Java:

  1. public class Main {
  2. public static void main(String[] args) {
  3. System.out.println(“Hello, World!”);
  4. }
  5. }

This is “Hello World” in Ruby:

Ultimately, though, the first language will be the hardest. It’s like learning to play guitar for the first time. You have to train your brain to work in an entirely new way. After that, picking up another instrument is relatively trivial. So focus on whatever’s going to get you fired up and keep you motivated and you’ll do great.


  1. This article is absolute garbage… One cannot just “start coding in order to learn code” because you have a chicken and the egg problem. People need to “learn” to code “*BEFORE*” doing any coding. Like keywords, syntax, regular expressions, variables, logic, program structure, etc. You don’t just “start” coding.


Please enter your comment!
Please enter your name here