Which programming language should you learn most in 2017?
Many developers regularly review their skill trees and career choices. Nowadays, there are many sources of "Best Programming Language" selection data. Does this provide us with a reference?
Foreigners like to do research the most. Let’s take a look at the Stack Overflow Developer Survey. More than 56,000 developers from 173 countries participated at the end of 2016. According to a survey released by Stack Overflow, the
most commonly used technical language:
JavaScript — 55.4%
SQL — 49.1%
Java — 36.3%
#C# — 30.9%
PHP — 25.9%
Python — 24.9%
C++ — 19.4%
AngularJS — 17.9% (JavaScript framework)
Node.js — 17.2% (server-side JavaScript)
C — 15.5%
Developers’ favorite languages are:
Rust — 79.1%
Swift — 72.1%
#F# — 70.7%
Scala — 69.4%
Go — 68.7%
Clojure — 66.7%
React — 66.0%
Haskell — 64.7%
Python — 62.5%
C# — 62.0%
The language developers fear the most:
Visual Basic — 79.5%
WordPress — 74.3%
Matlab — 72.8%
Sharepoint — 72.1%
CoffeeScript — 71.0%
LAMP — 68.7% (Linux, Apache, MySQL, PHP )
Cordova — 66.9%
Salesforce — 65.4%
Perl — 61.3%
SQL — 60.3%
Technology directions that developers are interested in learning:
Android — 15.8%
Node.js — 14.8%
AngularJS — 13.4%
Python — 13.3%
JavaScript — 11.9%
React — 9.2%
Swift — 8.7%
#MongoDB — 8.1%
Arduino / Raspberry Pi — 8.0%
C++ — 8.0%
Most frequently asked, discussed, and voted on technology directions on Stack Overflow:
JavaScript — 16.6%
Java — 14.7%
Android — 11.5%
Python — 11.4%
#C# — 11.1%
PHP — 8.6%
jQuery — 6.7%
C++ — 6.6%
HTML — 6.6%
iOS — 6.3%
PYPL (Popular Programming Language Index) Frequency of searches for programming language-related tutorials:
Java — 23.1%
Python — 14.4%
PHP — 9.7%
#C# — 8.4%
JavaScript — 7.7%
C — 7.1%
C++ — 7.0%
Objective—C — 4.4%
R — 3.4%
Swift — 3.0%
TIOBE Index The best programming languages based on search engine data:
Java — 17.3%
C — 9.3%
C++ — 6.3%
C# — 4.0%
Python — 3.5%
VisualBasic.NET — 3.0%
JavaScript — 2.9%
Perl — 2.7%
Assembly Language — 2.7%
PHP — 2.6%
The fastest rising language in 2016 was the Go language, rising from no one on the list to 13th (2.3%). Although Java occupies the top spot with a gap nearly twice that of C language, it still dropped 4.19% in 2016.
What does the survey tell us?
In fact, nothing.
The data results look interesting, but they are always contradictory, and the methods of data collection are always limited:
Search engine data is more useful for older, more problematic languages and more popular ones. Broader languages are more beneficial
Online surveys will be limited by special audiences. Most of Stack Overflow's developers are relatively more proficient programmers, and it is easier to ask questions in popular languages and frameworks.
Historical usage patterns are less and less reflective of future trends. Node.js did not exist ten years ago. Twenty years ago, Perl and C were still the most commonly used language choices for server-side development.
For example, Java ranks higher than PHP in all survey rankings, but Java is usually used in teaching and developing control threads, desktop and native Android applications. While PHP is used in 82.4% of web servers, Java is used in only 2.7%.
Beyond Data, Advice from Other Programmers
Many "Best Programming Languages" articles attract a lot of attention and comments, and everyone has their own the opinion of. However, no developer has experience in every language (although there are people who know multiple languages).
Everyone’s choices are biased. People tend to side with the language they are using, otherwise they themselves have to make changes.
Other people's development experience is very useful information, but maybe you don't have the same needs as him, or his set of experience is not applicable to you.
There is no "best language"
If you learn to drive, this skill can be used to drive a bus, truck, or tractor :) Similar , computer language is actually the application of input, output, variables, loops, conditions and functions. Once you have learned the basics of a language, it will be easy to learn another language. The biggest difference is just the change in grammar.
Are you asking the right question?
Those experienced developers know their situation well. They know the gaps between their skills:
If you spend a long time manually manipulating form data, then Invest in learning the macro language;
If you develop a web page but are not satisfied with its layout, it is obvious that improving your CSS knowledge is your next step;
If You are developing a server application that needs to store data. Learning SQL will be a reasonable choice; It's like: What should I wear? Without knowing your age, gender, body type, tastes, preferences, country, local weather, customs, occasions... no one can give the answer.
If you want to get advice on learning a language, ask a few questions:
- Do you love programming?
- #What problem do you want to solve?
- #What hardware and systems are available to you?
- #How much time and learning opportunities will you devote to this language?
Although the suggestions given may not necessarily apply to your situation, here are some tips. For programming learners:
1. If you spend most of your time doing front-end, try some back-end stuff. Choose the one that interests you among PHP, Node.js, and Ruby, and then add SQL to your skill tree;
2. If you are a back-end developer, learn HTML, CSS, and JavaScript. Browser interfaces and data forms such as JSON are helpful.
3. The framework is not the essence, the learning of basic language is. No matter what trend is blowing in the circle or what tools are popular, knowledge is priceless.
4. Even if you don’t plan to become a full stack, at least know and master a few more languages. This can help you understand the work of others, which is very helpful for projects and teams.
5. Best of luck, stop procrastinating and stop worrying about which language you should learn: Just start coding!
Related recommendations:
If you are new to web development, which one should you learn, php, python or ruby?
Hot AI Tools

Undresser.AI Undress
AI-powered app for creating realistic nude photos

AI Clothes Remover
Online AI tool for removing clothes from photos.

Undress AI Tool
Undress images for free

Clothoff.io
AI clothes remover

AI Hentai Generator
Generate AI Hentai for free.

Hot Article

Hot Tools

Notepad++7.3.1
Easy-to-use and free code editor

SublimeText3 Chinese version
Chinese version, very easy to use

Zend Studio 13.0.1
Powerful PHP integrated development environment

Dreamweaver CS6
Visual web development tools

SublimeText3 Mac version
God-level code editing software (SublimeText3)

Hot Topics



With the development of the Internet, the demand for dynamic web pages is increasing. As a mainstream programming language, PHP is widely used in web development. So, for beginners, how to learn PHP development? 1. Understand the basic knowledge of PHP. PHP is a scripting language that can be directly embedded in HTML code and parsed and run through a web server. Therefore, before learning PHP, you can first understand the basics of front-end technologies such as HTML, CSS, and JavaScript to better understand the operation of PHP.

PHP study notes: Web crawler and data collection Introduction: A web crawler is a tool that automatically crawls data from the Internet. It can simulate human behavior, browse web pages and collect the required data. As a popular server-side scripting language, PHP also plays an important role in the field of web crawlers and data collection. This article will explain how to write a web crawler using PHP and provide practical code examples. 1. Basic principles of web crawlers The basic principles of web crawlers are to send HTTP requests, receive and parse the H response of the server.

PHP study notes: Modular development and code reuse Introduction: In software development, modular development and code reuse are very important concepts. Modular development can decompose complex systems into manageable small modules, improving development efficiency and code maintainability; while code reuse can reduce redundant code and improve code reusability. In PHP development, we can achieve modular development and code reuse through some technical means. This article will introduce some commonly used technologies and specific code examples to help readers better understand and apply these concepts.

PHP study notes: Performance analysis and tuning Introduction: In web development, performance is a very critical factor. A high-performance website can provide a better user experience, improve user retention, and increase business revenue. In PHP development, performance optimization is a common and important issue. This article will introduce performance analysis and tuning methods in PHP, and provide specific code examples to help readers better understand and apply these techniques. 1. Performance analysis tool Xdebug extension Xdebug is a powerful P

What is the best way to learn PHP in 2023? With the rapid development of the Internet, computer programming has become a skill with extremely high employment prospects. Among many programming languages, PHP is a language that is widely used in network development. If you want to learn PHP, it's important to know the best way to learn it. PHP is an open source, server-side scripting language used to develop dynamic websites and applications. Compared to other languages, PHP has a lower learning curve and a wide range of applications, making it an ideal choice for beginners.

Learn video special effects and filter processing function methods in PHP. PHP is a powerful programming language that is widely used in the field of web development. With the development of website design, video special effects and filter processing are becoming more and more popular. This article will introduce how to use PHP to implement video special effects and filter processing, as well as some commonly used function methods. 1. Install the ffmpeg extension. To process videos, we need to install the ffmpeg extension. Through this extension, we can directly call the ffmpeg command in PHP for video processing. Installation process

PHP study notes: Overview of front-end and back-end separation and API design: With the continuous development of the Internet and the increasing user needs, the development model of front-end and back-end separation has attracted more and more attention from developers. Front-end and back-end separation refers to separating the development of the front-end and the back-end, and conducting data interaction through APIs to achieve development efficiency and flexibility. This article will introduce the concept of front-end and back-end separation, and how to design an API. The concept of front-end and back-end separation: The traditional Web development model is front-end and back-end coupling, that is, the development of front-end and back-end is carried out in the same project.

PHP study notes: Form processing and data validation In web development, forms are one of the important components for users to interact with the website. When users fill out forms and submit data on the website, the website needs to process and verify the submitted data to ensure the accuracy and security of the data. This article will introduce how to use PHP to process forms and perform data validation, and provide specific code examples. Form submission and data preprocessing In HTML, we need to use the <form> tag to create a form and specify the form