When we start in the programming world, never asked us about our goals and why we would like to learn to build software, immediately taught us many things: Languages, IDE's, editors, frameworks, libraries and more. In the way, a big question appears, a controversial question with many answers: Which is the best programming language?
I will try to give you an impartiality answer based on my years of experience in the dark programming world.
Which is the best?
The answer is simple: Does not exist the best programming language, the languages are complementary between self, it's the right way we have to understand how they work. The C language is the father and the mother of all languages, but anyway, it isn't the best because his speciality is strong in some areas, to do other tasks is very difficult. But union make force, remember it.
The hammer analogy
In the picture, there are some hammers kinds, even though are many, with each hammer, you can do similar activities but each one has a specialty. You can nail a sprig with a ball hammer even if it is not designed for that purpose. The purpose determines which is the right hammer and is the main reason why there are many kinds. In the programming languages happens the same, even though the language description is as a general-purpose language, there are applications can be built very easily with some languages, with others is very hard. Just as you can use several tools together, in the same way we must use the programming languages. There is not a unique language for the big software world, is a better option to use them together like layers of an onion, layer over layer.
Popular languages utility
Learn a little about the most popular and demanded languages today, so you can make a choice:
- The C language: This language is used to build the operating systems, drivers and many things at a low level, close to machine language. Also, many languages are written in C.
- The C++ language: This is the new generation of C language with programming object-oriented support incorporated (POO). This works like C language, also, this is used to build games, network applications, desktop applications and strong tools in the developer process.
- Objetive C: This is C++'s brother that was created by Apple.
- Java: This was the most popular language in a long time. This has a big labor demand. Java is used to teach the OOP introduction in many universities. This has a virtual machine that allows it to be portable y multiplatform. This is used to build web applications, desktop applications, games, mobile applications, network applications, others.
- C#: This is Java's brother that was built by Microsoft, this has the same abilities. Currently is popular thanks to Xamarin, the multi-platform technology, and Xbox, the game console. The majority of Xbox's games, these are built is C# and C++.
- Python: This is the most popular language, Python is easy to learn, powerful and it has clean syntax. It is used for the development of desktop applications, mobile applications with Kivy, web, embedded systems, artificial intelligence, mathematical research, data science, robotics, and internet of things. Python is great.
- PHP: This is the king of the internet, it is easy to learn, the team after PHP seeks to perpetuate it at the top of the web, there is no language that allows the deployment of applications as easy and fast as PHP. It has wonderful things like the Laravel framework and his powerful ecosystem, and Swoole, the extension that gives it superpowers. Swoole is like NodeJS but in PHP, it has incredible performance. Of course, I can't forget WordPress, Shopify, WooCommerce, Magento, OctoberCMS and many more projects.
There are other new languages: Go of Google, Rust of Mozilla, the R language and Swift of Apple.
Image taken from Eetimes.
The things you like
I advise is that you set your goal, establish what you want to create to select the language with the highest affinity, try those that call your attention and deepen with one, but only one, when you master it you can try to learn another.
All languages are great