Programming Languages: Picking the one right for you

code, coding, computer

One of the biggest questions for an absolute beginner may be pertaining to languages – which do I choose? There are a number of aspects that one should consider, to begin with.

What is it you hope to do?

It is important to have an intention or goal in mind before committing to any language and to acknowledge this. There is a multitude of choices out there for every job role, but some are more suited than others. One must consider the employability that learning the language provides since some are viewed more highly than others. Remember, popularity doesn’t mean quality.

Java, the most widely known and used programming language, is also one of the worst you could start off with (in my opinion). While it can be used for software and game development alike, there are languages equivalent to this which will allow you to achieve greater heights in the long-term.

The direct alternative or comparison that many make to Java is C++. Both are Object-Oriented (find more info on this here), have multiple uses, yet C++ is not only more efficient with memory but is more relevant today. I must admit, this has turned into a somewhat one-sided rant against Java – so I digress.

What is the learning curve?

Programming languages differ in the length of time and dedication they require one to put in. There are a number of reasons for this. First of all, there is the size difference. C++, for example, is substantially larger than C# and thus will require greater perseverance. Second, there is the syntax. The syntax is essentially the group of rules for the code which is written – much like the grammar that defines the way we speak the English language.

To demonstrate this, I should compare C++ and Python – and yes, I know, I like C++ a lot. Python, a scripting language to be precise, does not use semi-colons or curly-braces. On the other hand, C++ sticks to this strictly and will throw up alarming errors if the syntax is not followed. This may deter you or attract you – it’s up to you.

The final attribute that can aid in a language’s difficulty is the documentation or the lack of it. Not every language is particularly well-known or widespread, although Java and C++ are. For example, fewer people use Lua or Bash so there will be less help available. Video tutorials and documentation is essential when learning a language, particularly since books can be pricey.

Where do you want to go afterward?

This is a point I have already touched upon, but I want to highlight the importance of it. The first language one learns can determine their path from then on, whether it be success or failure. In the worst case scenario, one could start learning Java only to give up after encountering the steep learning curve. Alternatively, a new programmer may attempt to learn Lua, to begin with, and be unprepared for the (scary) world of C++ later on. I am most certainly not condemning Lua or any other language for that matter. However, the first language you choose to learn could be considered the step into the programming world, while the second step may be defined by the first. Therefore, the first language should ideally prepare you for the next one, since being multi-talented is a good trait for a programmer to have.

What do I recommend?

There are various programming languages that are good starting points, for one with no experience of code whatsoever. The reason I’m using C# in this series of blog posts is due to its flexibility and the preparation it gives for C++ at a later point. Below, I have compiled a top three list of languages for various areas that you may be interested in, along with reliable websites for more information:

Software Development:

Game Development:

Web Development:

This is by no means a definitive list, but simply to get you started. If you wish to know more about any specific language in this list, feel free to consult me below. I am less experienced in web-based programming, but I have dabbled in it prior to now. Until next time!

 

 

 

 

Leave a comment