Site Overlay

Choosing programming language: a beginner’s guide

There are several hundred programming languages out there, and that’s not counting those designed for fun, like the crazy Brainfuck. How to choose the right language for a start among all this diversity? Let’s try to figure it out.

Factors that influence popularity

As we know, various factors influence the popularity of a language. Here are some examples:

  • Lua, the language in which the Angry Birds game was written, lost the love of developers due to the fact that the number of Lua programmers was many times higher than the market demand.
  • Objective-C made it to the top 3 worst languages ​​according to the 2019 Stack Overflow survey. It was used in development for OS X and iOS until Apple introduced the friendlier Swift in 2014.
  • Erlang is gradually losing popularity in the market, as the need for it is limited by the needs of the telecommunications industry.

So what should you choose?

First of all, you should not choose the language, but the area in which you are going to build a career. Games, web development, mobile app development, working with big data – each area requires a specific set of languages. Have you decided on a direction? Choose one of the popular languages ​​in the area.

At the same time, it is important to understand that business will not be limited to one programming language. Over time, you will have to master two or three close programming languages ​​that will help you more effectively solve “adult” development problems. 

Beginners often do not pay attention to important factors when choosing a programming language. In order not to regret wasted time, it is important to consider five factors:

  • Easy to learn and use.
  • Vendor.
  • Community.
  • The demand for the language in a particular region.
  • The salaries.

Ease of learning and using

It is an excellent idea to start your acquaintance with programming with simple languages ​​with friendly syntax. Commands in such a language are given in English words, are understandable, and are easy to remember. Thus, the code resembles sentences of text.

In addition, it is important that you like the chosen language visually – this is what you will see most of the day. 

Another important point is the amount of information available about a particular language. If documentation is scarce, learning can become very difficult. 

Vendor

Many languages, libraries, and frameworks are platform and company-specific. Take Swift, for example, which is closely related to Apple and its software products. If Apple suddenly leaves the market, as happened with Nokia, the need for Swift and Objective-C specialists will disappear.

The Java platform was created by Sun Microsystems, which was then acquired by Oracle, which owns the rights to the Java trademark.

Other popular programming languages ​​such as Python and Haskell are platform and vendor agnostic. They will continue to be popular until the use of the appropriate technology diminishes.

Another good example is Ruby, which is powered by Airbnb and is suitable for startups. It has an elegant syntax that allows you to write code quickly and has an active and friendly community.

The choice between “corporate” and “independent” languages ​​depends on your career plans and personal beliefs.

Community support level

In the process of learning a language, you will have questions. Therefore, it is essential to find out in advance how open the developer community is to communication.

Such languages as Ruby, Python, and JavaScript have a positive and very friendly community: they will always answer and help, meetups are held regularly, and Telegram is full of specialized channels for every taste.

For adepts of older languages, there is sometimes a certain arrogance and sarcasm, which make it difficult for a beginner to go. Therefore, before becoming a part of the community, we recommend trying it on yourself. Read and observe: a spiritually appropriate environment will support and motivate you as you learn.

Here are several popular platforms for programmers:

  • StackOverflow is the most famous platform where any developer can ask a question, and the best answers go up by voting. There is a Russian version.
  • GitHub is a platform for sharing code.
  • In the English-speaking community, the Hacker News platform, made by Y Combinator, is also popular.

The demand for the language in a specific region

In most cases, a novice programmer learns the language in order to get a good job. At the same time, different languages ​​are in demand in different regions: here is a good article that compares the popularity of languages ​​in different cities of the United States.

If there are no plans to move, it is important to study the market needs for your location. 

Salary level

The shortage of personnel in the IT field forces companies to compete for specialists in all possible ways, including enticing them with impressive salaries. However, it is better to inquire in advance about the amount of remuneration for specialists who operate a particular language.