What language is the best?

Illustration of important programming languages.

You've got your brand new raspberry pi in the mail and you're about to plug it in when you realize that you've got a choice to make.

You've got to decide what programming language to learn before you start making your raspberry pi work for you.


Time and time again, novice programmers ask what language they should learn first.

It's a reasonable question to ask, but, as most novice programmers know, the programming community likes to give pretty unhelpful responses.

Most answers are vague and vary between main languages, after all, language preference is subjective. There is no right answer.

However, there are better answers than other. Some of the most 'preferable' languages right now are listed below.

  • Python
  • Java
  • C
  • C++
  • Ruby
  • Objective C

But to keep it snappy I'm going to cut out Ruby, objective C, and pretend C and C++ are the same language (They're not, but they're very similar and closely related).


So you're looking at python, java or C.

What are the benefits and disadvantages of each?


Python pros:

  • Easy language to learn
  • Works with data very well
  • Lots of documentation. You can answer most of your questions by googling them.

Python cons:

  • Not 'low leve' i.e. Not as tied to hardware of computer
  • Not low level programming, maybe too easy.

Java pros:

  • Incredibly versatile
  • Neither too easy nor too hard to learn
  • Lots of documentation.

Java cons:

  • Not low level programming

C pros:

  • Allows you to better appreciate easier languages
  • Gives you more control
  • Lots of documentation.

C cons:

  • Can be very difficult to learn


So what language do you want?

What do you want to program?

Are you planning to program as a profession?


These are the questions you must ask yourself before devoting yourself to a certain language.

You have to know if you want to make games on several platorms (Java may be the better choice), work closely with the

hardware of your computer with incredible speed (Preferably C/C++), or just dip your toes in the water with a bit of data management (Python).


Although it's good to take your time when deciding what language to learn first, it's not the most important decision in the world.

Don't pressure yourself, you can always switch languages if you run into any problems.

Cercle Social for Education