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.

The languages

There are compiled and interpreted languages, generally, the compiled languages are of low and middle level, examples: C/C++, Java, C#, Go-lang. The interpreted languages are of high level, examples: Javascript, Python, PHP. From both groups arise the big battle, each group say to have the best programming language, who have the reason?

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 debate

Some developers of compiled languages ​​don't like languages like Python, Javascript, and PHP, because of their typing, security, and performance. They say: A variable can be a string, a number or an object at the same time; in the interpreted language this is called dynamic typing. If we look for arguments, we can find many, is better to observe the theme since a different point of view. Consider the utility of the tool and which things we like, so, we will choose the right language of programming. 

The hammer analogy

The hammers analogy

The hammers 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.
  • Javascript: Javascript and Python are the most popular languages. It is used for the development of desktop applications with Electron, mobile with React Native and others, web (backend with NodeJs and frontend with VueJs, Angular, React), artificial intelligence, robotics and internet of things. Javascript is one of the most powerful languages thanks to the V8 engine of the Chromium browser.
  • 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. 

Example of usability by language

Example of usability by language

Image taken from Eetimes.

The things you like

All languages ​​are good, in any of the aforementioned you will find a lot to do, but the main theme is how comfortable and fun you think, as I said before, framed in a goal. Personally I use Python, PHP and Javascript, I feel that they are languages ​​for fast, powerful developments and they are useful for everything. Another language that I consider attractive is C ++, its modern versions have greatly changed the way programs are developed. Another highly recommended Java, but remember to use the OpenJDK for licensing.

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

It is not about saying that there is a better or worse language, it is about which language you like, you have fun and with which you can achieve your goals. We can use languages ​​together, like the classic case of PHP and Javascript, so that they work in layers: Applications, microservices, desktop clients, web services/API. Finally, I must mention that we must never speak ill of a technology that we do not know in-depth, very surely your criticism is based on lack of knowledge. I will write specific articles on the wonderful things about Python, PHP, and Javascript later and in detail, don't miss them.

Omar Barbosa
Computer engineer, web developer with Python, PHP and Javacript
Share

Share this article in the social networks

Location

Bucaramanga - Santader
Colombia

Social networks

About

Computer engineer, web developer with Python, PHP and Javacript .