If you are just getting started in programming, you should never pick C as the first language to learn. It’s too difficult and will make your life miserable. Instead use a beginner friendly lang such as Python, Ruby or JavaScript. This will make your life easier.

C is the mother of all programming languages. It is a general purpose programming lang, you can build anything with it like operating systems, games, software etc.

When a newbie comes into programming, the world looks like a wonderland with so many possibilities. C has a reputation for being the the go-to language of the top folks.

But before you go and pick apart the C language, know that it’s a machine friendly language.

You know that computer works with lots of zeros and ones (0,1)

A machine friendly language is close to those 0s and 1s. These are lower level languages.

On the other side, there are higher level languages, which look more like English and less like machine language.

Here is a small collection of programming languages from difficult to easy:

Hard level: C

The mother of many programming languages. It’s not object oriented. Used to build operating systems. You should start learning it after you have mastered other programming languages.

Hello World program in
Hello World program in C

Medium level: C++, C# (sharp), Java

These are improvements over the original C language. These are still hard for a beginner, I suggest you begin working with them once you have a few years of programming experience.

Hello World program in Java
Hello World program in Java

Easy level: Python, Ruby, PHP, JavaScript

These are beginner friendly programming languages. You can pick them up easily when you are getting started. You should pick one of them as your first language to learn. Let me share a few details about each:

Python

It’s a beginner friendly general purpose language. It lets you build desktop software, web application, small games and anything you can think of. With python you don’t have to use semi-colons (;)

Hello World program in Python
Hello World program in Python

Ruby

It’s the most forgiving general purpose lang of this list. Forgiving means, you can miss a syntax but your code will still work. Good for beginners.

Hello World program in Ruby
Hello World program in Ruby

PHP

Another easy to learn programming language. Used for building interactive web applications/websites. You can use it to create a social network, forum etc.

Hello World program in PHP
Hello World program in PHP

JavaScript

Easy to learn. Works in your browser, no need to install any extra software to use this lang. JavaScript is used for building interactivity into the website. If you want to learn other C based languages like C, C++, C# and Java in the future, then JavaScript will help you build a strong foundation.

Note: Java and JavaScript are not the same thing.

Hello World program in JavaScript
Hello World program in JavaScript

And yes there is another level for you:

Baby level: Visual programming

If you are an absolute beginner with no computer science background, then it doesn’t hurts to start at baby level. I started my lessons with code.org’s classic game. Not just it’s easy, it teaches you core fundamentals of programming like loops, functions, conditions etc.

Learn programming fundamentals with visual programming
Learn programming fundamentals with visual programming

The Beginner Programmers Dilemma:

Often times the newbie programmer will have a hard time figuring out which language to choose. I suggest you pick any beginner friendly (high level) language and take it from there.

You don’t get results by learning a language, you get it by building something. You will find that you have to deal with bunch of languages and frameworks to build a single project.

At the end of the day, what you build matters. Top programmers know a dozen of languages, and specialize in 1 or 2 of them. So stop getting into the language wars and pick one up.

Cheer Up!

Hey! Don’t be disheartened about my advice. Remember why you wanted to learn programming in the first place, you wanted to build a cool app, a game, a website, a social network, artificial intelligence, or work with big data. You will build it eventually, but take it slow.