What programming language should I learn?


I thought I would try tackle this common question in programming. Specifically what programming language you should choose if you have never programmed before. It is certainly something which I struggled with when starting out. I first bought a C++ book and struggled to grasp some of the concepts. I spent time using HTML and CSS but didn’t consider this as programming as such. Eventually in University I felt comfortable working with Java. However this could have been down to being taught this programming language as opposed to my previous self-learning approach. Often I would ask teachers and other programmers what programming language to learn and they would all say “Learn ……” however this resulted in more confusion than anything.
It is very dependent upon the individual and what they want to achieve. There are many ways of going about the learning process.
  • Perhaps you are more of an active learner and working with python and a Raspberry Pi project would suit you better.
  • Perhaps you prefer to be taught and an online course from Pluralsight would help you learn better.
  • Perhaps you are more inclined to read a book and learn the core concepts of a programming language. 

The point is you should pick a programming language where you can have fun and enjoy learning your first language. You don’t want to get discouraged or bored with a programming language by doing monotonous exercises if that’s not how you learn.  I thought I’d include this graphic showing the most commonly searched programming language according to Google.

Another key factor in choosing your first programming language could be why do you want to program? You could be looking for a job, you could be wanting to build an app or you could be looking to become an ethical hacker. Here is a quick overview of some popular programming languages and what they are primarily used for.
  • C is useful to learn how computers actually work in terms of memory management, and is useful in high-performance computing
  • C++ is used for game development often, specifically 3D games.
  • Python is great for scientific programming and is becoming huge in Data Science.
  • Java is important if you want to work at large tech companies. It is also mainly used for Client-Server applications and Android mobile apps.
  • SQL is a specific purpose programming language used for manipulating data held in databases.
  • Javascript can be used for server-side programming, game development and desktop applications.

How easy a programming language is to learn is also another factor you should consider for your first language. Personally I felt Java was a great language to learn first as it teaches the core object-orientated principles. However high-level scripting languages like Javascript and Python are lot less syntactically heavy. Which allows a first timer to easily get stuck in to the language without having to understand more lines of code than necessary.
To conclude it is a very difficult question and there is no simple answer. You have to consider your previous experience, what you want to achieve, how you learn and what you want to create with that language. You may fail at your first attempt, it may take you to go through a good few languages before you find the one that is right for you. Don’t get disheartened as this is all a part of the process. The good thing is once you learn one language, learning others become a lot easier!



Comments