Which programming language should I learn?

This question comes up all the time and to be honest there is no definite answer to this question. To be able to point out in a direction for anyone who is asking “Which programming language should I learn?” , “Which one is the best programming language?” or so one has to understand the types of programming languages.

Programming languages are divided into many categories but the one that always clarifies their capabilities is the programming language level categorization. So, programming languages are divided into Low, MediumHigh and Very High levels. Nowadays it is not uncommon to hear terms like Super High, Ultra High etc. for programming languages which are even more high level than very high level programming languages but there is no such a thing in the books really 🙂

So what do they mean by level? Well to put it simply, it means how easy it is for us to understand it. Programming languages with higher levels are easier to understand and obviously low levels are more hard to grasp. Also, the lower the level of a programming language, the more powerful it is. I’ll tell you this though, don’t be deceived by the word “Powerful” because it is highly misleading in this context and if you continue reading you’ll know why.

I’m going to give you some examples and make it clearer for you so that you can decide for yourself which programming language is the best for you, and yes the correct version of the question in the title of this article is in fact “Which programming language is the best for me and my needs?”



Low Level Programming Languages

Examples: Assembly and Machine Language

Pros: You can do anything with this type of languages, if you are familiar enough with them.

Cons: It would take a great deal of effort to even do the simplest possible things because you have to write a lot of hard-to-understand codes.

Intermediate Level Programming Languages

Examples: C/C++

Pros: You can do many things with this type of languages because in most cases the operating systems are written using these types of languages. They are very well documented and they are almost as much easy to understand as High Level programming languages. Also there is a tremendous amount of resources for them.

Cons: It is not as easy to learn as High level programming languages. Also as time passes and processors are becoming faster the investment in tools and frameworks for these types of languages become lower and lower.

High Level Programming Languages

Examples: C#, Objective C, Java

Pros: You can do many things with this type of languages and they are very well documented and they are easy to understand.

Cons: It would be difficult to do anything other than the capabilities provided by the programming language and its framework.

Very High Level Programming Languages

Examples: Scripting languages (Java Script), Macros, MATLAB

Pros: They are very easy to understand and learn. In fact in some of them you don’t even do programming in the sense that you do in lower levels but you just write the needed tasks with very simple codes.

Cons: Nothing outside their limited range of capabilities can be achieved using these programming languages.

So that’s it. In case you’re wondering, I am using C++ (with Qt) 🙂 But I’m not recommending it of course, you have to choose it according to your needs.

Also I’d recommend reading these articles if you’re interested:

https://en.wikipedia.org/wiki/Low-level_programming_language

https://en.wikipedia.org/wiki/Intermediate_language

https://en.wikipedia.org/wiki/High-level_programming_language

https://en.wikipedia.org/wiki/Very_high-level_programming_language



Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.